예제 #1
0
        public void LoadMapState()
        {
            GameStateHandler gameStateHandler = GameControllerScript.GetInstance().GetComponent <GameStateHandler>();
            WorldMapNode     currentNode      = nodes[gameStateHandler.GetCurrentNode()];

            if (currentNode != null)
            {
                GameObject player = GameObject.FindGameObjectWithTag("WorldMapPlayer");
                player.transform.position = currentNode.transform.position;
            }

            // Enable/Disable edges
            if (gameStateHandler.GetBossDefeated(EnemyType.Dummy, 2))
            {
                edges[0].SetCanCross(true);
                edges[0].gameObject.SetActive(true);
                edges[1].SetCanCross(true);
                edges[1].gameObject.SetActive(true);
                edges[2].SetCanCross(true);
                edges[2].gameObject.SetActive(true);
            }
            else
            {
                edges[0].SetCanCross(false);
                edges[0].gameObject.SetActive(false);
                edges[1].SetCanCross(false);
                edges[1].gameObject.SetActive(false);
                edges[2].SetCanCross(false);
                edges[2].gameObject.SetActive(false);
            }
            if (gameStateHandler.GetBossDefeated(EnemyType.Vampire, 1) &&
                gameStateHandler.GetBossDefeated(EnemyType.Psychic, 1))
            {
                edges[3].SetCanCross(true);
                edges[3].gameObject.SetActive(true);
                edges[4].SetCanCross(true);
                edges[4].gameObject.SetActive(true);
                edges[5].SetCanCross(true);
                edges[5].gameObject.SetActive(true);
            }
            else
            {
                edges[3].SetCanCross(false);
                edges[3].gameObject.SetActive(false);
                edges[4].SetCanCross(false);
                edges[4].gameObject.SetActive(false);
                edges[5].SetCanCross(false);
                edges[5].gameObject.SetActive(false);
            }
            if (gameStateHandler.GetBossDefeated(EnemyType.Vampire, 2))
            {
                edges[6].SetCanCross(true);
                edges[6].gameObject.SetActive(true);
            }
            else
            {
                edges[6].SetCanCross(false);
                edges[6].gameObject.SetActive(false);
            }
            if (gameStateHandler.GetBossDefeated(EnemyType.Psychic, 2))
            {
                edges[7].SetCanCross(true);
                edges[7].gameObject.SetActive(true);
                edges[8].SetCanCross(true);
                edges[8].gameObject.SetActive(true);
            }
            else
            {
                edges[7].SetCanCross(false);
                edges[7].gameObject.SetActive(false);
                edges[8].SetCanCross(false);
                edges[8].gameObject.SetActive(false);
            }
            if (gameStateHandler.GetBossDefeated(EnemyType.Vampire, 3) &&
                gameStateHandler.GetBossDefeated(EnemyType.Psychic, 3))
            {
                edges[9].SetCanCross(true);
                edges[9].gameObject.SetActive(true);
                edges[10].SetCanCross(true);
                edges[10].gameObject.SetActive(true);
                edges[11].SetCanCross(true);
                edges[11].gameObject.SetActive(true);
            }
            else
            {
                edges[9].SetCanCross(false);
                edges[9].gameObject.SetActive(false);
                edges[10].SetCanCross(false);
                edges[10].gameObject.SetActive(false);
                edges[11].SetCanCross(false);
                edges[11].gameObject.SetActive(false);
            }
        }