[build] downgrade lime,openfl (perfomance); remove yield
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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})));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user