示例#1
0
    void WaveClear()
    {
        WAVE_STATE eStae = WAVE_STATE.WAVE_NONE;

        m_EnemyMangaer.WaveClear(ref eStae);
        switch (eStae)
        {
        case WAVE_STATE.WAVE_CLEAR:
            m_EnemyMangaer.TrSetting(m_PlayerManager.GetCharTR());
            m_EnemyMangaer.ActiveWave();
            break;

        case WAVE_STATE.WAVE_END:
            /*
             * 현재는 바로 이전 화면으로 로딩해주지만 아래와 같은 것이 필요
             * 스테이지를 클리어하였기에 경험치와 아이템들을 정산해줘야 하며
             * 캐릭터의 스테이터스 등을 상승시켜줄 필요가있다.
             */
            Time.timeScale = 0.0f;
            m_ResultPanel.gameObject.SetActive(true);
            CancelInvoke("WaveClear");
            //결과창을띄워준다.
            break;
        }
    }
示例#2
0
    void Start()
    {
        m_CallBack = Camera.main.GetComponent <FollowCam>().CameraSet;              //카메라 셋팅 콜백

        string strStage = Util.ConvertToString(GameManager.instance.ReturnStage()); //첫시작
        string strFile  = "Excel/StageExcel/" + strStage + "/Map_Object";           //해당스테이지의 맵 Info
        List <Dictionary <string, object> > Info = EXCEL.ExcelLoad.Read(strFile);

        strFile = "Excel/Table/Stage_Table";   //전체 맵의 table 데이터
        List <Dictionary <string, object> > Table = EXCEL.ExcelLoad.Read(strFile);

        strFile = "Excel/StageExcel/" + strStage + "/Event_Pos";   //해당 맵의 시작 등의 좌표
        List <Dictionary <string, object> > Pos = EXCEL.ExcelLoad.Read(strFile);

        m_MapManager = new MapManager(m_arrObject[(int)OBJECT_INDEX.OBJECT_BACKGROUND].transform, Info, Table, Pos);
        //배경 오브젝트 설정
        m_arrObject[(int)OBJECT_INDEX.OBJECT_BACKGROUND].GetComponent <NavMeshSurface>().BuildNavMesh();
        //네비메쉬 서페이스로 런타임 베이크

        m_PlayerManager = new PlayerManager(m_arrObject[(int)OBJECT_INDEX.OBJECT_PLAYER].transform, m_arrObject[(int)OBJECT_INDEX.OBJECT_PARTICLE].transform);
        //플레이어 셋팅

        strFile        = "Excel/StageExcel/" + strStage + "/Enemy_Pos";
        Pos            = EXCEL.ExcelLoad.Read(strFile);
        strFile        = "Excel/StageExcel/" + strStage + "/Enemy_Info";
        Info           = EXCEL.ExcelLoad.Read(strFile);
        m_EnemyMangaer = new EnemyManager(m_arrObject[(int)OBJECT_INDEX.OBJECT_ENEMY].transform, Pos, Info);
        //에너미 셋팅

        var vecPos = m_MapManager.ReturnEventPos();

        m_PlayerManager.PlayerSet(0, vecPos[0], Quaternion.identity, JumpEnd);  //가장 첫번째 캐릭터와, 포지션 셋팅
        //스타트에서 처음 포지셔닝을 셋팅

        m_CallBack(m_PlayerManager.GetCharTR());               //카메라 콜백 함수 선언
        m_EnemyMangaer.TrSetting(m_PlayerManager.GetCharTR()); //타겟 셋팅
        m_EnemyMangaer.ActiveWave();                           //액티브

        PoolManager.instance.Set(POOL_INDEX.POOL_HP_ITEM.ToString(), "Prefabs/HP", 10);
        PoolManager.instance.Set(POOL_INDEX.POOL_SP_ITEM.ToString(), "Prefabs/SP", 10);

        InvokeRepeating("WaveClear", 2.0f, 1.0f);
        InvokeRepeating("PlayerDie", 2.0f, 1.0f);
    }