public bool Execute(EventBase e) { ShotEvent ps = (ShotEvent)e; Network.Client.RespondToReliableEvent(ps.m_reliableEventId); Debug.Log("Received reliable event: " + ps.m_reliableEventId); if (WasExecuted(0, ps.m_reliableEventId)) { return(false); } PlayerInstanceState pis = null; m_manager.playerInstances.TryGetValue(ps.m_who, out pis); if (pis != null) { m_manager.shotDatas.Enqueue(new ShotData() { controller = pis.controller, direction = ps.m_direction, point = ps.m_point }); } AddExecuted(0, ps.m_reliableEventId); return(true); }
public void ApplyState(PlayerState ps) { if (ps == null) { return; } ; PlayerInstanceState pis = null; if (!playerInstances.TryGetValue(ps.id, out pis)) { pis = new PlayerInstanceState(); pis.controller = Instantiate(characterPrefab); pis.controller.Init(ps.id == Network.Client.ConnectionId); playerInstances[ps.id] = pis; } pis.state = ps; pis.controller.MoveTo(pis.state.position); pis.controller.Power = pis.state.power; pis.lastUpdateTime = DateTime.Now; }