Beispiel #1
0
    public void EndMission(MissionsEnum missionEnumValue)
    {
        AMission missionLogic = GetMissionLogic(missionEnumValue);

        ObjectiveList.Instance.HideObjectiveList();
        Chaser.ResetChaserCount();

        if (activeMissions.Contains(missionEnumValue))
        {
            activeMissions.Remove(missionEnumValue);

            missionLogic.gameObject.SetActive(false);
            ProgressManager.Instance.UpdateMissionStatus(missionLogic, MissionStatusCode.Closed);

            StampCollectible collectible = GetStampCollectibleFromEnum(missionEnumValue);
            if (collectible != null)
            {
                ProgressManager.Instance.UnlockStampCollectible(collectible);
            }
        }
        else
        {
            Debug.LogError($"Tried to end an invalid mission: {missionEnumValue}");
        }
    }
Beispiel #2
0
    public void UnlockStampCollectible(StampCollectible stamp)
    {
        if (!stampsUnlockStatus.ContainsKey(stamp))
        {
            Debug.LogError("Cannot find stamp collectible from all unlockable stamps");
            return;
        }
        else
        {
            stampsUnlockStatus[stamp] = true;
            numStampsUnlocked++;
            Debug.Log("Unlocked " + stamp.collectibleName);

            if (HasUnlockedAllStamps())
            {
                allStampsUnlocked = true;
            }
        }
    }