void Awake() { instance = this; string sceneName = gameObject.scene.name; if (sceneName.Equals("Template")) { sceneName = "_Template1"; } traits = MicrogameTraits.findMicrogameTraits(sceneName.Substring(0, sceneName.Length - 1), int.Parse(sceneName.Substring(sceneName.Length - 1, 1))); if (StageController.instance == null) { //Debug Mode Awake (scene open by itself) if (MicrogameDebugObjects.instance == null) { SceneManager.LoadScene("Microgame Debug", LoadSceneMode.Additive); } else { MicrogameDebugObjects.instance.Reset(); } if (preserveDebugSpeed > -1) { Debug.Log("Debugging at speed " + preserveDebugSpeed); debugSettings.speed = preserveDebugSpeed; preserveDebugSpeed = -1; } StageController.beatLength = 60f / 130f; Time.timeScale = StageController.getSpeedMult(debugSettings.speed); victory = traits.defaultVictory; victoryDetermined = false; traits.onAccessInStage(sceneName.Substring(0, sceneName.Length - 1)); } else if (!isBeingDiscarded()) { //Normal Awake StageController.instance.stageCamera.tag = "Camera"; Camera.main.GetComponent <AudioListener>().enabled = false; StageController.instance.microgameMusicSource.clip = traits.musicClip; if (traits.hideCursor) { Cursor.visible = false; } commandDisplay = StageController.instance.transform.root.FindChild("UI").FindChild("Command").GetComponent <CommandDisplay>(); StageController.instance.resetVictory(); StageController.instance.onMicrogameAwake(); } }
MicrogameTraits[] getDifficultyTraits(string microgameId, bool skipFInishedFolder) { MicrogameTraits[] traits = new MicrogameTraits[3]; for (int i = 0; i < 3; i++) { traits[i] = MicrogameTraits.findMicrogameTraits(microgameId, i + 1, skipFInishedFolder); } return(traits); }
MicrogameTraits[] getDifficultyTraits(string microgameId) { MicrogameTraits[] traits = new MicrogameTraits[3]; for (int i = 0; i < 3; i++) { traits[i] = MicrogameTraits.findMicrogameTraits(microgameId, i + 1); } return(traits); }
void updateMicrogameTraits() { if (microgameQueue.Count <= 0) { return; } MicrogameInstance instance = getCurrentMicrogameInstance(); microgameTraits = instance.microgame.difficultyTraits[instance.difficulty - 1]; microgameTraits.onAccessInStage(instance.microgame.microgameId, instance.difficulty); }
static MicrogameTraits findMicrogameTraitsInFolder(string microgameFolder, int difficulty) { string fileName = "Traits"; string extension = ".asset"; //Look in Traits.asset MicrogameTraits traits = AssetDatabase.LoadAssetAtPath <MicrogameTraits>($"{microgameFolder}/{fileName}{extension}"); if (traits != null) { return(traits); } //Look in Traits[diff].asset traits = AssetDatabase.LoadAssetAtPath <MicrogameTraits>($"{microgameFolder}/{fileName}{difficulty.ToString()}{extension}"); if (traits != null) { return(traits); } return(null); }
void Awake() { instance = this; //Find traits string microgameID = gameObject.scene.name; int difficulty = int.Parse(microgameID.Substring(microgameID.Length - 1, 1)); if (microgameID.Equals("Template")) { microgameID = "_Template1"; } microgameID = microgameID.Substring(0, microgameID.Length - 1); //Get traits from collection if available if (GameController.instance != null) { var collectionMicrogame = MicrogameHelper.getMicrogames(includeBosses: true).FirstOrDefault(a => a.microgameId.Equals(microgameID)); if (collectionMicrogame != null) { traits = collectionMicrogame.difficultyTraits[difficulty - 1]; } } //Get traits from project file if necessary if (traits == null) { traits = MicrogameTraits.findMicrogameTraits(microgameID, difficulty); } debugMode = GameController.instance == null || GameController.instance.getStartScene() == "Microgame Debug"; if (debugMode) { //Debug Mode Awake (scene open by itself) if (MicrogameDebugObjects.instance == null) { SceneManager.LoadScene("Microgame Debug", LoadSceneMode.Additive); } else { MicrogameDebugObjects.instance.Reset(); } if (preserveDebugSpeed > -1) { Debug.Log("Debugging at speed " + preserveDebugSpeed); debugSettings.speed = preserveDebugSpeed; preserveDebugSpeed = -1; } StageController.beatLength = 60f / 130f; Time.timeScale = StageController.getSpeedMult(debugSettings.speed); victory = traits.defaultVictory; victoryDetermined = false; traits.onAccessInStage(microgameID, difficulty); } else if (!isBeingDiscarded()) { //Normal Awake StageController.instance.stageCamera.tag = "Camera"; //Camera.main.GetComponent<AudioListener>().enabled = false; StageController.instance.microgameMusicSource.clip = traits.musicClip; if (traits.hideCursor) { Cursor.visible = false; } commandDisplay = StageController.instance.transform.root.Find("UI").Find("Command").GetComponent <CommandDisplay>(); StageController.instance.resetVictory(); StageController.instance.onMicrogameAwake(); } }