using System.Collections; using System.Collections.Generic; using UnityEngine; using KairoEngine.Core; namespace KairoEngine.CharacterSystem { public static class GenericEventsCharacterExtensions { public static Dictionary> list = new Dictionary>(); public static void StartListening(this GenericEvents e, string title, System.Action listener) { System.Action action = null; if (list.TryGetValue(title, out action)) { action += listener; list[title] = action; } else { action += listener; list.Add(title, action); } } public static void StopListening(this GenericEvents e,string title, System.Action listener) { System.Action action = null; if (list.TryGetValue(title, out action)) { action -= listener; list[title] = action; } } public static void Trigger(this GenericEvents e, string title, CharacterController value) { System.Action action = null; if (list.TryGetValue(title, out action)) { if(action != null) action(value); } } } }