cocos实现unity组件式
发布时间:2020-12-14 17:16:36 所属栏目:百科 来源:网络整理
导读:用法灵感来源于unity,打算改造cocos class SGComponent{public:virtual void update(float delta){};virtual void onStart(){}virtual void onDestroy(){};virtual void onCreate(){};};class AudioComponent :public SGComponent{public:};class RenderCom
用法灵感来源于unity,打算改造cocos class SGComponent { public: virtual void update(float delta){}; virtual void onStart(){} virtual void onDestroy(){}; virtual void onCreate(){}; }; class AudioComponent :public SGComponent { public: }; class RenderComponent :public SGComponent { public: }; class GameObject { public: template<class T> SGComponent* GetComponent() { return nullptr; }; template<> SGComponent* GetComponent<AudioComponent>() { return this->_audio; }; template<class T>void AddComponent(T * t){}; template<>void AddComponent(RenderComponent *t) { if (_render){} this->_render = t; }; template<>void AddComponent(AudioComponent *t) { if (_audio){} this->_audio = t; }; private: AudioComponent*_audio = nullptr; RenderComponent *_render = nullptr; }; int main(int argc,char *argv[]) { _CrtDumpMemoryLeaks(); GameObject obj; cout << obj.GetComponent<RenderComponent>(); system("pause"); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |