1*890232f2SAndroid Build Coastguard Worker import java.nio.ByteBuffer; 2*890232f2SAndroid Build Coastguard Worker import MyGame.Example.Monster; 3*890232f2SAndroid Build Coastguard Worker import MyGame.Example.Stat; 4*890232f2SAndroid Build Coastguard Worker import com.google.flatbuffers.FlatBufferBuilder; 5*890232f2SAndroid Build Coastguard Worker 6*890232f2SAndroid Build Coastguard Worker class GameFactory { createMonster(String monsterName, short nestedMonsterHp, short nestedMonsterMana)7*890232f2SAndroid Build Coastguard Worker public static Monster createMonster(String monsterName, short nestedMonsterHp, short nestedMonsterMana) { 8*890232f2SAndroid Build Coastguard Worker FlatBufferBuilder builder = new FlatBufferBuilder(); 9*890232f2SAndroid Build Coastguard Worker 10*890232f2SAndroid Build Coastguard Worker int name_offset = builder.createString(monsterName); 11*890232f2SAndroid Build Coastguard Worker Monster.startMonster(builder); 12*890232f2SAndroid Build Coastguard Worker Monster.addName(builder, name_offset); 13*890232f2SAndroid Build Coastguard Worker Monster.addHp(builder, nestedMonsterHp); 14*890232f2SAndroid Build Coastguard Worker Monster.addMana(builder, nestedMonsterMana); 15*890232f2SAndroid Build Coastguard Worker int monster_offset = Monster.endMonster(builder); 16*890232f2SAndroid Build Coastguard Worker Monster.finishMonsterBuffer(builder, monster_offset); 17*890232f2SAndroid Build Coastguard Worker 18*890232f2SAndroid Build Coastguard Worker ByteBuffer buffer = builder.dataBuffer(); 19*890232f2SAndroid Build Coastguard Worker Monster monster = Monster.getRootAsMonster(buffer); 20*890232f2SAndroid Build Coastguard Worker return monster; 21*890232f2SAndroid Build Coastguard Worker } 22*890232f2SAndroid Build Coastguard Worker createMonsterFromStat(Stat stat, int seqNo)23*890232f2SAndroid Build Coastguard Worker public static Monster createMonsterFromStat(Stat stat, int seqNo) { 24*890232f2SAndroid Build Coastguard Worker FlatBufferBuilder builder = new FlatBufferBuilder(); 25*890232f2SAndroid Build Coastguard Worker int name_offset = builder.createString(stat.id() + " No." + seqNo); 26*890232f2SAndroid Build Coastguard Worker Monster.startMonster(builder); 27*890232f2SAndroid Build Coastguard Worker Monster.addName(builder, name_offset); 28*890232f2SAndroid Build Coastguard Worker int monster_offset = Monster.endMonster(builder); 29*890232f2SAndroid Build Coastguard Worker Monster.finishMonsterBuffer(builder, monster_offset); 30*890232f2SAndroid Build Coastguard Worker Monster monster = Monster.getRootAsMonster(builder.dataBuffer()); 31*890232f2SAndroid Build Coastguard Worker return monster; 32*890232f2SAndroid Build Coastguard Worker } 33*890232f2SAndroid Build Coastguard Worker createStat(String greeting, long val, int count)34*890232f2SAndroid Build Coastguard Worker public static Stat createStat(String greeting, long val, int count) { 35*890232f2SAndroid Build Coastguard Worker FlatBufferBuilder builder = new FlatBufferBuilder(); 36*890232f2SAndroid Build Coastguard Worker int statOffset = Stat.createStat(builder, builder.createString(greeting), val, count); 37*890232f2SAndroid Build Coastguard Worker builder.finish(statOffset); 38*890232f2SAndroid Build Coastguard Worker Stat stat = Stat.getRootAsStat(builder.dataBuffer()); 39*890232f2SAndroid Build Coastguard Worker return stat; 40*890232f2SAndroid Build Coastguard Worker } 41*890232f2SAndroid Build Coastguard Worker 42*890232f2SAndroid Build Coastguard Worker } 43