public static void Unregister(GameEvent.Type eventType, Action <object> action) { if (!dicSpecialEvent.ContainsKey(eventType) || !(dicSpecialEvent[eventType].Contains(action))) { return; } dicSpecialEvent[eventType].Remove(action); }
public static void Dispatch(GameMoudle moudle, GameEvent.Type eventType, object arg = null) { if (!dicMoudleEvent.ContainsKey(moudle)) { Register(moudle); } dicMoudleEvent[moudle].Trigger(eventType, arg); if (eventType == GameEvent.Type.CloseMainView) { AssetBundleManager.Clean(); } }
public static void Register(GameEvent.Type eventType, Action <object> action) { if (!dicSpecialEvent.ContainsKey(eventType)) { dicSpecialEvent.Add(eventType, new List <Action <object> >()); } if (dicSpecialEvent[eventType].Contains(action)) { return; } dicSpecialEvent[eventType].Add(action); }
public override Action <object> GetEvent(GameEvent.Type eventType) { switch (eventType) { case GameEvent.Type.OpenMainView: return(OpenMainView); case GameEvent.Type.CloseMainView: return(CloseMainView); default: return(null); } }
public override Action <object> GetEvent(GameEvent.Type eventType) { switch (eventType) { case GameEvent.Type.InitModel: return(InitModel); case GameEvent.Type.Damage: return(Damage); default: return(null); } }
public static void Dispatch(GameEvent.Type eventType, object arg = null) { switch (eventType) { case GameEvent.Type.ChangeScene: GameSceneManager.ChangeScene((GameScene)arg); return; } if (!dicSpecialEvent.ContainsKey(eventType) || dicSpecialEvent[eventType].Count == 0) { return; } for (int i = 0; i < dicSpecialEvent[eventType].Count; i++) { dicSpecialEvent[eventType][i](arg); } }
public override Action <object> GetEvent(GameEvent.Type eventType) { switch (eventType) { case GameEvent.Type.OpenMainView: return(OpenMainView); case GameEvent.Type.Attack: return(Attack); case GameEvent.Type.Damage: return(Damage); case GameEvent.Type.ShowDamageText: return(ShowDamageText); case GameEvent.Type.MonsterCreate: return(MonsterCreate); case GameEvent.Type.MonsterMove: return(MonsterMove); case GameEvent.Type.MonsterDamage: return(MonsterDamage); case GameEvent.Type.SteeringWheelDragBegin: return(SteeringWheelDragBegin); case GameEvent.Type.SteeringWheelDraging: return(SteeringWheelDraging); case GameEvent.Type.SteeringWheelDragEnd: return(SteeringWheelDragEnd); default: return(null); } }
public abstract Action <object> GetEvent(GameEvent.Type eventType);