UGDK
|
00001 #ifndef MODULE_PROXY_TASK_H_ 00002 #define MODULE_PROXY_ENTITY_H_ 00003 00004 #include <ugdk/action/task.h> 00005 #include <ugdk/script/baseproxy.h> 00006 #include <list> 00007 00008 namespace ugdk { 00009 namespace action { 00010 00011 class TaskProxy; 00012 class TaskProxy : public Task, public ugdk::script::BaseProxy<TaskProxy> { 00013 public: 00014 TaskProxy(const ugdk::script::VirtualObj& proxy) : ugdk::script::BaseProxy<TaskProxy>(proxy) { 00015 /*ugdk::script::VirtualObj vpriori = proxy["priority"]; 00016 if (vpriori) { 00017 priority_ = vpriori.value<int>(); 00018 }*/ 00019 } 00020 00021 virtual void operator()(double dt) { 00022 ugdk::script::VirtualObj vdt = ugdk::script::VirtualObj(proxy_.wrapper()); 00023 vdt.set_value(dt); 00024 std::list<ugdk::script::VirtualObj> args; 00025 args.push_back(vdt); 00026 ugdk::script::VirtualObj ret = proxy_(args); 00027 finished_ = !ret.value<bool>(); 00028 } 00029 }; 00030 00031 } 00032 } 00033 #endif