package bwapi;
import bwapi.*;
import java.util.Map;
import java.util.HashMap;
import java.util.Collection;
import java.util.List;
/**
Events correspond to AIModule callbacks and can be obtained by calling Game::getEvents.
*/
public class Event {
/**
Returns the Position. Used in EventType::NukeDetect.
*/
public Position getPosition() {
return getPosition_native(pointer);
}
/**
Returns the text. Used in EventType::SendText, EventType::ReceiveText, EventType::SaveGame.
*/
public String getText() {
return getText_native(pointer);
}
/**
Returns the unit. Used in EventType::UnitDiscover, EventType::UnitEvade, EventType::UnitCreate, EventType::UnitDestroy, EventType::UnitShow, EventType::UnitHide, EventType::UnitMorph, EventType::UnitRenegade, and EventType::UnitComplete.
*/
public Unit getUnit() {
return getUnit_native(pointer);
}
/**
Returns the player. Used in EventType::ReceiveText and EventType::PlayerLeft.
*/
public Player getPlayer() {
return getPlayer_native(pointer);
}
/**
Returns true if the BWAPI-controlled player is the winner. Used in EventType::MatchEnd.
*/
public boolean isWinner() {
return isWinner_native(pointer);
}
private static Map instances = new HashMap();
private Event(long pointer) {
this.pointer = pointer;
}
private static Event get(long pointer) {
Event instance = instances.get(pointer);
if (instance == null ) {
instance = new Event(pointer);
instances.put(pointer, instance);
}
return instance;
}
private long pointer;
private native Position getPosition_native(long pointer);
private native String getText_native(long pointer);
private native Unit getUnit_native(long pointer);
private native Player getPlayer_native(long pointer);
private native boolean isWinner_native(long pointer);
}