void OnEnable()
    {
        gameOver            = false;
        currentObstacleList = new List <Obstacle>();
        tempIntList         = new List <int>();
        if (roleCamera != null)
        {
            roleCamera.gameObject.SetActive(true);
        }
        Invoke("StartSpawnWaves", 1f);
        Invoke("ShowUI", 1f);
        if (enemyController != null)
        {
            enemyController.gameObject.SetActive(true);
            enemyController.meshObject.SetActive(true);
            enemyController.life      = 3;
            enemyController.isFlicker = false;
            ShowEnemyLife(enemyController.life);
//			enemyController.SetFireAnimator();
        }
        if (playerController != null)
        {
            playerController.gameObject.SetActive(true);
            playerController.life      = 3;
            playerController.isFlicker = false;
            playerController.SetAnimator();
            playerController.SetDefaultPosition();
        }
    }
    public void Initialization()
    {
//		iTween.CameraFadeAdd();
//		iTween.CameraFadeTo(iTween.Hash("amount", 0f, "time", 1.0f, "delay", 0.0f));
        Invoke("SetControl", 1f);
        if (combatFlightController == null)
        {
            combatFlightController = transform.GetComponentInChildren <Flight_CombatFlightController>();
        }
        if (destroyByBoundary == null)
        {
            destroyByBoundary = transform.GetComponentInChildren <Flight_DestroyByBoundary>();
        }

        if (Flight_StageController.Instance != null)
        {
            GameObject go = Flight_StageController.Instance.instantiatePlayerObject;
            go.transform.parent        = combatFlightController.transform;
            go.transform.localPosition = roleMeshPositon;
            go.transform.localRotation = Quaternion.identity;
            go.transform.localScale    = Vector3.one;
            if (go.activeSelf.Equals(false))
            {
                go.SetActive(true);
            }
            combatFlightController.playerObject = go;
        }

        combatFlightController.combatFlight = this;
        combatFlightController.ResetDefault();

        if (destroyByBoundary != null)
        {
            destroyByBoundary.dodgeCount = 0;
        }

        if (terrainCamera != null)
        {
            terrainCamera.transform.localPosition    = terrainCameraPos;
            terrainCamera.transform.localEulerAngles = terrainCameraRot;
            terrainCamera.SetActive(true);
        }
        if (roleCamera != null)
        {
            roleCamera.transform.localPosition    = roleCameraPos;
            roleCamera.transform.localEulerAngles = roleCameraRot;
            roleCamera.gameObject.SetActive(false);
        }
        combatFlightController.SetAnimator();
        combatFlightController.SetDefaultPosition();

        roleCamera.gameObject.SetActive(true);
        if (enemyController != null)
        {
            enemyController.SetDefault();
        }

        if (PlayerManager.Instance.GetCharCounterData().GetFlag(4))
        {
            Flight_CombatFlightAudio combatFlightAudio = transform.GetComponent <Flight_CombatFlightAudio>();
            if (combatFlightAudio != null)
            {
                combatFlightAudio.PlayCombatFlightAudio(1);
            }
        }
        else
        {
            if (Flight_AudioManager.Instance != null)
            {
                Flight_AudioManager.Instance.ChangeAudioStep(AudioStep.Yindaoyu37);
            }
        }
    }