[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

@@ -87,7 +87,7 @@ const client = new Project(
config.branch({ config.branch({
name: 'client', name: 'client',
sources: [ sources: [
'src/fixes/haxe', //'src/fixes/haxe',
'src/client/haxe', 'src/client/haxe',
], ],
main: 'ru.m.tankz.Client', main: 'ru.m.tankz.Client',
@@ -124,7 +124,7 @@ const editor = new Project(
config.branch({ config.branch({
name: 'editor', name: 'editor',
sources: [ sources: [
'src/fixes/haxe', //'src/fixes/haxe',
'src/client/haxe', 'src/client/haxe',
'src/editor/haxe', 'src/editor/haxe',
], ],

View File

@@ -14,14 +14,13 @@
}, },
"haxeDependencies": { "haxeDependencies": {
"haxework": "git@bitbucket.org:shmyga/haxework.git", "haxework": "git@bitbucket.org:shmyga/haxework.git",
"lime": "7.6.1", "lime": "7.5.0",
"openfl": "8.9.3", "openfl": "8.9.1",
"hxcpp": "4.0.52", "hxcpp": "4.0.52",
"promhx": "1.1.0", "promhx": "1.1.0",
"protohx": "0.4.6", "protohx": "0.4.6",
"yaml": "1.3.0", "yaml": "1.3.0",
"orm": "2.1.0", "orm": "2.1.0",
"yield": "2.0.0",
"haxe-crypto": "0.0.7", "haxe-crypto": "0.0.7",
"svg": "1.1.2" "svg": "1.1.2"
} }

View File

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

View File

@@ -20,7 +20,7 @@ import ru.m.tankz.storage.RecordStorage;
} }
override public function onShow(_:Dynamic):Void { 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())); data.sort(function(a:GameRecordInfo, b:GameRecordInfo) return Std.int(b.date.getTime() - a.date.getTime()));
this.data.data = data; 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 { override public function apply(playerId:PlayerId, game:IGame, engine:IEngine):Void {
var tank:Tank = engine.getEntity(game.getPlayer(playerId).tankId); var tank:Tank = engine.getEntity(game.getPlayer(playerId).tankId);
if (tank != null) { 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}))); 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.Grid;
import ru.m.tankz.map.LevelMap; 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 config(default, default):Config;
public var map(default, null):LevelMap; public var map(default, null):LevelMap;
@@ -157,12 +157,14 @@ import ru.m.tankz.map.LevelMap;
moveSignal.dispose(); moveSignal.dispose();
} }
public function iterTanks(filter:Tank->Bool):Iterator<Tank> { public function getTanks(filter:Tank->Bool):Array<Tank> {
var result = [];
for (entity in entities) { for (entity in entities) {
var tank:Tank = EntityTypeResolver.as(entity, Tank); var tank:Tank = EntityTypeResolver.as(entity, Tank);
if (tank != null && filter(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 update():Void;
public function iterTanks(filter:Tank->Bool):Iterator<Tank>; public function getTanks(filter:Tank->Bool):Array<Tank>;
public function connect(listener:EngineListener):Void; 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 { public static function freezeTeam(game:IGame, engine:IEngine, teamId:TeamId, duration:Float):Void {
game.getTeam(teamId).freezing = true; game.getTeam(teamId).freezing = true;
for (tank in engine.iterTanks(teamId.teamTank())) { for (tank in engine.getTanks(teamId.teamTank())) {
tank.freezing = true; tank.freezing = true;
tank.stop(); tank.stop();
game.gameEventSignal.emit(STOP(TANK(tank.id))); game.gameEventSignal.emit(STOP(TANK(tank.id)));
@@ -69,7 +69,7 @@ class GameUtil {
} }
game.ticker.emit(function() { game.ticker.emit(function() {
game.getTeam(teamId).freezing = false; game.getTeam(teamId).freezing = false;
for (tank in engine.iterTanks(teamId.teamTank())) { for (tank in engine.getTanks(teamId.teamTank())) {
tank.freezing = false; tank.freezing = false;
game.gameEventSignal.emit(CHANGE(TANK_FREEZE(tank.id, tank.freezing))); game.gameEventSignal.emit(CHANGE(TANK_FREEZE(tank.id, tank.freezing)));
} }