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}"); } }
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; } } }