Пример #1
0
 public override void PareseFrom(ENTITY_DATA e)
 {
     this.e = e;
     s.setBuffer(e.datas);
     movement = s.readTSVector();
     space    = s.readUint8() != 0;
 }
Пример #2
0
 public override void PareseFrom(ENTITY_DATA e)
 {
     this.e = e;
     s.setBuffer(e.datas);
     fp_1 = s.readFP();
     fp_2 = s.readFP();
 }
Пример #3
0
    public void OnSyncedUpdate(UInt32 frameid, ENTITY_DATA operation)
    {
        tsFrameId = frameid;

        FrameFPS data = new FrameFPS();

        data.PareseFrom(operation);
        if (data.e.entityid != owner.id)
        {
            return;
        }

        List <KeyCode> keyValues = new List <KeyCode>();

        foreach (var item in keyBit)
        {
            if ((data.keyValue & (UInt16)(1L << item.Value)) > 0)
            {
                keyValues.Add(item.Key);
                Debug.Log("key:" + item.Key);
            }
        }
        bool walk = (data.accell != 0 || data.steer != 0);

        UpdateAnimator(keyValues, walk);
        UpdateMovement(data.accell, data.steer);
        cooldown -= FPS_Manager.instance.Config.lockedTimeStep;
    }
Пример #4
0
 public override void PareseFrom(ENTITY_DATA e)
 {
     this.e = e;
     s.setBuffer(e.datas);
     keyValue = s.readUint16();
     accell   = s.readFP();
     steer    = s.readFP();
 }
Пример #5
0
        public override void PareseFrom(ENTITY_DATA e)
        {
            this.e = e;
            s.setBuffer(e.datas);

            KeyCode k = KeyCode.None;

            while ((k = (KeyCode)s.readUint16()) != 0)
            {
                keys.Add(k);
            }
        }
Пример #6
0
        static public FrameBase decode(ENTITY_DATA readMsg)
        {
            FrameBase f;

            switch ((CMD)readMsg.cmd_type)
            {
            case CMD.MOUSE:
            {
                f = new FrameMouse();
            }
            break;

            case CMD.KEYBOARD:
            {
                f = new FrameKeyboard();
            }
            break;

            case CMD.USER:
            {
                f = new FrameUser();
            }
            break;

            case CMD.TEST:
            {
                f = new FrameTest();
            }
            break;

            case CMD.BOX:
            {
                f = new FrameBox();
            }
            break;

            case CMD.FPS:
            {
                f = new FrameFPS();
            }
            break;

            default:
            {
                f = null;
            }
                return(f);
            }

            f.PareseFrom(readMsg);

            return(f);
        }
Пример #7
0
        void Update()
        {
            tsDeltaTime += Time.deltaTime;

            if (tsDeltaTime >= tsDuration)
            {
                tsDeltaTime = 0;

                if (GameData.Instance.frameList.Count > 0)
                {
                    int count = GameData.Instance.frameList.Count;
                    tsDuration = Config.lockedTimeStep / (count <= ThresholdFrame ? 1 : count / ThresholdFrame);

                    FRAME_DATA framedata = GameData.Instance.frameList.Dequeue();

                    currenFrameId = framedata.frameid;

                    if (framedata.operation.Count == 1 && framedata.operation[0].cmd_type == (Byte)SyncFrame.CMD.EMPTY)
                    {
                        for (int i = 0; i < GameData.Instance.RoomPlayers.Count; i++)
                        {
                            int entityId = GameData.Instance.RoomPlayers[i].id;
                            playerBehaviours[entityId].OnSyncedUpdate(currenFrameId, (new FrameFPS()).Serialize());
                        }
                    }
                    else
                    {
                        for (int i = 0; i < framedata.operation.Count; i++)
                        {
                            ENTITY_DATA oper = framedata.operation[i];
                            if (playerBehaviours.ContainsKey(oper.entityid))
                            {
                                playerBehaviours[oper.entityid].OnSyncedUpdate(currenFrameId, oper);
                            }
                        }
                    }

                    foreach (var item in instance.queuedBehaviours)
                    {
                        item.OnSyncedUpdate();
                    }
                    PhysicsManager.instance.UpdateStep();

                    OnSyncedPlayerInput();
                }
            }
        }
Пример #8
0
 public override void PareseFrom(ENTITY_DATA e)
 {
     this.e = e;
     s.setBuffer(e.datas);
     point = s.readTSVector();
 }
Пример #9
0
 public abstract void PareseFrom(ENTITY_DATA e);