• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Cpper
            C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿
            本著簡單,易用的設計原則
            我給蓋莫引擎加入了一個簡單的插件系統
            插件基類如下:
            class Plugin : public virtual RefCount 
            {
            public:
                
            virtual ~Plugin(){}
                
            virtual PLUGIN_FORMAT GetFormat()const  = 0;
                
            virtual engine_string GetMaker()const = 0;
                
            virtual engine_string GetDescription()const = 0;
                
            virtual void  GetVersion(int &main,int &sub,int &pitch) = 0;
            private:    
                
            virtual bool Init(void* data) = 0;
                
            virtual void Deinit(void* data) = 0;
                friend 
            class PluginFactory;
            };

            可以看出基本的插件方法有獲取插件格式,插件作者,插件描述,插件版本等
            下面的是簡單的插件工廠
            ////////////////////////////////////////////////////////////
            /// 定義引擎插件工廠(管理器)
            ////////////////////////////////////////////////////////////
            class GAPI PluginFactory : public Singleton<PluginFactory>
            {
            public:
                
            bool RegisterPlugin(Plugin* plugin);
                
            void UnRegisterPlugin(Plugin* plugin);
            };
            這是一個簡單的單件
            它只有2個函數注冊和反注冊插件
            使用的時候只要獲取插件指針
            然后傳入插件工廠注冊之后即可使用
            (注冊的本質就是根據插件類型設置必要的插件上下文數據)

            這種插件方法有它的弊端 不過在我看來最大的好處就是簡單咯

            下面是簡單的視頻播放插件咯
            ////////////////////////////////////////////////////////////
            /// 定義引擎視頻播放器(全局唯一)
            ////////////////////////////////////////////////////////////
            class VideoPlayer : public Plugin
            {
            public
                
            ///////////////////////////////////////////////////////
                
            /// 構造,析構視頻播放器
                
            ///////////////////////////////////////////////////////
                VideoPlayer(){}
                
            virtual ~VideoPlayer(){}
                   
            ///////////////////////////////////////////////////////
                
            /// 播放指定視頻
                
            ///////////////////////////////////////////////////////
                virtual bool Play(const engine_string& video) = 0
                
                
            ///////////////////////////////////////////////////////
                
            /// 視頻更新每幀調用 
                
            ///////////////////////////////////////////////////////    
                virtual bool Update() = 0
                
                
            ///////////////////////////////////////////////////////
                
            /// 停止并卸載視頻
                
            ///////////////////////////////////////////////////////
                virtual void Stop() = 0
                
                
            ///////////////////////////////////////////////////////
                
            /// 獲取,設置視頻當前音量(0-1)
                
            ///////////////////////////////////////////////////////    
                virtual float GetVolume()const = 0
                
            virtual void  SetVolume(float volume) = 0;
            };

            posted on 2010-06-23 14:10 ccsdu2009 閱讀(1563) 評論(0)  編輯 收藏 引用 所屬分類: Game引擎
             
            精品无码久久久久国产| 久久强奷乱码老熟女| 精品国产乱码久久久久久呢| 久久婷婷色综合一区二区| 国产产无码乱码精品久久鸭 | 2021最新久久久视精品爱| 一本久久a久久精品vr综合| 国内精品久久九九国产精品| 无码任你躁久久久久久老妇| 久久精品国产亚洲精品2020| 精品久久久久中文字| 久久精品国产亚洲αv忘忧草| 狠狠狠色丁香婷婷综合久久五月 | 91精品国产9l久久久久| 久久精品国产亚洲AV不卡| 伊人久久精品无码二区麻豆| 伊人丁香狠狠色综合久久| 奇米影视7777久久精品人人爽| 日本免费一区二区久久人人澡| 久久久久亚洲AV片无码下载蜜桃| 青草影院天堂男人久久| 麻豆成人久久精品二区三区免费| 青春久久| 日本精品久久久久久久久免费| AV无码久久久久不卡网站下载| 欧美一区二区久久精品| 久久久久无码国产精品不卡| 久久伊人精品青青草原高清| 久久久久久精品久久久久| 深夜久久AAAAA级毛片免费看| 国产综合免费精品久久久| 久久99国产精品久久99果冻传媒 | 久久久久青草线蕉综合超碰| 伊人久久精品线影院| 99久久精品国产综合一区| 久久综合精品国产二区无码| 久久精品国产男包| 国产精品久久久久久久人人看| 久久精品成人| 人人妻久久人人澡人人爽人人精品| 久久精品无码一区二区三区日韩|