コード例 #1
0
ファイル: Client.cs プロジェクト: CWTesseract/CWT_dev_server
        public Client(UInt64 SteamID, bool chatClient = false)
        {
            m_hostSteamID       = new CSteamID(SteamID);
            m_P2PSessionRequest = Callback <P2PSessionRequest_t> .Create(OnP2PSessionRequest);

            m_isChatClientOnly = chatClient;


            GUID     = 2;
            Position = new CWTNet.Vector3Int64(23540680, 117517965, 7672954);
        }
コード例 #2
0
        public void Deserialize(ref BinaryReader rdr)
        {
            var size           = rdr.ReadUInt32();
            var compressedData = rdr.ReadBytes((int)size);
            var data           = Util.Zlib.Decompress(compressedData);

            var ms = new MemoryStream(data);
            var br = new BinaryReader(ms);

            var guid     = br.ReadUInt64();
            var bitfield = br.ReadUInt64();

            if (bitfield.IsBitSet(0))
            {
                Position = new Vector3Int64(ref br);
            }
            else if (bitfield.IsBitSet(1))
            {
                Rotation = new Vector3Float32(ref br);
            }
            else if (bitfield.IsBitSet(2))
            {
                Velocity = new Vector3Float32(ref br);
            }
            else if (bitfield.IsBitSet(3))
            {
                Accel = new Vector3Float32(ref br);
            }
            else if (bitfield.IsBitSet(4))
            {
                Retreat = new Vector3Float32(ref br);
            }
            else if (bitfield.IsBitSet(5))
            {
                HeadRotation = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(6))
            {
                PhysicsFlags = br.ReadUInt32();
            }
            else if (bitfield.IsBitSet(7))
            {
                HostilityOrAIType = br.ReadByte();
            }
            else if (bitfield.IsBitSet(8))
            {
                Race = br.ReadUInt32();
            }
            else if (bitfield.IsBitSet(9))
            {
                ActionID = br.ReadByte();
            }
            else if (bitfield.IsBitSet(10))
            {
                ActionTimer = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(11))
            {
                ComboHits = br.ReadUInt32();
            }
            else if (bitfield.IsBitSet(12))
            {
                TimeSinceLastComboHit = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(13))
            {
                Console.WriteLine("GOT APPEARANCE DATA!!!!!!!!!!!");
                AppearanceData = br.ReadBytes(176);
            }
            else if (bitfield.IsBitSet(14))
            {
                BinaryToggles = br.ReadUInt16();
            }
            else if (bitfield.IsBitSet(15))
            {
                RollTime = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(16))
            {
                StunTime = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(17))
            {
                SomeAnimationTime = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(18))
            {
                SpeedSlowedForTime = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(19))
            {
                SpeedBoostedForTime = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(20))
            {
                UnkFloat_0 = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(21))
            {
                Level = br.ReadInt32();
            }
            else if (bitfield.IsBitSet(22))
            {
                Exp = br.ReadInt32();
            }
            else if (bitfield.IsBitSet(23))
            {
                Class = br.ReadByte();
            }
            else if (bitfield.IsBitSet(24))
            {
                Specialization = br.ReadByte();
            }
            else if (bitfield.IsBitSet(25))
            {
                SomeFloat0to1MPCostPinkBarBackgroundFill = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(26))
            {
                UnkVector3Float32_0 = new Vector3Float32(ref br);
            }
            else if (bitfield.IsBitSet(27))
            {
                UnkVector3Float32_1 = new Vector3Float32(ref br);
            }
            else if (bitfield.IsBitSet(28))
            {
                CameraLookingAtBlockOffset = new Vector3Float32(ref br);
            }
            else if (bitfield.IsBitSet(29))
            {
                HP = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(30))
            {
                MP = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(31))
            {
                Stealth = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(32))
            {
                UnkFloat_1 = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(33))
            {
                CurrentMovementTypeSpeed = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(34))
            {
                LightDiameter = br.ReadSingle();
            }
            else if (bitfield.IsBitSet(35))
            {
                UnkByte_0_ForCampfireParticles = br.ReadByte();
            }
            else if (bitfield.IsBitSet(36))
            {
                UnkByte_1 = br.ReadByte();
            }
            else if (bitfield.IsBitSet(37))
            {
                UnkUint64_0 = br.ReadUInt64();
            }
            else if (bitfield.IsBitSet(38))
            {
                UnkUint64_1 = br.ReadUInt64();
            }
            else if (bitfield.IsBitSet(39))
            {
                EagleFlyingToZonePos = new Vector2Int32(ref br);
            }
            else if (bitfield.IsBitSet(40))
            {
                SomeZonePos = new Vector2Int32(ref br);
            }
            else if (bitfield.IsBitSet(41))
            {
                EagleFlyingFromCoords = new Vector3Int64(ref br);
            }
            else if (bitfield.IsBitSet(42))
            {
                UnkItem = br.ReadBytes(0xA0);
            }
            else if (bitfield.IsBitSet(43))
            {
                WornEquipment = br.ReadBytes(0xA0 * 11);
            }
            else if (bitfield.IsBitSet(44))
            {
                name = br.ReadBytes(16);
            }
            else if (bitfield.IsBitSet(45))
            {
                ClientSteamID = br.ReadUInt64();
            }
            else if (bitfield.IsBitSet(46))
            {
                UnkByte_2 = br.ReadByte();
            }
            else if (bitfield.IsBitSet(47))
            {
                UnkInt32_0 = br.ReadInt32();
            }
            else if (bitfield.IsBitSet(48))
            {
                UnkUint64_2 = br.ReadUInt64();
            }
        }