Super Knight : Enter the Dungeon
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using System.Collections; |
|
|
using System.Collections.Generic; |
|
|
using UnityEngine; |
|
|
|
|
|
public class EventManager : Singleton<EventManager> |
|
|
{ |
|
|
[System.Serializable] |
|
|
public class ObjectCreate |
|
|
{ |
|
|
public GameObject prefab; |
|
|
public Transform target; |
|
|
public Vector3 scale; |
|
|
public Vector3 pos; |
|
|
|
|
|
public GameObject create; |
|
|
|
|
|
public ObjectCreate() |
|
|
{ } |
|
|
public ObjectCreate(GameObject prefab, Transform target, Vector3 scale, Vector3 pos) |
|
|
{ |
|
|
this.prefab = prefab; |
|
|
this.target = target; |
|
|
this.scale = scale; |
|
|
this.pos = pos; |
|
|
} |
|
|
} |
|
|
|
|
|
Dictionary<string, System.Action<object>> dicEvent = new Dictionary<string, System.Action<object>>(); |
|
|
public void Add(string key, System.Action<object> OnRecieve) |
|
|
{ |
|
|
if(dicEvent.ContainsKey(key)) |
|
|
dicEvent[key] += OnRecieve; |
|
|
else |
|
|
dicEvent.Add(key, OnRecieve); |
|
|
|
|
|
//Debug.Log($"EventManager - {key} : {dicEvent[key].GetInvocationList().GetLength(0)} <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>"); |
|
|
} |
|
|
public void Remove(string key, System.Action<object> OnRecieve) |
|
|
{ |
|
|
if (dicEvent.ContainsKey(key)) |
|
|
{ |
|
|
dicEvent[key] -= OnRecieve; |
|
|
|
|
|
if (dicEvent[key] == null) |
|
|
{ |
|
|
Debug.Log($"EventManager - {key} <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ϵ<EFBFBD> <EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); |
|
|
dicEvent.Remove(key); |
|
|
} |
|
|
} |
|
|
} |
|
|
public void Invoke(string key, object value) |
|
|
{ |
|
|
if (dicEvent.ContainsKey(key)) |
|
|
dicEvent[key](value); |
|
|
else |
|
|
Debug.LogWarning($"EventManager - {key} <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ϵ<EFBFBD> <EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); |
|
|
} |
|
|
}
|
|
|
|