[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

@@ -4,7 +4,7 @@ import haxe.DynamicAccess;
import haxework.storage.SharedObjectStorage;
import ru.m.tankz.game.record.GameRecord;
@:yield class RecordStorage extends SharedObjectStorage {
class RecordStorage extends SharedObjectStorage {
private static inline var VERSION = 1;
@@ -23,17 +23,19 @@ import ru.m.tankz.game.record.GameRecord;
super.delete('${id}.info');
}
public function iterator():Iterator<GameRecordInfo> {
public function list():Array<GameRecordInfo> {
var result = [];
var data:DynamicAccess<String> = so.data;
for (id in data.keys()) {
try {
if (StringTools.endsWith(id, '.info')) {
@yield return read(id);
result.push(read(id));
}
} catch (error:Dynamic) {
L.w("RecordStorage", 'read ', error);
delete(id);
}
}
return result;
}
}

View File

@@ -20,7 +20,7 @@ import ru.m.tankz.storage.RecordStorage;
}
override public function onShow(_:Dynamic):Void {
var data = Lambda.array(recordStorage);
var data = recordStorage.list();
data.sort(function(a:GameRecordInfo, b:GameRecordInfo) return Std.int(b.date.getTime() - a.date.getTime()));
this.data.data = data;
}

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)));
}