public SaveGameManager.StoredEntry this[string id] { get { this.EnsureDictionaries(); if (!this.ById.ContainsKey(id)) { return(null); } SaveGameManager.StoredEntry storedEntry = this.entries[this.ById[id]]; if (storedEntry.gameObject == null) { this.ById.Remove(id); return(null); } return(storedEntry); } set { int value2 = 0; if (!this.ById.TryGetValue(id, out value2)) { value2 = this.entries.Count; this.ById[id] = value2; this.entries.Add(value); } this.entries[this.ById[id]] = value; this.ByObject[value.gameObject] = value2; } }
public void Remove(GameObject go) { SaveGameManager.StoredEntry storedEntry = this[go]; if (storedEntry != null) { this.ById.Remove(storedEntry.Id); this.ByObject.Remove(storedEntry.gameObject); } }
private void FixEntries() { for (int i = this.entries.Count - 1; i >= 0; i--) { SaveGameManager.StoredEntry storedEntry = this.entries[i]; if (storedEntry == null || !storedEntry.gameObject || !storedEntry.gameObject.GetComponent <UniqueIdentifier>()) { this.entries.RemoveAt(i); } } }
public static string GetId(GameObject gameObject) { if (SaveGameManager.Instance == null || gameObject == null) { return string.Empty; } SaveGameManager.StoredEntry storedEntry = SaveGameManager.Instance.Reference[gameObject]; if (storedEntry != null) { return storedEntry.Id; } if (Application.isLoadingLevel && !Application.isPlaying) { return null; } storedEntry = new SaveGameManager.StoredEntry { gameObject = gameObject }; SaveGameManager.Instance.Reference[storedEntry.Id] = storedEntry; return storedEntry.Id; }
public void SetId(GameObject gameObject, string id) { SaveGameManager.StoredEntry storedEntry = SaveGameManager.Instance.Reference[gameObject] ?? SaveGameManager.Instance.Reference[id]; if (storedEntry != null) { SaveGameManager.Instance.Reference.Remove(storedEntry.gameObject); storedEntry.gameObject = gameObject; if (!storedEntry.lockId) { storedEntry.Id = id; } } else { storedEntry = new SaveGameManager.StoredEntry { gameObject = gameObject, Id = id }; } SaveGameManager.Instance.Reference[storedEntry.Id] = storedEntry; }
public static string GetId(GameObject gameObject) { if (SaveGameManager.Instance == null || gameObject == null) { return(string.Empty); } SaveGameManager.StoredEntry storedEntry = SaveGameManager.Instance.Reference[gameObject]; if (storedEntry != null) { return(storedEntry.Id); } if (Application.isLoadingLevel && !Application.isPlaying) { return(null); } storedEntry = new SaveGameManager.StoredEntry { gameObject = gameObject }; SaveGameManager.Instance.Reference[storedEntry.Id] = storedEntry; return(storedEntry.Id); }
public GameObject GetById(string id) { SaveGameManager.StoredEntry storedEntry = SaveGameManager.Instance.Reference[id]; return((storedEntry == null) ? null : storedEntry.gameObject); }