[client] add ResultFrame
This commit is contained in:
@@ -106,7 +106,7 @@ class BotControl extends Control {
|
||||
// ToDo:
|
||||
if (handler == null || tank == null) return;
|
||||
var eagle:Eagle = BotHelper.findEagle(playerId.team, handler);
|
||||
if (eagle != null && Math.random() > 0.25) {
|
||||
if (eagle != null && Math.random() > 0.5) {
|
||||
action(TankAction.MOVE(BotHelper.getDirectionTo(tank, eagle)));
|
||||
} else {
|
||||
action(TankAction.MOVE(BotHelper.randomDirection()));
|
||||
|
||||
@@ -117,6 +117,8 @@ class Config {
|
||||
private var tankMap:Map<TankType, TankConfig>;
|
||||
private var presetsMap:Map<PresetId, GamePreset>;
|
||||
private var bonusMap:Map<BonusType, BonusConfig>;
|
||||
private var teamsMap:Map<TeamId, TeamConfig>;
|
||||
private var playersMap:Map<String, PlayerConfig>;
|
||||
|
||||
public function new(
|
||||
type:String,
|
||||
@@ -158,6 +160,16 @@ class Config {
|
||||
for (item in bonuses) {
|
||||
bonusMap.set(item.type, item);
|
||||
}
|
||||
teamsMap = new Map();
|
||||
playersMap = new Map();
|
||||
for (preset in presets) {
|
||||
for (team in preset.teams) {
|
||||
teamsMap.set(team.id, team);
|
||||
for (player in team.players) {
|
||||
playersMap.set(new PlayerId(team.id, player.index), player);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getBrick(type:BrickType):BrickConfig {
|
||||
@@ -179,4 +191,24 @@ class Config {
|
||||
public function getBonus(type:BonusType):BonusConfig {
|
||||
return bonusMap.get(type);
|
||||
}
|
||||
|
||||
public function getTeam(team:TeamId):TeamConfig {
|
||||
return teamsMap.get(team);
|
||||
}
|
||||
|
||||
public function getPlayer(playerId:PlayerId):PlayerConfig {
|
||||
return playersMap.get(playerId);
|
||||
}
|
||||
|
||||
public function getColor(playerId:PlayerId):Color {
|
||||
var player = getPlayer(playerId);
|
||||
if (player != null && !player.color.zero) {
|
||||
return player.color;
|
||||
}
|
||||
var team = getTeam(playerId.team);
|
||||
if (team != null) {
|
||||
return team.color;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ class GameState {
|
||||
public var level:Int;
|
||||
public var players:Array<PlayerState>;
|
||||
public var preset(get, null):GamePreset;
|
||||
public var config(get, null):Config;
|
||||
|
||||
@:provide private var configBundle:IConfigBundle;
|
||||
|
||||
@@ -49,4 +50,8 @@ class GameState {
|
||||
var preset = config.getPreset(presetId);
|
||||
return preset;
|
||||
}
|
||||
|
||||
private function get_config():Config {
|
||||
return configBundle.get(type);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user