public void TriggerEvent(EPlayerEvent eventType, BaseEventParameters eventParams = null) { if (m_EventDictionary.TryGetValue(eventType, out Action <BaseEventParameters> thisEvent)) { thisEvent.Invoke(eventParams); } }
void PushKeyInfo(EPlayerEvent e) { if (!TCPClient.Instance.Connected) { return; } CurFrameInfo.Add(e); }
public void StartListening(EPlayerEvent eventType, Action <BaseEventParameters> listener) { if (m_EventDictionary.TryGetValue(eventType, out Action <BaseEventParameters> thisEvent)) { thisEvent += listener; m_EventDictionary[eventType] = thisEvent; } else { thisEvent += listener; m_EventDictionary.Add(eventType, thisEvent); } }
public void StopListening(EPlayerEvent eventType, Action <BaseEventParameters> listener) { if (m_EventDictionary.TryGetValue(eventType, out Action <BaseEventParameters> thisEvent)) { thisEvent -= listener; if (thisEvent == null) { m_EventDictionary.Remove(eventType); } else { m_EventDictionary[eventType] = thisEvent; } } }
void RunKeyInfo(Dictionary <System.UInt32, List <EPlayerEvent> > info) { foreach (var iter in info) { System.UInt32 uid = iter.Key; Player player = null; if (!PlayerManager.Instance.GetPlayer(uid, ref player)) { continue; } for (int i = 0; i < iter.Value.Count; ++i) { EPlayerEvent e = iter.Value[i]; switch (e) { case EPlayerEvent.EPE_Key_Forward: player.MoveForward(); break; case EPlayerEvent.EPE_Key_Back: player.MoveBack(); break; case EPlayerEvent.EPE_Key_Left: player.MoveLeft(); break; case EPlayerEvent.EPE_Key_Right: player.MoveRight(); break; default: break; } } } }