using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Template_RuntimeInstance { public class AbilityManager : MonoBehaviour { private Dictionary abilityInstances = new Dictionary(); public AbilityInstance CreateAbilityInstance(BaseAbility abilityTemplate) { AbilityInstance instance = new AbilityInstance(abilityTemplate); abilityInstances[instance.id] = instance; return instance; } public AbilityInstance GetAbilityInstance(string id) { if (abilityInstances.TryGetValue(id, out AbilityInstance instance)) { return instance; } return null; } public void RemoveAbilityInstance(string id) { if (abilityInstances.ContainsKey(id)) { abilityInstances.Remove(id); } } } }