[common] fix null color

This commit is contained in:
2019-05-30 16:03:46 +03:00
parent 01417f5bbd
commit 7115ea8ac2
4 changed files with 8 additions and 8 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "tankz",
"version": "0.13.0",
"version": "0.13.1",
"private": true,
"devDependencies": {
"dateformat": "^3.0.3",

View File

@@ -75,7 +75,7 @@ typedef PlayerConfig = {
@:optional var bonus:Float;
@:optional var protect:Float;
@:optional var life:Int;
@:optional var color:Color;
@:optional var color:Null<Int>;
@:optional var control:String;
}
@@ -89,7 +89,7 @@ typedef TeamConfig = {
@:optional var eagle:EagleConfig;
@:optional var life:Int;
@:optional var spawnInterval:Int;
@:optional var color:Color;
@:optional var color:Null<Int>;
}
typedef GamePreset = {
@@ -108,7 +108,7 @@ typedef LevelConfig = {
typedef PlayerControl = {
var playerId:PlayerId;
var control:String;
@:optional var color:Color;
@:optional var color:Null<Int>;
}
typedef ControlPreset = {
@@ -235,7 +235,7 @@ class Config {
public function getColor(playerId:PlayerId):Color {
var player = getPlayer(playerId);
if (player != null && !player.color.zero) {
if (player != null && player.color != null) {
return player.color;
}
var team = getTeam(playerId.team);

View File

@@ -44,11 +44,11 @@ class EntityBuilder {
return eagle;
}
public function buildTank(point:EntityPoint, playerId:PlayerId, type:TankType, color:Color, bonusOff:Bool = false):Tank {
public function buildTank(point:EntityPoint, playerId:PlayerId, type:TankType, color:Null<Color>, bonusOff:Bool = false):Tank {
var playerConfig = config.getPlayer(playerId);
var tankConfig = config.getTank(type);
var tank = new Tank(++entityId, buildRect(point, tankConfig.width, tankConfig.height), playerId, tankConfig);
tank.color = color.zero ? config.getColor(playerId) : color;
tank.color = color == null ? config.getColor(playerId) : color;
if (!bonusOff) {
tank.bonus = Math.random() < playerConfig.bonus;
}

View File

@@ -86,7 +86,7 @@ import ru.m.tankz.Type;
for (team in teams.iterator()) {
for (player in team.players.iterator()) {
var playerControl = controlsById.get(player.id);
if (playerControl != null && !playerControl.color.zero) {
if (playerControl != null && playerControl.color != null) {
player.state.color = playerControl.color;
}
var controlType:Controller = AController.fromString(playerControl != null ? playerControl.control : player.config.control);