//
// automatically generated by the FlatBuffers compiler, do not modify
//
namespace MyGame.Example
{
public enum AnyUniqueAliases : byte
{
NONE = 0,
M = 1,
TS = 2,
M2 = 3,
};
public class AnyUniqueAliasesUnion {
public AnyUniqueAliases Type { get; set; }
public object Value { get; set; }
public AnyUniqueAliasesUnion() {
this.Type = AnyUniqueAliases.NONE;
this.Value = null;
}
public T As() where T : class { return this.Value as T; }
public MyGame.Example.MonsterT AsM() { return this.As(); }
internal MyGame.Example.TestSimpleTableWithEnumT AsTS() { return this.As(); }
public MyGame.Example2.MonsterT AsM2() { return this.As(); }
public static int Pack(FlatBuffers.FlatBufferBuilder builder, AnyUniqueAliasesUnion _o) {
switch (_o.Type) {
default: return 0;
case AnyUniqueAliases.M: return MyGame.Example.Monster.Pack(builder, _o.AsM()).Value;
case AnyUniqueAliases.TS: return MyGame.Example.TestSimpleTableWithEnum.Pack(builder, _o.AsTS()).Value;
case AnyUniqueAliases.M2: return MyGame.Example2.Monster.Pack(builder, _o.AsM2()).Value;
}
}
}
}