コード例 #1
0
    /*
     * private void Awake()
     * {
     *  GameState.OnEndGame += ClearStage;
     * }
     */
    /*
     * void Start ()
     * {
     *  currentTipIndex = startTipIndex - 1;
     *  UpdateStage(preInstantiate);
     * }
     */

    public void Begin()
    {
        // (이어하기가 아닌) 시작 시 씬 전체를 초기화(캐릭터, 스테이지, 장애물, 몬스터, 배경등)
        if (!m_Rerun)
        {
            inGame = true;

            //backGroundGenerator.Begin();
            KeepPosition keepPosition = sideTrigger.GetComponent <KeepPosition>();
            keepPosition.IsGame(true);

            playerController.gameObject.SetActive(true);
            //playerController = Instantiate(playerController);
            //characterSlot = playerController.characterSlot;

            // Spawn the player
            Skin player = Instantiate(SkinDatabase.GetSkin(SkinDatabase.skinNameList[PlayerData.instance.usedSkin]), Vector3.zero, Quaternion.identity);
            player.transform.SetParent(characterSlot, false);
            //Camera.main.transform.SetParent(characterController.transform, true);


            //player.SetupAccesory(PlayerData.instance.usedAccessory);

            if (playerController.character == null)
            {
                playerController.character = player;
            }
            playerController.stageManager = this;
            playerController.Init();
            cameraController.Begin();

            //characterController.Init();
            //characterController.CheatInvincible(invincible);

            //m_CurrentThemeData = ThemeDatabase.GetThemeData(PlayerData.instance.themes[PlayerData.instance.usedTheme]);
            //m_CurrentZone = 0;
            //m_CurrentZoneDistance = 0;

            //skyMeshFilter.sharedMesh = m_CurrentThemeData.skyMesh;
            //RenderSettings.fogColor = m_CurrentThemeData.fogColor;
            //RenderSettings.fog = true;

            gameObject.SetActive(true);

            playerController.gameObject.SetActive(true);

            playerController.Star = 0;
            playerController.Coin = 0;
            //characterController.coins = 0;
            //characterController.premium = 0;

            //m_Score = 0;
            //m_ScoreAccum = 0;

            //m_SafeSegementLeft = k_StartingSafeSegments;

            //Coin.coinPool = new Pooler(currentTheme.collectiblePrefab, k_StartingCoinPoolSize);

            PlayerData.instance.StartRunMissions(this);
            currentTipIndex      = startTipIndex - 1;
            backGCurrentTipIndex = backGStartTipIndex - 1;

#if UNITY_ANALYTICS
            AnalyticsEvent.GameStart(new Dictionary <string, object>
            {
                //{ "theme", m_CurrentThemeData.themeName},
                { "character", player.characterName }
                //{ "accessory",  PlayerData.instance.usedAccessory >= 0 ? player.accessories[PlayerData.instance.usedAccessory].accessoryName : "none"}
            });
#endif
        }

        playerController.Begin();
        //gameObject.SetActive(true);
        UpdateStage(preInstantiate);
        UpdateBackGStage(backGPreInstantiate);
    }