1 // <auto-generated> 2 // automatically generated by the FlatBuffers compiler, do not modify 3 // </auto-generated> 4 5 [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] 6 public enum Gadget : byte 7 { 8 NONE = 0, 9 FallingTub = 1, 10 HandFan = 2, 11 }; 12 13 public class GadgetUnion { 14 public Gadget Type { get; set; } 15 public object Value { get; set; } 16 GadgetUnion()17 public GadgetUnion() { 18 this.Type = Gadget.NONE; 19 this.Value = null; 20 } 21 22 public T As<T>() where T : class { return this.Value as T; } AsFallingTub()23 public FallingTubT AsFallingTub() { return this.As<FallingTubT>(); } FromFallingTub(FallingTubT _fallingtub)24 public static GadgetUnion FromFallingTub(FallingTubT _fallingtub) { return new GadgetUnion{ Type = Gadget.FallingTub, Value = _fallingtub }; } AsHandFan()25 public HandFanT AsHandFan() { return this.As<HandFanT>(); } FromHandFan(HandFanT _handfan)26 public static GadgetUnion FromHandFan(HandFanT _handfan) { return new GadgetUnion{ Type = Gadget.HandFan, Value = _handfan }; } 27 Pack(FlatBuffers.FlatBufferBuilder builder, GadgetUnion _o)28 public static int Pack(FlatBuffers.FlatBufferBuilder builder, GadgetUnion _o) { 29 switch (_o.Type) { 30 default: return 0; 31 case Gadget.FallingTub: return FallingTub.Pack(builder, _o.AsFallingTub()).Value; 32 case Gadget.HandFan: return HandFan.Pack(builder, _o.AsHandFan()).Value; 33 } 34 } 35 } 36 37 public class GadgetUnion_JsonConverter : Newtonsoft.Json.JsonConverter { CanConvert(System.Type objectType)38 public override bool CanConvert(System.Type objectType) { 39 return objectType == typeof(GadgetUnion) || objectType == typeof(System.Collections.Generic.List<GadgetUnion>); 40 } WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)41 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) { 42 var _olist = value as System.Collections.Generic.List<GadgetUnion>; 43 if (_olist != null) { 44 writer.WriteStartArray(); 45 foreach (var _o in _olist) { this.WriteJson(writer, _o, serializer); } 46 writer.WriteEndArray(); 47 } else { 48 this.WriteJson(writer, value as GadgetUnion, serializer); 49 } 50 } WriteJson(Newtonsoft.Json.JsonWriter writer, GadgetUnion _o, Newtonsoft.Json.JsonSerializer serializer)51 public void WriteJson(Newtonsoft.Json.JsonWriter writer, GadgetUnion _o, Newtonsoft.Json.JsonSerializer serializer) { 52 if (_o == null) return; 53 serializer.Serialize(writer, _o.Value); 54 } ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer)55 public override object ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) { 56 var _olist = existingValue as System.Collections.Generic.List<GadgetUnion>; 57 if (_olist != null) { 58 for (var _j = 0; _j < _olist.Count; ++_j) { 59 reader.Read(); 60 _olist[_j] = this.ReadJson(reader, _olist[_j], serializer); 61 } 62 reader.Read(); 63 return _olist; 64 } else { 65 return this.ReadJson(reader, existingValue as GadgetUnion, serializer); 66 } 67 } ReadJson(Newtonsoft.Json.JsonReader reader, GadgetUnion _o, Newtonsoft.Json.JsonSerializer serializer)68 public GadgetUnion ReadJson(Newtonsoft.Json.JsonReader reader, GadgetUnion _o, Newtonsoft.Json.JsonSerializer serializer) { 69 if (_o == null) return null; 70 switch (_o.Type) { 71 default: break; 72 case Gadget.FallingTub: _o.Value = serializer.Deserialize<FallingTubT>(reader); break; 73 case Gadget.HandFan: _o.Value = serializer.Deserialize<HandFanT>(reader); break; 74 } 75 return _o; 76 } 77 } 78 79