using System.Collections; using System.Collections.Generic; using UnityEngine; public class DictionariesFSM<T> { private Dictionary<string, T> dictionary; public DictionariesFSM() { this.dictionary = new Dictionary<string, T>(); } public T GetValue(string key, T defaultValue = default) { T value; if (!dictionary.TryGetValue(key, out value)) { value = defaultValue; } return value; } public bool HasKey(string key) { return dictionary.ContainsKey(key); } public void SetValue(string key, T value) { if (!HasKey(key)) { dictionary.Add(key, value); } else { dictionary[key] = value; } } public void DeleteKey(string key) { if (HasKey(key)) dictionary.Remove(key); } public void ClearDictionary() { dictionary.Clear(); } }