using System; using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// 数值容器 /// public class ValueContainer { /// 数值字典 public Dictionary dictionary = new Dictionary(); /// 所引器 public ValueInstance this[string id] => dictionary[id]; /// 循环集合 public void ForEach(Action action) { foreach (var item in dictionary) { action?.Invoke(item.Key, item.Value); } } /// 添加数值 public void AddInstance(ValueType type, string name) { var instance = new ValueInstance(type, name); AddInstance(instance); } /// 添加数值 public void AddInstance(ValueInstance instance) { if (dictionary.ContainsKey(instance.name)) { return; } dictionary.Add(instance.name, instance); } /// 重新计算值 public void RecalculateValue() { foreach (var item in dictionary) { item.Value.RecalculateValue(); } } }