示例#1
0
 public void Parse(GameBitBuffer buffer)
 {
     Field0 = new Quaternion();
     Field0.Parse(buffer);
     Field1 = new Vector3D();
     Field1.Parse(buffer);
 }
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = new Vector3D();
     Field0.Parse(buffer);
     Field1 = buffer.ReadInt(32);
     Field2 = buffer.ReadInt(32);
 }
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     if (buffer.ReadBool())
     {
         Field1 = new Vector3D();
         Field1.Parse(buffer);
     }
     if (buffer.ReadBool())
     {
         Field2 = buffer.ReadFloat32();
     }
     if (buffer.ReadBool())
     {
         Field3 = buffer.ReadBool();
     }
     if (buffer.ReadBool())
     {
         Field4 = buffer.ReadFloat32();
     }
     if (buffer.ReadBool())
     {
         Field5 = buffer.ReadInt(24);
     }
     if (buffer.ReadBool())
     {
         Field6 = buffer.ReadInt(21) + (-1);
     }
     if (buffer.ReadBool())
     {
         Field7 = buffer.ReadInt(32);
     }
 }
示例#4
0
        public float Distance(Vector3D v)
        {
            return (float)Math.Sqrt(((v.Field0 - Field0) * (v.Field0 - Field0)) +
                              ((v.Field1 - Field1) * (v.Field1 - Field1)) +
                              ((v.Field2 - Field2) * (v.Field2 - Field2)));

        }
示例#5
0
 public void Parse(GameBitBuffer buffer)
 {
     Field0 = new Quaternion();
     Field0.Parse(buffer);
     ReferencePoint = new Vector3D();
     ReferencePoint.Parse(buffer);
 }
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Field1 = new Vector3D();
     Field1.Parse(buffer);
     Field2 = buffer.ReadInt(24);
     Field3 = buffer.ReadInt(21) + (-1);
     Field4 = buffer.ReadInt(32);
 }
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Field1 = new Vector3D();
     Field1.Parse(buffer);
     Field2 = new Vector3D();
     Field2.Parse(buffer);
     Field3 = buffer.ReadInt(32);
     Field4 = buffer.ReadInt(32);
     Field5 = buffer.ReadInt(32);
     Field6 = new DPathSinData();
     Field6.Parse(buffer);
 }
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Field1 = buffer.ReadInt(32);
     Field2 = buffer.ReadInt(32);
     Field3 = new Vector3D();
     Field3.Parse(buffer);
     Field4 = new Vector3D();
     Field4.Parse(buffer);
     Field5 = buffer.ReadFloat32();
     Field6 = buffer.ReadFloat32();
     Field7 = buffer.ReadInt(32);
     Field8 = new RGBAColor();
     Field8.Parse(buffer);
     Field9 = buffer.ReadCharArray(128);
 }
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Field1 = buffer.ReadInt(4);
     Field2 = buffer.ReadInt(32);
     Field3 = buffer.ReadInt(32);
     Field4 = new Vector3D();
     Field4.Parse(buffer);
     Field5 = buffer.ReadFloat32();
     Field6 = new Vector3D();
     Field6.Parse(buffer);
     Field7 = buffer.ReadInt(32);
     Field8 = buffer.ReadInt(32);
     Field9 = buffer.ReadInt(32);
     Field10 = buffer.ReadInt(32);
     Field11 = buffer.ReadInt(32);
     Field12 = buffer.ReadFloat32();
     Field13 = buffer.ReadFloat32();
     Field14 = new DPathSinData();
     Field14.Parse(buffer);
 }
示例#10
0
 public void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadFloat32();
     Field1 = new Vector3D();
     Field1.Parse(buffer);
 }
示例#11
0
        public bool ParseFrom(int worldId, string line)
        {
            var data = line.Split(' ');

            if (int.Parse(data[2]) == 0) return false; //skip inventory using items as their use is unknown

            this.WorldId = worldId;
            this.Id = int.Parse(data[4]);
            this.SnoId = int.Parse(data[5]);
            this.Field2 = int.Parse(data[6]);
            this.Field3 = int.Parse(data[7]);

            if (int.Parse(data[2]) > 0)
            {
                this.Scale = float.Parse(data[8], System.Globalization.CultureInfo.InvariantCulture);
                this.RotationAmount = float.Parse(data[12], System.Globalization.CultureInfo.InvariantCulture);
                this.RotationAxis = new Vector3D()
                                        {
                                            X = float.Parse(data[9], System.Globalization.CultureInfo.InvariantCulture),
                                            Y = float.Parse(data[10], System.Globalization.CultureInfo.InvariantCulture),
                                            Z = float.Parse(data[11], System.Globalization.CultureInfo.InvariantCulture),
                                        };

                this.Position = new Vector3D()
                                    {
                                        X = float.Parse(data[13], System.Globalization.CultureInfo.InvariantCulture),
                                        Y = float.Parse(data[14], System.Globalization.CultureInfo.InvariantCulture),
                                        Z = float.Parse(data[15], System.Globalization.CultureInfo.InvariantCulture),
                                    };
            }

            // data[14] = world_id

            if (int.Parse(data[3]) > 0)
            {
                this.InventoryLocationData = new InventoryLocationMessageData()
                {
                    Field0 = int.Parse(data[17]),
                    Field1 = int.Parse(data[18]),
                    Field2 = new IVector2D()
                    {
                        Field0 = int.Parse(data[19]),
                        Field1 = int.Parse(data[20]),
                    }
                };
            }

            this.GBHandle = new GBHandle()
            {
                Field0 = int.Parse(data[21]),
                Field1 = int.Parse(data[22]),
            };

            this.Field7 = int.Parse(data[23]);
            this.Field8 = int.Parse(data[24]);
            this.Field9 = int.Parse(data[25]);
            this.Field10 = byte.Parse(data[26]);

            return true;
        }
示例#12
0
 public float DotProduct(Vector3D v)
 {
     return Field0 * v.Field0 + Field1 * v.Field1 + Field2 * v.Field2;
 }
示例#13
0
 public void Parse(GameBitBuffer buffer)
 {
     Amount = buffer.ReadFloat32();
     Axis = new Vector3D();
     Axis.Parse(buffer);
 }