public override void WriteToBinary(IConfigBinary binary, IData data) { if (typeof(T) == typeof(int)) { binary.Write((int)data.Object); } else if (typeof(T) == typeof(uint)) { binary.Write((uint)data.Object); } else if (typeof(T) == typeof(float)) { binary.Write((float)data.Object); } else if (typeof(T) == typeof(long)) { binary.Write((long)data.Object); } else if (typeof(T) == typeof(ulong)) { binary.Write((ulong)data.Object); } else if (typeof(T) == typeof(bool)) { binary.Write((bool)data.Object); } }
public override void WriteToBinary(IConfigBinary binary, IData obj) { List <IData> data = (List <IData>)obj.Object; binary.Write((float)data[0].Object); binary.Write((float)data[1].Object); }
public virtual void WriteToPool(IConfigBinary binary, IPooledData obj) { PooledArrayData arrayData = (PooledArrayData)obj; binary.Write(arrayData.Count); foreach (var data in arrayData.Data) { data.WriteToBinary(binary); } }
public int GetPoolIndex(IConfigBinary binary) { if (poolIndex < 0) { Pool pool = binary.GetPool(PooledColumnType); poolIndex = pool.GetIndex(this); } return(poolIndex); }
private static int[] LoadIntArray(IConfigBinary binary) { var count = binary.ReadInt(); var arr = new int[count]; for (int i = 0; i < count; i++) { arr[i] = binary.ReadInt(); } return(arr); }
private static string[] LoadStringArray(IConfigBinary binary) { var count = binary.ReadInt(); var arr = new string[count]; for (int i = 0; i < count; i++) { arr[i] = poolString[binary.ReadInt()]; } return(arr); }
public override void WriteToBinary(IConfigBinary binary, IData obj) { if (obj.Object == null) { binary.Write(-1L); } else { DateTime dt = (DateTime)obj.Object; binary.Write(new DateTimeOffset(dt).ToUnixTimeSeconds()); } }
public int GetPoolIndex(IConfigBinary binary) { if (poolIndex < 0) { Pool pool = binary.GetPool(PooledColumnType); poolIndex = pool.GetIndex(this); foreach (var data in Data) { (data as IPooledData)?.GetPoolIndex(binary); } } return(poolIndex); }
public override void WriteToBinary(IConfigBinary binary, IData obj) { var pooledData = obj as IPooledData; if (pooledData != null) { binary.Write(pooledData.GetPoolIndex(binary)); } //else //{ // IArrayData arrayData = (IArrayData)obj; // binary.Write(arrayData.Count); // foreach (var data in arrayData.Data) // { // data.WriteToBinary(binary); // } //} }
public abstract void WriteToBinary(IConfigBinary binary, IData obj);
public override void WriteToBinary(IConfigBinary binary, IData obj) { binary.Write((int)obj.Object); }
public void WriteToPool(IConfigBinary binary, IPooledData obj) { binary.Write((string)obj.Object); }
public override void WriteToBinary(IConfigBinary binary, IData obj) { binary.Write(((IPooledData)obj).GetPoolIndex(binary)); }
public static void WriteToPool(this IPooledData self, IConfigBinary binary) { self.PooledColumnType.WriteToPool(binary, self); }
public static void WriteToBinary(this IData self, IConfigBinary binary) { self.ColumnType.WriteToBinary(binary, self); }