IEnumerator RestartGameProcedure() { audioManager.Fadeout(); Time.timeScale = 1; fading = true; Vector3 newPos = Camera.main.transform.position; newPos.z += 5; // TODO: fix blackFade.transform.position = newPos; PersistentEngine.SetPause(false); yield return(new WaitForSeconds(1.5f)); if (PersistentEngine.GetDemo()) { PersistentEngine.SetState("Global level", 1); PersistentEngine.SetState("Global loadingLevel", 1, true); } else { PersistentEngine.SetState("Global level", 1); PersistentEngine.SetState("Global loadingLevel", 1, true); } SceneManager.LoadScene("loadingScreen"); }
private void LoadLevelInternal(int level) { PersistentEngine.SetState("Global level", level); PersistentEngine.SetState("Global loadingLevel", level, true); SceneManager.LoadScene(level); }
public static void ContinueFromSavedGame(int slot) { audioManager.Fadeout(); PersistentEngine.SetState("Global Savegame", slot, true); PersistentEngine g = GameObject.Find("Global").GetComponent <PersistentEngine>(); g.ContinueGame(); }
public static void StartLevel(int levelNumber) { audioManager.Fadeout(); PersistentEngine g = GameObject.Find("Global").GetComponent <PersistentEngine>(); RemoveAllSavedData(); PersistentEngine.SetState("Global level", levelNumber); PersistentEngine.SetState("Global loadingLevel", levelNumber, true); PersistentEngine.SetPause(false); g.StartSelectedLevel(); }
public static void StartNewGame(int slot) { audioManager.Fadeout(); PersistentEngine g = GameObject.Find("Global").GetComponent <PersistentEngine>(); savePath = defaultSavePath.Remove(defaultSavePath.Length - 4); savePath = savePath + slot + ".txt"; currentSlot = slot; PersistentEngine.SetState("Global Savegame", slot, true); RemoveAllSavedData(); g.RestartGame(); }
bool Switch() { state++; if (state > states.Length - 1) { state = 0; } switchedFlag = true; PersistentEngine.SetState(gameObject.name + "_RotatingState", state); ProcessState(); return(true); }
public void SaveState(bool saveFile = false) { if (!allowSaving) { return; } var fields = this.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic).Where(field => field.IsDefined(typeof(SaveStateAttribute), true)); foreach (FieldInfo field in fields) { if (field.FieldType.IsEnum) { PersistentEngine.SetState(GetObjectIdentifier(sceneName) + field.Name, (int)field.GetValue(this), saveFile); } else if (PersistentEngine.IsNumericType(field)) { PersistentEngine.SetState(GetObjectIdentifier(sceneName) + field.Name, (int)field.GetValue(this), saveFile); } else if (PersistentEngine.IsBooleanType(field)) { var val = (bool)field.GetValue(this) == true ? 1 : 0; GetObjectIdentifier(sceneName); PersistentEngine.SetState(GetObjectIdentifier(sceneName) + field.Name, val, saveFile); } else if (PersistentEngine.IsStringType(field)) { var val = field.GetValue(this); GetObjectIdentifier(sceneName); try { PersistentEngine.SetStateStr(GetObjectIdentifier(sceneName) + field.Name, (string)val, saveFile); } catch { PersistentEngine.SetState(GetObjectIdentifier(sceneName) + field.Name, null, saveFile); } } } }