public void Init(Entity player, PlayerController controller, LevelCamera levelCam, FollowTransform followCam, EntityHUD hud, SaverOwner gameSaver, EntityObjectAttacher.Attacher attacher, EntityObjectAttacher.AttachTag attachTag, EntityLocalVarOverrider varOverrider, Vector3 P, Vector3 D) { this.ent = player; this.controller = controller; this.RegEvents(player); this.levelCam = levelCam; this.followCam = followCam; this.spawnPos = P; this.roomSpawnPos = P; this.spawnDir = D; this.roomSpawnDir = D; this.hud = hud; this.gameSaver = gameSaver; this.attacher = attacher; this.attachTag = attachTag; this.varOverrider = varOverrider; base.enabled = false; IDataSaver saver = gameSaver.GetSaver("/local/start", true); if (saver != null) { string a = saver.LoadData("level"); Vector3 vector; Vector3 vector2; if (a == Utility.GetCurrentSceneName() && SceneDoor.GetSpawnPoint(saver.LoadData("door"), out vector, out vector2)) { this.spawnPos = vector; this.spawnDir = vector2; } } }
public void SaveStartPos(SaverOwner saver = null, string wantedDoor = null, string wantedScene = null) { if (saver == null) { saver = this._saver; } if (string.IsNullOrEmpty(wantedDoor)) { wantedDoor = this._correspondingDoor; } if (string.IsNullOrEmpty(wantedScene)) { wantedScene = this._scene; } if (saver != null) { if (this._saveStartPos) { IDataSaver localSaver = saver.LocalStorage.GetLocalSaver("start"); localSaver.SaveData("level", wantedScene); localSaver.SaveData("door", wantedDoor); } if (this._saveExitScene) { IDataSaver localSaver2 = saver.LocalStorage.GetLocalSaver("exit"); localSaver2.SaveData("level", Utility.GetCurrentSceneName()); localSaver2.SaveData("door", base.name); } else { saver.LocalStorage.ClearLocalSaver("exit"); } } }
public static void StartLoad(string targetScene, string targetDoor, FadeEffectData fadeData, SaverOwner saver = null, Vector3?fallbackPos = null) { GameObject gameObject = new GameObject("DummyDoor"); SceneDoor sceneDoor = gameObject.AddComponent <SceneDoor>(); sceneDoor._scene = targetScene; sceneDoor._correspondingDoor = targetDoor; if (fallbackPos != null) { sceneDoor._fallbackPosition = fallbackPos.Value; sceneDoor._hasFallbackPos = true; } sceneDoor._fadeData = fadeData; sceneDoor._saver = saver; sceneDoor.StartFadeout(null); }
public void UpdateSaveVarWindows() // Made public { this._saver = (this._saver ?? this._data.StandardSaver); if (this._saver == null) { return; } if (this.saveToggleWnds == null) { EntityHUDData.SaveVarConnection[] saveVarToggables = this._data.GetSaveVarToggables(); if (saveVarToggables != null) { this.saveToggleWnds = new List <EntityHUD.SaveToggleOverlay>(saveVarToggables.Length); for (int i = 0; i < saveVarToggables.Length; i++) { this.saveToggleWnds.Add(new EntityHUD.SaveToggleOverlay(saveVarToggables[i])); } } } for (int j = this.saveToggleWnds.Count - 1; j >= 0; j--) { EntityHUD.SaveToggleOverlay saveToggleOverlay = this.saveToggleWnds[j]; string value; IDataSaver saverAndName = this._saver.GetSaverAndName(saveToggleOverlay.conn.varPath, out value, true); bool flag = SaverOwner.LoadSaveData(value, saverAndName, false); if (!flag && saveToggleOverlay.wnd != null && saveToggleOverlay.wnd.IsActive) { saveToggleOverlay.wnd.gameObject.SetActive(false); } else if (flag) { if (saveToggleOverlay.wnd == null) { saveToggleOverlay.wnd = OverlayWindow.GetPooledWindow <OverlayWindow>(saveToggleOverlay.conn.hudPrefab); this.ownedObjects.Add(saveToggleOverlay.wnd.gameObject); } saveToggleOverlay.wnd.gameObject.SetActive(true); } } if (!string.IsNullOrEmpty(this._data.HideHUDVar)) { string key; IDataSaver saverAndName2 = this._saver.GetSaverAndName(this._data.HideHUDVar, out key, true); if (saverAndName2 != null && saverAndName2.LoadBool(key)) { for (int k = this.ownedObjects.Count - 1; k >= 0; k--) { GameObject gameObject = this.ownedObjects[k]; if (gameObject != null) { gameObject.SetActive(false); } } for (int l = this.healthMeters.Count - 1; l >= 0; l--) { this.healthMeters[l].Hide(); } if (this.realMeter != null) { this.realMeter.gameObject.SetActive(false); } } } }