Ejemplo n.º 1
0
        //-------------------------------------------------------------------------
        public FishParticleMgr(CRenderScene render_scene, CRenderFish fish, int fish_vib_id, ISpriteFish sprite_fish)
        {
            mScene = render_scene;
            mCRenderFish = fish;
            mParticlemanager = mScene.getParticlemanager();
            mISpriteFish = sprite_fish;

            mFishData = EbDataMgr.Instance.getData<TbDataFish>(fish_vib_id);

            //解析鱼带的特效数据并保存下来,等待鱼指定播放特效
            foreach (var it in mFishData.ParticleArray)
            {
                if (null == it.TbDataParticle || it.TbDataParticle.Id <= 0) continue;

                TbDataFish.ParticleProduceTimeEnum time_enum = (TbDataFish.ParticleProduceTimeEnum)it.ParticleProduceTime;
                if (!mDicParticleData.ContainsKey(time_enum))
                {
                    mDicParticleData[time_enum] = new List<TbDataFish.ParticleDataStruct>();
                }
                mDicParticleData[time_enum].Add(it);
            }
        }
Ejemplo n.º 2
0
        //-------------------------------------------------------------------------
        public void destroy()
        {
            destroyLevel();

            destroyAllTurret();

            mParticleTurnplateCallerQueue.Clear();

            if (mEffectMgr != null)
            {
                mEffectMgr.destroy();
                mEffectMgr = null;
            }

            CSpriteFishDieScore.DestroyAll();

            mSceneBox = null;
            mListener = null;

            if (mProtocol != null)
            {
                mProtocol.Dispose();
                mProtocol = null;
            }

            if (mSoundMgr != null)
            {
                mSoundMgr.destroyAllSceneSound();
                mSoundMgr = null;
            }

            if (mRenderObjectPool != null)
            {
                mRenderObjectPool.destroy();
                mRenderObjectPool = null;
            }

            if (mParticlemanager != null)
            {
                mParticlemanager.destroy();
                mParticlemanager = null;
            }

            InputController.Instance.onFingerTouch -= _onFingerTouch;
            InputController.Instance.onFingerLongPress -= _onFingerLongPress;
            InputController.Instance.onFingerUp -= _onFingerUp;
            InputController.Instance.onFingerDragMove -= _onFingerDragMove;
            InputController.Instance.onFingerTouchTurret -= _onFingerTouchTurret;
            InputController.Instance.onFingerTouchBuffer -= _onFingerTouchBuffer;
            InputController.Instance.onFingerTouchFish -= _onFingerTouchFish;
            InputController.Instance.ActiveInput = true;

            _uninstallMemory();
        }
Ejemplo n.º 3
0
        //-------------------------------------------------------------------------
        public void create(uint my_et_player_rpcid, bool single, bool is_bot, IRenderListener listener,
            string configure_filepath, List<JsonPacket> json_packet_list, List<RouteJsonPacket> route_json_packet_list)
        {
            mMyPlayerId = my_et_player_rpcid;
            mbSingle = single;
            mListener = listener;
            mbInit = false;
            mIsBot = is_bot;
            mConfigurePath = configure_filepath;

            InputController.Instance.onFingerTouch += _onFingerTouch;
            InputController.Instance.onFingerLongPress += _onFingerLongPress;
            InputController.Instance.onFingerUp += _onFingerUp;
            InputController.Instance.onFingerDragMove += _onFingerDragMove;
            InputController.Instance.onFingerTouchTurret += _onFingerTouchTurret;
            InputController.Instance.onFingerTouchBuffer += _onFingerTouchBuffer;
            InputController.Instance.onFingerTouchFish += _onFingerTouchFish;

            InputController.Instance.ActiveInput = true;

            CCoordinate.setCoordinate(new EbVector3(Screen.width, Screen.height, 0),
                EbVector3.Zero, new EbVector3(Screen.width, Screen.height, 0));
            mSceneBox = new CSceneBox();
            mProtocol = new CRenderProtocol(this);
            mTurretHelper = new CTurretHelper();
            mLayerAlloter = new RenderLayerAlloter();

            mEffectMgr = new CEffectMgr();
            if (!isBot())
            {
                mEffectMgr.regEffectFactory(new EffectShockScreenFactory());
                mEffectMgr.regEffectFactory(new EffectFrameAnimationFactory());
                mEffectMgr.regEffectFactory(new EffectPlayAudioFactory());
                mEffectMgr.regEffectFactory(new EffectLightingFactory());
                mEffectMgr.regEffectFactory(new EffectLockScreenFactory());
                mEffectMgr.regEffectFactory(new EffectFullScreenFactory());
                mEffectMgr.regEffectFactory(new EffectAOEFactory());
            }
            else
            {
                //mEffectMgr.regEffectFactory(new EffectShockScreenFactory());
                mEffectMgr.regEffectFactory(new EffectFrameAnimationFactory());
                //mEffectMgr.regEffectFactory(new EffectPlayAudioFactory());
                mEffectMgr.regEffectFactory(new EffectLightingFactory());
                mEffectMgr.regEffectFactory(new EffectLockScreenFactory());
                mEffectMgr.regEffectFactory(new EffectFullScreenFactory());
                mEffectMgr.regEffectFactory(new EffectAOEFactory());
            }

            mSpriteFishFactory = new SpriteFishFactory(this);
            mJsonPacketList = json_packet_list;
            mRouteJsonPacketList = route_json_packet_list;

            mRenderConfigure = new RenderConfigure(mConfigurePath);

            mSoundMgr = MbMain.Instance.getSoundMgr();
            mRenderObjectPool = new CRenderObjectPool(this);
            mParticlemanager = new ParticleManager(this);
            mLoadableManager = new LoadableManager();
            mLoadableManager.create(mRenderObjectPool);
        }