I’m currently writing an algo using the Java API from the starter kit. In my code, I have the following method to analyze the opponent’s spawning:
@Override
public void onActionFrame(GameIO io, GameState move) {
for (FrameData.Events.SpawnEvent spawnEvent : io.lastFrame().events.spawn) {
io.debug().println(spawnEvent + " in phase " + io.lastFrame().turnInfo.phase);
if (spawnEvent.owner == PlayerId.Player2) {
// code removed
}
}
}
However, spawnEvent.owner
always appears to be null, based on the logs:
SpawnEvent{spawnLocation=<13, 9>, spawningUnitType=Destructor, spawningUnitId='1', owner=null} in phase Action
SpawnEvent{spawnLocation=<11, 10>, spawningUnitType=Destructor, spawningUnitId='3', owner=null} in phase Action
SpawnEvent{spawnLocation=<8, 10>, spawningUnitType=Destructor, spawningUnitId='5', owner=null} in phase Action
SpawnEvent{spawnLocation=<15, 1>, spawningUnitType=Destructor, spawningUnitId='7', owner=null} in phase Action
SpawnEvent{spawnLocation=<15, 8>, spawningUnitType=Destructor, spawningUnitId='9', owner=null} in phase Action
SpawnEvent{spawnLocation=<17, 12>, spawningUnitType=Destructor, spawningUnitId='11', owner=null} in phase Action
SpawnEvent{spawnLocation=<27, 14>, spawningUnitType=Destructor, spawningUnitId='13', owner=null} in phase Action
SpawnEvent{spawnLocation=<0, 14>, spawningUnitType=Destructor, spawningUnitId='15', owner=null} in phase Action
What’s going on?