Example #1
0
    void updateData()
    {
        if (save)
        {
            DontDestroyOnLoad(this.gameObject);
            List <GameObject> rootObjects = new List <GameObject>();
            Scene             scene       = SceneManager.GetActiveScene();
            scene.GetRootGameObjects(rootObjects);

            foreach (GameObject go in rootObjects)
            {
                if (go != this.gameObject)
                {
                    go.transform.parent = parentGO.transform;
                }
            }

            GameController.LoadScene("Fight");
        }
        else
        {
            List <GameObject> rootObjects = new List <GameObject>();
            Scene             scene       = SceneManager.GetActiveScene();
            scene.GetRootGameObjects(rootObjects);

            foreach (GameObject go in rootObjects)
            {
                if (go != this.gameObject)
                {
                    Destroy(go);
                }
            }

            List <Transform> tList = new List <Transform>();
            foreach (Transform t in parentGO.transform)
            {
                tList.Add(t);
            }

            foreach (Transform child in tList)
            {
                child.parent = null;
            }

            if (destroyEnemy)
            {
                StarSpawnController ssc = passingGameObject.GetComponent <StarSpawnController>();
                Enemy enemy             = passingGameObject.GetComponent <Enemy>();
                if (ssc != null)
                {
                    ssc.DropStar();
                }

                if (enemy != null)
                {
                    int oldLevel = GameController.player.level;
                    GameController.player.gainExperience(enemy.getExperience());
                    int newLevel = GameController.player.level;

                    if (oldLevel != newLevel)
                    {
                        Feedback levelUp;
                        levelUp.speaker = "";
                        levelUp.text    = "Congratulations, you've reached level " + newLevel + "!";
                        feedbackController.showFeedback(new Feedback[] { levelUp });
                    }
                }
                Destroy(passingGameObject);
            }
            else
            {
                passingGameObject.GetComponent <EnemyMovement>().tempDisableTrigger();
            }
        }
    }