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;
            }
        }
    }
Exemple #2
0
 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");
         }
     }
 }
Exemple #3
0
    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);
    }
Exemple #4
0
 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);
             }
         }
     }
 }