public void HandleMissionLevelDetailViewControllerDidPressPlayButtonPlay(MissionLevelDetailViewController viewController) { Challenge challenge = ((CustomMissionDataSO)viewController.missionNode.missionData).challenge; MissionDataSO missionData = viewController.missionNode.missionData; String failedMods = LoadExternalModifiers(challenge); List <GameplayModifierParamsSO> errorList = new List <GameplayModifierParamsSO>(); if (failedMods.Length > 0) { foreach (string s in failedMods.Split(' ')) { errorList.Add(APITools.CreateModifierParam(Assets.ErrorIcon, "Error - External Mod", "Please install or update the following mod: " + s)); } } if (viewController.missionNode.missionData.beatmapCharacteristic.descriptionLocalizationKey == "ERROR NOT FOUND") { errorList.Add(APITools.CreateModifierParam(Assets.ErrorIcon, "Error - Characteristic Not Found", "Could not find the characteristic \"" + challenge.characteristic + "\" for this map")); } else if (BeatmapLevelDataExtensions.GetDifficultyBeatmap(Loader.BeatmapLevelsModelSO.GetBeatmapLevelIfLoaded((missionData as CustomMissionDataSO).customLevel.levelID).beatmapLevelData, missionData.beatmapCharacteristic, missionData.beatmapDifficulty) == null) { errorList.Add(APITools.CreateModifierParam(Assets.ErrorIcon, "Error - Difficulty Not Found", "Could not find the difficulty \"" + challenge.difficulty.ToString() + "\" for this map")); } else { DifficultyData difficultyData = Collections.RetrieveDifficultyData(BeatmapLevelDataExtensions.GetDifficultyBeatmap(Loader.BeatmapLevelsModelSO.GetBeatmapLevelIfLoaded((missionData as CustomMissionDataSO).customLevel.levelID).beatmapLevelData, missionData.beatmapCharacteristic, missionData.beatmapDifficulty)); foreach (string requirement in difficultyData.additionalDifficultyData._requirements) { if (Collections.capabilities.Contains(requirement) || requirement.StartsWith("Complete Campaign Challenge - ")) { continue; } errorList.Add(APITools.CreateModifierParam(Assets.ErrorIcon, "Error - Missing Level Requirement", "Could not find the capability to play levels with \"" + requirement + "\"")); } } foreach (ChallengeRequirement requirement in challenge.requirements) { if (ChallengeRequirement.GetObjectiveName(requirement.type) == "ERROR") { errorList.Add(APITools.CreateModifierParam(Assets.ErrorIcon, "Error - Mission Objective Not Found", "You likely have a typo in the requirement name")); } } if (errorList.Count == 0) { Gamemode.NextLevelIsIsolated("Custom Campaigns"); _missionSelectionNavigationController.HandleMissionLevelDetailViewControllerDidPressPlayButton(viewController); } else { LoadModifiersPanel(errorList); } }
public void UpdateRequirementInfo() { if (campaign == null) { return; } Challenge challenge = campaign.challenges[currentChallenge]; if (challenge.requirements.Count() == 0 || curRequirementIndex >= challenge.requirements.Count()) { return; } ChallengeRequirement requirement = challenge.requirements[curRequirementIndex]; requirement.type = requirementType.Text; requirement.count = (int)requirementValue.Value; requirement.isMax = requirementIsMax.Checked; }
public void SetRequirementToSelected() { if (campaign == null) { return; } Challenge challenge = campaign.challenges[currentChallenge]; if (challenge.requirements.Count() == 0 || curRequirementIndex >= challenge.requirements.Count()) { return; } reqUpdating = true; ChallengeRequirement requirement = challenge.requirements[curRequirementIndex]; requirementType.Text = requirement.type; requirementValue.Value = requirement.count; requirementIsMax.Checked = requirement.isMax; reqUpdating = false; }
public string GetMissionObjectiveTypeName() { return(ChallengeRequirement.GetObjectiveName("maintainAccuracy")); }
public string GetMissionObjectiveTypeName() { return(ChallengeRequirement.GetObjectiveName("saberInWall")); }
public string GetMissionObjectiveTypeName() { return(ChallengeRequirement.GetObjectiveName("perfectCuts")); }
public string GetMissionObjectiveTypeName() { return(ChallengeRequirement.GetObjectiveName("bombsHit")); }
public string GetMissionObjectiveTypeName() { return(ChallengeRequirement.GetObjectiveName("wallHeadbutts")); }