private static void WriteNonPrimitive(WriterState writer, object val) { switch (val) { case IDictionary <string, object> dictAsObj: // treat IDictionary<string, object> as Object type WriteDictionaryAsObject(writer, dictAsObj); break; case IDictionary _ when GenericWriter.WriteDictionary(writer, val): break; case IDictionary dictionary: WriteDictionary(writer, dictionary); break; case ICollection _ when GenericWriter.WriteDictionary(writer, val): break; case ICollection list: WriteList(writer, list); break; case IEnumerable enumerable: WriteEnumerable(writer, enumerable); break; default: WriteObject(writer, val); break; } }
public virtual void Serialize(GenericWriter writer) { writer.SetVersion(0); writer.Write(Item); writer.Write(Created); writer.WriteDeltaTime(Expire); writer.Write(Winner); writer.WriteDictionary( Rolls, (w, k, v) => { w.Write(k); if (v != null) { w.Write(true); v.Value.Serialize(w); } else { w.Write(false); } }); }
protected override void Serialize(GenericWriter writer) { int version = writer.SetVersion(0); switch (version) { case 0: { writer.WriteDictionary( this, (k, v) => { writer.Write(k); writer.WriteType( v, t => { if (t != null) { v.Serialize(writer); } }); }); } break; } }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); var version = writer.SetVersion(0); switch (version) { case 0: writer.WriteDictionary(_List, SerializeEntry); break; } }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.SetVersion(0); writer.WriteDictionary( _Statistics, (w, k, v) => { w.Write(k); w.Write(v); }); }
public void Serialize(GenericWriter writer) { int version = writer.SetVersion(0); switch (version) { case 0: { writer.Write(Account); writer.Write(Credits); writer.WriteDictionary( Transactions, (k, v) => { if (v == null || v.Account == null || String.IsNullOrWhiteSpace(v.Account.Username)) { writer.Write(false); } else { writer.Write(true); v.Serialize(writer); } }); writer.WriteDictionary( Gifts, (k, v) => { writer.Write(k); writer.Write(v); }); } break; } }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); int version = writer.SetVersion(0); switch (version) { case 0: { writer.Write(Flag); writer.Write(FlagPodium); writer.Write(Caps); writer.Write(FlagRespawnDelay); writer.Write(SolidHueOverride); writer.WriteDictionary( Attackers, (m, c) => { writer.Write(m); writer.Write(c); }); writer.WriteDictionary( Defenders, (m, c) => { writer.Write(m); writer.Write(c); }); } break; } }
public override void Serialize(GenericWriter writer) { _DynamicStock.RemoveRange(o => o.Key.Deleted || o.Value == null || o.Value.Item != o.Key); base.Serialize(writer); var version = writer.SetVersion(4); switch (version) { case 4: { writer.WriteDictionary(_DynamicStock, (w, item, info) => info.Serialize(w)); } goto case 3; case 3: { writer.Write(_WasStocked); writer.Write(CanRestock); } goto case 2; case 2: writer.WriteTextDef(_CashAbbr); goto case 1; case 1: CashProperty.Serialize(writer); goto case 0; case 0: { CashType.Serialize(writer); writer.WriteTextDef(_CashName); writer.Write(_ShowCashName); writer.Write(_Trading); writer.Write(Discount); writer.Write(DiscountEnabled); writer.Write(DiscountYell); } break; } }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); var version = writer.SetVersion(3); switch (version) { case 3: writer.WriteFlag(Level); goto case 2; case 2: writer.Write(RemoveLocked); goto case 1; case 1: { writer.Write(EditLocked); writer.Write(AddLocked); writer.Write(CloneEntryChargeCost); writer.WriteDictionary( ChargeTypes, (k, v) => { writer.WriteType(k); writer.Write(v); }); } goto case 0; case 0: { writer.Write(Charges); writer.Write(RecallChargeCost); writer.Write(GateChargeCost); writer.Write(_Descripton); Categories.Serialize(writer); } break; } }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); writer.Write(_Stage); writer.Write(_EvolutionPoints); writer.Write(NextEvolution); writer.Write(MaxStage); writer.Write(MaxAbilities); writer.Write(CurrentAbilities); writer.WriteDictionary( Metaskills, (t, s) => { writer.Write((int)t); s.Serialize(writer); }); }
public void Serialize(GenericWriter writer) { var version = writer.SetVersion(1); switch (version) { case 1: case 0: { writer.Write(Account); writer.Write(Credit); writer.WriteDictionary( Transactions, (w, k, v) => { if (v == null) { w.Write(false); } else { w.Write(true); if (version > 0) { w.Write(v.ID); } else { v.Serialize(w); } } }); } break; } }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); var version = writer.SetVersion(0); writer.Write(Owner); switch (version) { case 0: { writer.WriteDictionary( Entries, (w, k, v) => { w.WriteFlag(k); w.Write(v); }); } break; } }
public void Write(WriterState writer, T val) => GenericWriter.WriteDictionary(writer, val);