[build] downgrade lime,openfl (perfomance); remove yield

This commit is contained in:
2019-09-05 22:02:54 +03:00
parent 47039bbaa5
commit 40bdf6a5cc
8 changed files with 19 additions and 16 deletions

View File

@@ -15,7 +15,7 @@ class DestroyTeamBonus extends BaseBonus {
override public function apply(playerId:PlayerId, game:IGame, engine:IEngine):Void {
var tank:Tank = engine.getEntity(game.getPlayer(playerId).tankId);
if (tank != null) {
for (t in engine.iterTanks(tank.playerId.team.alienTank())) {
for (t in engine.getTanks(tank.playerId.team.alienTank())) {
game.gameEventSignal.emit(DESTROY(TANK(t.id, {tankId: tank.id})));
}
}

View File

@@ -12,7 +12,7 @@ import ru.m.tankz.engine.IEngine;
import ru.m.tankz.map.Grid;
import ru.m.tankz.map.LevelMap;
@:yield @:dispatcher(EngineListener) class Engine implements IEngine {
@:dispatcher(EngineListener) class Engine implements IEngine {
public var config(default, default):Config;
public var map(default, null):LevelMap;
@@ -157,12 +157,14 @@ import ru.m.tankz.map.LevelMap;
moveSignal.dispose();
}
public function iterTanks(filter:Tank->Bool):Iterator<Tank> {
public function getTanks(filter:Tank->Bool):Array<Tank> {
var result = [];
for (entity in entities) {
var tank:Tank = EntityTypeResolver.as(entity, Tank);
if (tank != null && filter(tank)) {
@yield return tank;
result.push(tank);
}
}
return result;
}
}

View File

@@ -33,7 +33,7 @@ interface IEngine {
public function update():Void;
public function iterTanks(filter:Tank->Bool):Iterator<Tank>;
public function getTanks(filter:Tank->Bool):Array<Tank>;
public function connect(listener:EngineListener):Void;

View File

@@ -61,7 +61,7 @@ class GameUtil {
public static function freezeTeam(game:IGame, engine:IEngine, teamId:TeamId, duration:Float):Void {
game.getTeam(teamId).freezing = true;
for (tank in engine.iterTanks(teamId.teamTank())) {
for (tank in engine.getTanks(teamId.teamTank())) {
tank.freezing = true;
tank.stop();
game.gameEventSignal.emit(STOP(TANK(tank.id)));
@@ -69,7 +69,7 @@ class GameUtil {
}
game.ticker.emit(function() {
game.getTeam(teamId).freezing = false;
for (tank in engine.iterTanks(teamId.teamTank())) {
for (tank in engine.getTanks(teamId.teamTank())) {
tank.freezing = false;
game.gameEventSignal.emit(CHANGE(TANK_FREEZE(tank.id, tank.freezing)));
}