Exemple #1
0
        public void InitLevel(int levelId, int heroId)
        {
            // 关卡数据配置
            m_levelCSV = Game.gameCSV.GetData <CSV_Level>(levelId);

            levelInfo  = LevelInfo.Create(m_levelCSV.scene);
            hero       = Hero.Create(heroId);
            monsters   = new List <Monster>();
            heroCamera = Game.gameCamera.heroCamera;

            // 默认区域索引
            areaIndex = 1;

            // 相机初始化
            heroCamera.Initialize();

            // 环境相关
            environment = new LevelEnvironment();
            // 天空盒
            Game.gameCamera.SetSkybox(m_levelCSV.skybox);

            // event
            levelInfo.OnLoadedAreaHandler += OnLoadedAreaHandler;
            levelInfo.OnEnterAreaHandler  += OnEnterAreaHandler;
            levelInfo.OnStayAreaHandler   += OnStayAreaHandler;
            levelInfo.OnExitAreaHandler   += OnExitAreaHandler;

            // init
            levelInfo.InitEnvironment(environment);
        }
Exemple #2
0
    void Start()
    {
        Debug.Log("GameController.Start");

        m_levelEnvironment = m_levelEnvironmentGO.GetComponent <LevelEnvironment>();
        m_levelEntities    = m_levelEntitiesGO.GetComponent <LevelEntities>();
        m_levelEnvAnimator = m_levelEnvironmentGO.GetComponent <Animator>();
        m_score            = m_scoreGO.GetComponent <TextMesh>();
        m_paddleNrText     = m_paddleNrTextGO.GetComponent <TextMesh>();
        m_levelEnvironment.SetLevelNumber(m_levelNumber);
        LoadConfig();
    }
 private void AttachStateManagers()
 {
     StateMgr.AddGameState(currentPlayer);
     FloatingTextMgr = new FloatingTextManager(this);
     StateMgr.AddGameState(FloatingTextMgr);
     LevelEnv = new LevelEnvironment();
     StateMgr.AddGameState(LevelEnv);
     AlertMessageMgr = new AlertMessageManager(this, 0.5f);
     StateMgr.AddGameState(AlertMessageMgr);
     SpectatorActionMgr = new SpectatorActionsManager();
     StateMgr.AddGameState(SpectatorActionMgr);
     ScreenShakingMgr = new ScreenShakingManager(this);
     StateMgr.AddGameState(ScreenShakingMgr);
 }