示例#1
0
    public void loadMissionIcons(int whichDungeonLevel, string sceneName)
    {
        missionManager = FindObjectOfType <HubMissionLoader>();

        sceneToLoad = sceneName;
        whatLevel   = whichDungeonLevel;

        int completedAmount = 0;

        for (int i = 0; i < minorBossButtons.Length; i++)
        {
            // Set mission to the first + sequentially going upward mission
            StoryMission mission = missionManager.allStoryMissions[missionManager.dungeonLevelThresholds[whatLevel - 1] - 4 + i];

            // Set the button sprite to whatever the mission sprite is
            minorBossButtons[i].GetComponent <Image>().sprite = mission.missionIcon;

            // Adjusting the star display
            for (int k = 0; k < 14; k++)
            {
                // Accesses image objects and sets them to active depending on the difficulty level
                if (k < mission.difficulty)
                {
                    minorBossButtons[i].GetComponentInChildren <GridLayoutGroup>().transform.GetChild(k).gameObject.SetActive(true);
                }
                else
                {
                    minorBossButtons[i].GetComponentInChildren <GridLayoutGroup>().transform.GetChild(k).gameObject.SetActive(false);
                }
            }

            // if mission already completed, set completed image to active
            if (MiscData.completedMissions.Contains(mission.missionID))
            {
                minorBossButtons[i].GetComponentsInChildren <Image>()[1].enabled = true;
                lockedImageIcons[i].enabled = false;
                minorBossButtons[i].enabled = true;
                completedAmount++;
            }
            else
            {
                minorBossButtons[i].GetComponentsInChildren <Image>()[1].enabled = false;

                if (completedAmount >= i)
                {
                    minorBossButtons[i].GetComponent <Image>().color = Color.white;
                    lockedImageIcons[i].enabled = false;
                    minorBossButtons[i].enabled = true;
                }
                else
                {
                    minorBossButtons[i].GetComponent <Image>().color = Color.grey;
                    lockedImageIcons[i].enabled = true;
                    minorBossButtons[i].enabled = false;
                }
            }

            // Set the title to the name of the boss
            minorBossButtons[i].GetComponentInChildren <Text>().text = mission.bossName;
        }

        StoryMission bossMission = missionManager.allStoryMissions[missionManager.dungeonLevelThresholds[whatLevel - 1] - 1];

        finalBossButton.GetComponent <Image>().sprite = bossMission.missionIcon;
        for (int i = 0; i < 14; i++)
        {
            if (i < bossMission.difficulty)
            {
                finalBossButton.GetComponentInChildren <GridLayoutGroup>().transform.GetChild(i).gameObject.SetActive(true);
            }
            else
            {
                finalBossButton.GetComponentInChildren <GridLayoutGroup>().transform.GetChild(i).gameObject.SetActive(false);
            }
        }

        if (MiscData.completedMissions.Contains(bossMission.missionID))
        {
            finalBossButton.GetComponentsInChildren <Image>()[1].enabled = true;
            lockedImageIcons[3].enabled = false;
        }
        else
        {
            finalBossButton.GetComponentsInChildren <Image>()[1].enabled = false;

            // If all previous three boss quests are complete, allow the player to challenge the final boss of the level
            if (completedAmount >= 3)
            {
                lockedImageIcons[3].enabled = false;
                finalBossButton.GetComponent <Image>().color = Color.white;
            }
            else
            {
                lockedImageIcons[3].enabled = true;
                finalBossButton.GetComponent <Image>().color = Color.grey;
                finalBossButton.enabled = false;
            }
        }


        finalBossButton.GetComponentInChildren <Text>().text = bossMission.bossName;
    }
示例#2
0
 private void Start()
 {
     missionManager = FindObjectOfType <HubMissionLoader>();
 }