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); }
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); }
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)); } }
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); } }
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); }