Example #1
0
        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);
        }
Example #2
0
    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;
    }