| import java.nio.ByteBuffer; |
| import MyGame.Example.Monster; |
| import MyGame.Example.Stat; |
| import com.google.flatbuffers.FlatBufferBuilder; |
| |
| class GameFactory { |
| public static Monster createMonster(String monsterName, short nestedMonsterHp, short nestedMonsterMana) { |
| FlatBufferBuilder builder = new FlatBufferBuilder(); |
| |
| int name_offset = builder.createString(monsterName); |
| Monster.startMonster(builder); |
| Monster.addName(builder, name_offset); |
| Monster.addHp(builder, nestedMonsterHp); |
| Monster.addMana(builder, nestedMonsterMana); |
| int monster_offset = Monster.endMonster(builder); |
| Monster.finishMonsterBuffer(builder, monster_offset); |
| |
| ByteBuffer buffer = builder.dataBuffer(); |
| Monster monster = Monster.getRootAsMonster(buffer); |
| return monster; |
| } |
| |
| public static Monster createMonsterFromStat(Stat stat, int seqNo) { |
| FlatBufferBuilder builder = new FlatBufferBuilder(); |
| int name_offset = builder.createString(stat.id() + " No." + seqNo); |
| Monster.startMonster(builder); |
| Monster.addName(builder, name_offset); |
| int monster_offset = Monster.endMonster(builder); |
| Monster.finishMonsterBuffer(builder, monster_offset); |
| Monster monster = Monster.getRootAsMonster(builder.dataBuffer()); |
| return monster; |
| } |
| |
| public static Stat createStat(String greeting, long val, int count) { |
| FlatBufferBuilder builder = new FlatBufferBuilder(); |
| int statOffset = Stat.createStat(builder, builder.createString(greeting), val, count); |
| builder.finish(statOffset); |
| Stat stat = Stat.getRootAsStat(builder.dataBuffer()); |
| return stat; |
| } |
| |
| } |