blob: e4770dddbd416fbd594a257118ab2fdb1b1875ea [file] [log] [blame]
James Kuszmaul8e62b022022-03-22 09:33:25 -07001// <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))]
6public enum Gadget : byte
7{
8 NONE = 0,
9 FallingTub = 1,
10 HandFan = 2,
11};
12
13public class GadgetUnion {
14 public Gadget Type { get; set; }
15 public object Value { get; set; }
16
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; }
23 public FallingTubT AsFallingTub() { return this.As<FallingTubT>(); }
24 public static GadgetUnion FromFallingTub(FallingTubT _fallingtub) { return new GadgetUnion{ Type = Gadget.FallingTub, Value = _fallingtub }; }
25 public HandFanT AsHandFan() { return this.As<HandFanT>(); }
26 public static GadgetUnion FromHandFan(HandFanT _handfan) { return new GadgetUnion{ Type = Gadget.HandFan, Value = _handfan }; }
27
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
37public class GadgetUnion_JsonConverter : Newtonsoft.Json.JsonConverter {
38 public override bool CanConvert(System.Type objectType) {
39 return objectType == typeof(GadgetUnion) || objectType == typeof(System.Collections.Generic.List<GadgetUnion>);
40 }
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 }
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 }
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 }
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