/// <summary> /// DispaceEvent /// Alerts all objects that the event has been thrown /// </summary> /// <param name="_event"></param> public void DisptchEvent(CEvent _event) { foreach (IListener obj in mObjectList) { obj.HandleEvent(_event); } }
/// <summary> /// SendEvent /// Queues the event to be processed /// </summary> /// <param name="eventID"></param> /// <param name="obj"></param> public void SendEvent(EVENT_ID eventID, IListener obj) { if (CheckParams(eventID, obj)) { return; } CEvent temp = new CEvent(obj, eventID); mEventList.Add(temp); }
/// <summary> /// HandleEvent /// </summary> /// <param name="_event"></param> public void HandleEvent(CEvent _event) { switch (_event.GetEventID()) { case EVENT_ID.PLAYER_COMBINE: { if (_event.GetParam() is CPlayer && _event.GetParam() != this) { // TODO: Check to see if were within range of the calling player SetSecondaryPlayer((CPlayer)_event.GetParam(), true); m_cSecondaryPlayer.SetSecondaryPlayer(this); m_cSecondaryPlayer.m_pUpdateData.position = m_pUpdateData.position; } } break; default: break; } }