• <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引擎
             
            久久水蜜桃亚洲av无码精品麻豆| 国产精品一区二区久久精品无码| 日批日出水久久亚洲精品tv| 色婷婷狠狠久久综合五月| 午夜精品久久久久久影视777| 精品国产乱码久久久久久呢 | 国内精品伊人久久久久妇| 久久人人爽人人人人爽AV| 麻豆精品久久精品色综合| 久久久久久久波多野结衣高潮| 国产综合久久久久久鬼色| 伊人色综合久久天天网| 色综合久久综合网观看| 伊人久久精品无码二区麻豆| 国产AⅤ精品一区二区三区久久| 欧美黑人激情性久久| 久久精品无码一区二区三区日韩| 伊人久久精品无码av一区| 久久午夜综合久久| 久久久久四虎国产精品| 久久夜色精品国产欧美乱| 人人妻久久人人澡人人爽人人精品| 国产精品一区二区久久| 人妻无码中文久久久久专区 | 久久亚洲中文字幕精品有坂深雪 | 亚洲国产成人久久一区久久| 久久99精品国产麻豆宅宅| 亚洲AV日韩AV永久无码久久| 精品久久久久久久久免费影院| 国产成人香蕉久久久久| 国产成人99久久亚洲综合精品| 久久不射电影网| 久久精品男人影院| 97精品伊人久久久大香线蕉| 久久精品国产精品国产精品污 | 国产成人久久777777| 久久精品国产精品国产精品污| 97精品久久天干天天天按摩| 国内精品久久久人妻中文字幕| 国产V综合V亚洲欧美久久| 久久不射电影网|