示例#1
0
        public void initMazeRoomCount(int count_)
        {
            m_mazeRoomList.Clear();
            m_itemCount = count_;
            MazeRoom mazeRoom = null;
            string   path     = "";

            for (int idx = 0; idx < m_itemCount; ++idx)
            {
                if (Ctx.m_instance.m_maze.mazeData.bInFisrstScene())
                {
                    mazeRoom = new MazeRoom(idx);
                }
                else
                {
                    mazeRoom = new MazeRoomSecond(idx);
                }
                m_mazeRoomList.Add(mazeRoom);
                path            = string.Format("RootGo/Plane_{0}", idx);
                mazeRoom.selfGo = UtilApi.GoFindChildByPObjAndName(path);
                if (0 != idx && 4 != idx)
                {
                    mazeRoom.mazeIOControl.enableDrag();
                }
                mazeRoom.init();
            }

            path    = "RootGo/SplitGo";
            m_trans = UtilApi.GoFindChildByPObjAndName(path).transform;

            adjustInitState();
        }
示例#2
0
        // 移动结束回调
        protected void onMoveEndHandle(NumAniSeqBase dispObj)
        {
            if (m_ptList.Count() > 0 && !m_bDiePt)  // 说明还有 WayPoint 可以走
            {
                MazePtBase pt = m_ptList[0];
                m_ptList.RemoveAt(0);
                pt.moveToDestPos(m_mazePlayer);
            }
            else    // 如果运行到终点位置
            {
                m_ptList.Clear();

                if (m_BDiedPlayEffect)
                {
                    playDieAniAndSound();
                }

                //bool bChangeScene = false;
                if (!m_bBombPt && !m_bDiePt)     // 如果胜利
                {
                    //Ctx.m_instance.m_maze.mazeData.mazeScene.show();
                    //bChangeScene = true;

                    if (Ctx.m_instance.m_maze.mazeData.curSceneIdx == (int)eSceneIndex.eSecond)
                    {
                        Ctx.m_instance.m_maze.mazeData.roomInfo.showLightWin();
                        Ctx.m_instance.m_maze.mazeData.mazePlayer.hide();
                    }
                    else
                    {
                        Ctx.m_instance.m_maze.mazeData.mazeScene.showStar();
                    }
                }
                m_bBombPt         = false;
                m_bDiePt          = false;
                m_BDiedPlayEffect = false;
                Ctx.m_instance.m_uiMgr.loadAndShow(UIFormID.eUIMaze);

                UIMaze uiMaze = Ctx.m_instance.m_uiMgr.getForm(UIFormID.eUIMaze) as UIMaze;
                if (uiMaze != null)
                {
                    uiMaze.toggleResetBtn(true);
                }

                string path = "";
                path = Path.Combine(Ctx.m_instance.m_cfg.m_pathLst[(int)ResPathType.ePathAudio], "Ground.mp3");
                Ctx.m_instance.m_soundMgr.stop(path);
                path = Path.Combine(Ctx.m_instance.m_cfg.m_pathLst[(int)ResPathType.ePathAudio], "GameOver.mp3");
                Ctx.m_instance.m_soundMgr.play(path, false);

                //if(bChangeScene)
                //{
                //    if (Ctx.m_instance.m_maze.mazeData.curSceneIdx == (int)eSceneIndex.eFirst)
                //    {
                //        Ctx.m_instance.m_maze.mazeData.mazeScene.loadSecondScene();
                //    }
                //}
            }
        }
示例#3
0
 public void clearEventHandle()
 {
     if (bInDepth())
     {
         foreach (var item in m_handleList.list)
         {
             delObject(item);
         }
     }
     else
     {
         m_handleList.Clear();
     }
 }
示例#4
0
        public override void dispose()
        {
            if (m_frameEffect != null)
            {
                //m_frameEffect.dispose();
                m_frameEffect = null;
            }

            if (m_skillAttPrepareEffect != null)
            {
                m_skillAttPrepareEffect = null;
            }

            m_stateEffectList.Clear();

            foreach (var effect in m_linkEffectList.list)
            {
                effect.dispose();
            }
            m_linkEffectList.Clear();

            base.dispose();
        }