Пример #1
0
 public static void Save(this Color v, FakeStruct fake, int offset)
 {
     fake.SetFloat(offset, v.r);
     fake.SetFloat(offset + 1, v.g);
     fake.SetFloat(offset + 2, v.b);
     fake.SetFloat(offset + 3, v.a);
 }
Пример #2
0
 public static void Save(this Quaternion v, FakeStruct fake, int offset)
 {
     fake.SetFloat(offset, v.x);
     fake.SetFloat(offset + 1, v.y);
     fake.SetFloat(offset + 2, v.z);
     fake.SetFloat(offset + 3, v.w);
 }
Пример #3
0
 void WriteValue(FakeStruct fake, int offset, DataFieldInfo info, object instance)
 {
     if (info.DBType < 6)
     {
         fake[offset] = Convert.ToInt32(info.field.GetValue(instance));
     }
     else if (info.DBType == DataType2.Float)
     {
         fake.SetFloat(offset, Convert.ToSingle(info.field.GetValue(instance)));
     }
     else if (info.DBType < 8)
     {
         fake.SetInt64(offset, Convert.ToInt64(info.field.GetValue(instance)));
     }
     else if (info.DBType == DataType2.Double)
     {
         fake.SetDouble(offset, Convert.ToDouble(info.field.GetValue(instance)));
     }
     else if (info.DBType == DataType2.Decimal)
     {
         fake.SetDecimal(offset, Convert.ToDecimal(info.field.GetValue(instance)));
     }
     else if (info.DBType == DataType2.Boolean)
     {
         fake[offset] = Convert.ToInt32(info.field.GetValue(instance));
     }
     else if (info.DBType == 12)
     {
         WriteStruct(fake, offset, info, info.field.GetValue(instance));
     }
 }
Пример #4
0
 void WriteValue(FakeStruct fake, int offset, DataFieldInfo info, IntPtr ptr)
 {
     if (info.DBType < 6)
     {
         if (info.DataLength == 1)
         {
             unsafe { fake[offset] = *(byte *)(ptr + info.MemOffset); }
         }
         else if (info.DataLength == 2)
         {
             unsafe { fake[offset] = *(Int16 *)(ptr + info.MemOffset); }
         }
         else
         {
             unsafe { fake[offset] = *(Int32 *)(ptr + info.MemOffset); }
         }
     }
     else if (info.DBType == DataType2.Float)
     {
         unsafe { fake.SetFloat(offset, *(float *)(ptr + info.MemOffset)); }
     }
     else if (info.DBType < 8)
     {
         unsafe { fake.SetInt64(offset, *(Int64 *)(ptr + info.MemOffset)); }
     }
     else if (info.DBType == DataType2.Double)
     {
         unsafe { fake.SetDouble(offset, *(Double *)(ptr + info.MemOffset)); }
     }
     else if (info.DBType == DataType2.Decimal)
     {
         unsafe { fake.SetDecimal(offset, *(Decimal *)(ptr + info.MemOffset)); }
     }
     else if (info.DBType == DataType2.Boolean)
     {
         unsafe { fake[offset] = *(byte *)(ptr + info.MemOffset); }
     }
     else if (info.DBType == 12)
     {
         WriteStruct(fake, offset, info, ptr + info.MemOffset);
     }
 }
Пример #5
0
 public static void Save(this Vector3 v, FakeStruct fake, int offset)
 {
     fake.SetFloat(offset, v.x);
     fake.SetFloat(offset + 1, v.y);
     fake.SetFloat(offset + 2, v.z);
 }