// automatically generated by the FlatBuffers compiler, do not modify

package MyGame.OtherNameSpace;

import com.google.flatbuffers.*;
import java.nio.*;
import java.util.*;

public class UnusedT {
  private int a;

  public int getA() {
    return a;
  }

  public void setA(int a) {
    this.a = a;
  }

  public UnusedT() {
    this.a = 0;
  }
}
