public void NewGame(int difficulty) { Clear(); // load difficulty values from config file DifficultyData difficultyData = new DifficultyData(); DifficultyData.DifficultyValues diff = difficultyData.GetValues(difficulty); SetDifficulty(difficulty); SetInitialField("LIVES", diff.lives); SetField("LIVES", diff.lives); SetField("CONTINUES", diff.continues); // no need for "INITIAL_CONTINUES" foreach (KeyValuePair <string, int> pair in diff.fields) { string key = pair.Key; int value = pair.Value; SetInitialField(key, value); SetField(key, value); } SetLevel(-1); Save(); }
private void Awake() { _difficultyData = Data.Instance.DifficultyData; _canvas = GameObject.FindGameObjectWithTag("MainCanvas").GetComponent <Canvas>(); _gameMenu = _canvas.GetComponentInChildren <GameMenuBehaviour>(); //GameObject.FindGameObjectWithTag("MainCanvas"). _hpManager = _canvas.GetComponentInChildren <HPManagerBehavior>(); var progressBarBehaviour = CustomResources.Load <ProgressBar> (AssetsPathGameObject.GameObjects[GameObjectType.ProgressBar]); _progressBar = Instantiate(progressBarBehaviour, _gameMenu.transform); }
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 OldDifficultyData(DifficultyData diff) { if (diff.version == null) { diff.version = "2.0.0"; } this._version = diff.version; List <Events> events = new(); foreach (var ev in diff.basicBeatmapEvents) { events.Add(new(ev)); } this._events = events; List <Notes> notes = new(); foreach (var nt in diff.colorNotes) { notes.Add(new(nt)); } foreach (var bomb in diff.bombNotes) { notes.Add(new(bomb)); } notes = notes.OrderBy(o => o._time).ToList(); this._notes = notes; List <Obstacles> obs = new(); foreach (var obst in diff.obstacles) { obs.Add(new(obst)); } this._obstacles = obs; List <Waypoints> w = new(); foreach (var way in diff.waypoints) { w.Add(new(way)); } this._waypoints = w; CustomData custom = new(diff.customData, diff.bpmEvents); this._customData = custom; }
public Difficulty(DifficultyData difficultyData) { Name = difficultyData.Name; FlavorsQuantity = difficultyData.FlavorsQuantity; InitialTime = difficultyData.InitialTime; TimePenalty = difficultyData.TimePenalty; HotnessBonus = difficultyData.HotnessBonus; HotnessPenalty = difficultyData.HotnessPenalty; CoolingPerSec = difficultyData.CoolingPerSec; pointConversions = new List <PointConversion>(difficultyData.pointConversions); }
private DifficultyData QuestionsMissing(string difficulty) { // hardoreasy difficultyData = new DifficultyData(); difficultyData.questions = questionsList; difficultyData.isHard = true; // question questionsList[0] = new QuestionsList(); questionsList[0].answers = answersList; questionsList[0].question = "There are no " + difficulty + " questions"; // answer answersList[0] = new AnswersList(); answersList[0].answer = "Click"; answersList[0].isTrue = true; // return return(difficultyData); }
List <int> usedIndexes = new List <int> (); // so 2 things dont spawn on the same side void Start() { // set difficulty int difficulty = Mathf.Clamp(TerrainManager.instance.curDifficulty + TerrainManager.instance.baseDifficulty, 0, allDifficultyData.Length - 1); diffData = allDifficultyData [Mathf.Clamp(difficulty, 0, allDifficultyData.Length - 1)]; persistantObjects = GameObject.Find("PersistantObjects").transform; transform.parent = persistantObjects; // spawn astroid GameObject newAstroid = Instantiate(astroids [Random.Range(0, astroids.Length)], transform); transform.rotation = Quaternion.Euler(0f, 0f, Random.Range(0f, 360f)); size = Random.Range(minSize, maxSize); newAstroid.transform.localScale = new Vector3(size, size, 1f); verts = newAstroid.GetComponent <PolygonCollider2D> ().points; if (alienPrefabs.Length != 0) { // spawn potential aliens int alienCount = Random.Range(diffData.minAliens, diffData.maxAliens + 1); for (int i = 0; i < alienCount; i++) { EdgePositionData data = GetRandomSpawnPoint(); Vector3 spawnPos3d = new Vector3(data.point.x, data.point.y, 1.1f); // chose prefab from avaiable aliens in difficulty teir GameObject prefab = alienPrefabs [diffData.alienIDs[Random.Range(0, diffData.alienIDs.Length)]]; GameObject newAlien = Instantiate(prefab, spawnPos3d, data.rotation, persistantObjects); newAlien.GetComponent <BasicAlien> ().InitPos(this, data.anchorIndex); } } // spawn potential crystals int crystalCount = Random.Range(diffData.minCrystals, diffData.maxCrystals + 1); for (int i = 0; i < crystalCount; i++) { EdgePositionData data = GetRandomSpawnPoint(); Vector3 spawnPos3d = new Vector3(data.point.x, data.point.y, 1.1f); Instantiate(crystalPrefab, spawnPos3d, data.rotation, persistantObjects); } }
/* ============================================================================ Init functions ============================================================================ */ public void Init() { // first init languages languages = new LanguageData(); statusValues = new StatusValueData(); elements = new ElementData(); races = new RaceData(); sizes = new SizeData(); areaNames = new AreaNameData(); armors = new ArmorData(); cameraPositions = new CameraPositionData(); attacks = new BaseAttackData(); characters = new CharacterData(); classes = new ClassData(); colors = new ColorData(); dialoguePositions = new DialoguePositionData(); battleAIs = new BattleAIData(); enemies = new EnemyData(); equipParts = new EquipmentPartData(); formulas = new FormulaData(); gameSettings = new GameSettingsData(); items = new ItemData(); itemTypes = new ItemTypeData(); loadSaveHUD = new LoadSaveHUDData(); mainMenu = new MainMenuData(); skillTypes = new SkillTypeData(); effects = new StatusEffectData(); skills = new SkillData(); weapons = new WeaponData(); music = new MusicData(); huds = new HUDData(); recipes = new ItemRecipeData(); fonts = new FontData(); globalEvents = new GlobalEventData(); teleports = new TeleportData(); difficulties = new DifficultyData(); // battle system battleAnimations = new BattleAnimationData(); battleSystem = new BattleSystemData(); }