예제 #1
0
        public void Serialize(SerializationBuffer buf)
        {
            buf.SeekZero();
            buf.WriteInt((int)NetworkMessageID.SceneLoading);

            buf.WriteString(SceneName);
        }
예제 #2
0
        public void Serialize(SerializationBuffer buf)
        {
            buf.SeekZero();
            buf.WriteInt((int)NetworkMessageID.PlayerRegistration);

            buf.WriteString(PlayerName);
        }
예제 #3
0
        public void Serialize(SerializationBuffer buf)
        {
            buf.SeekZero();
            buf.WriteInt((int)NetworkMessageID.SimpleEvent);

            buf.WriteInt((int)Event);
        }
예제 #4
0
        public void Serialize(SerializationBuffer buf)
        {
            buf.SeekZero();
            buf.WriteInt((int)NetworkMessageID.TickSync);

            buf.WriteInt(Tick);
            buf.WriteInt(Timestamp);
        }
예제 #5
0
        public void Serialize(SerializationBuffer buf)
        {
            buf.SeekZero();
            buf.WriteInt((int)NetworkMessageID.SpawnPlayer);

            buf.WriteInt(PlayerId);
            buf.WriteBool(IsLocalPlayer);
        }
예제 #6
0
        public void Serialize(SerializationBuffer buf)
        {
            buf.SeekZero();
            buf.WriteInt((int)FrameworkNetworkMessageID.CommandRequest);

            buf.WriteInt(ForPlayerId);
            buf.WriteInt(ForTick);
        }
예제 #7
0
        public void Serialize(SerializationBuffer buf)
        {
            buf.SeekZero();
            buf.WriteInt((int)NetworkMessageID.PlayerAdd);

            buf.WriteBool(Add);
            buf.WriteBool(ForLocalPlayer);
            buf.WriteInt(PlayerId);
            buf.WriteString(PlayerName);
        }
예제 #8
0
        public void Serialize(SerializationBuffer buf)
        {
            buf.SeekZero();
            buf.WriteInt((int)NetworkMessageID.LazerHit);

            buf.WriteInt(AtTick);
            buf.WriteInt(FiringPlayerId);
            buf.WriteQuaternion(FiringRotation);
            buf.WriteInt(HitCharacterId);
        }
예제 #9
0
        public void Serialize(SerializationBuffer buf)
        {
            buf.SeekZero();
            buf.WriteInt((int)NetworkMessageID.SpawnCharacter);

            buf.WriteInt(CharacterId);
            buf.WriteInt(ForPlayerId);
            buf.WriteVector3(SpawnPosition);
            buf.WriteQuaternion(SpawnRotation);
        }
예제 #10
0
        private void SerializePlayerCommands(SerializationBuffer buf, PC forPlayer, int forTick, bool mustBeFullState)
        {
            buf.SeekZero();
            buf.WriteInt((int)FrameworkNetworkMessageID.PlayerCommands);

            buf.WriteInt(forTick);
            buf.WriteInt(forPlayer.GetId());

            CMD currentCommands = forPlayer.GetCommands();

            currentCommands.WriteToBuffer(buf, mustBeFullState);
        }
예제 #11
0
        private void SerializeGlobalSnapshot(SerializationBuffer buf, ref GlobalSnapshot <CMD, WS> forSnapshot, int forTick, bool mustBeFullState)
        {
            buf.SeekZero();
            buf.WriteInt((int)FrameworkNetworkMessageID.GlobalState);

            buf.WriteInt(forTick);

            // Commands snapshot
            int commandsCount = forSnapshot.CommandsSnapshot.PlayerCommands.Count;

            buf.WriteInt(commandsCount);
            for (int i = 0; i < commandsCount; i++)
            {
                buf.WriteInt(forSnapshot.CommandsSnapshot.PlayerCommands[i].DataId);
                forSnapshot.CommandsSnapshot.PlayerCommands[i].DataStruct.WriteToBuffer(buf, mustBeFullState);
            }

            // World snapshot
            forSnapshot.WorldSnapshot.WriteToBuffer(buf, mustBeFullState);
        }