//--------------------------------------------------------------------- public void destroy() { if (mLevel != null) { mLevel.destroy(); mLevel = null; } foreach (var i in mMapPlayerTurret) { i.Value.Dispose(); } mMapPlayerTurret.Clear(); if (mSceneBox != null) { mSceneBox = null; } if (mProtocol != null) { mProtocol.Dispose(); mProtocol = null; } if (mColliderMgr != null) { mColliderMgr.destroy(); mColliderMgr = null; } }
//--------------------------------------------------------------------- public void create(int default_level_vibid, float level_rate, bool single, bool fish_mustdie, ILogicListener listener, float pumping_rate, List <int> list_turret_rate, List <JsonPacket> json_packet_list, List <RouteJsonPacket> route_json_packet_list) { mProtocol = new CLogicProtocol(this); mSceneBox = new CSceneBox(); mListener = listener; mbSingle = single; mfPumpingRate = pumping_rate; mbFishMustDie = fish_mustdie; mListTurretRate = list_turret_rate; // 初始化关卡 if (default_level_vibid != -1) { mLevel = new CLogicLevel(this); mLevel.create(default_level_vibid, level_rate, json_packet_list, route_json_packet_list); } // 初始化特效管理器 mEffectMgr = new CEffectMgr(); mEffectMgr.regEffectFactory(new EffectSpreadFishFactory()); mEffectMgr.regEffectFactory(new EffectTimeStopFactory()); mEffectMgr.regEffectFactory(new LogicEffectLightingChainFactory()); mEffectMgr.regEffectFactory(new LogicEffectFullScreenBombFactory()); mEffectMgr.regEffectFactory(new LogicEffectAOEFactory()); mColliderMgr = new TagColliderMgr(); }
//------------------------------------------------------------------------- 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(); }
//------------------------------------------------------------------------- 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); }