public override void Load(string level) { _levelName = level; for (int i = 0; i < _anchors.Length; i++) { if (PlayerPrefs.HasKey(level + "_actionAnchorIndex_" + i + "_positionX")) { SavedObject savedObject = GameDataStorage.GetSavedObject("action", i); var actionObject = Instantiate(Resources.Load <ActionObject>("Prefabs/ActionObject/" + savedObject.Name)); var anchor = _anchors.Where(a => a.GetPosition() == savedObject.Position).First(); actionObject.SetPosition(anchor.GetPosition()); anchor.SetChangeableObject(actionObject); } } }
public override void Load(string level) { _levelName = level; for (int i = 0; i < _anchors.Length; i++) { if (PlayerPrefs.HasKey(level + "_spawnAnchorIndex_" + i + "_positionX")) { SavedObject savedObject = GameDataStorage.GetSavedObject("spawn", i); var spawn = _spawnPool.GetObject() as Spawn; var anchor = _anchors.Where(a => a.GetPosition() == savedObject.Position).First(); if (anchor.IsFree) { spawn.Upgrade(spawn.SpawnTime - PlayerPrefs.GetFloat(level + "_spawnIndex_" + i + "_spawnTime")); spawn.LeaveThePoolAndRun(anchor.GetPosition()); anchor.SetChangeableObject(spawn as IUpgradeable); } } } }