[client] update frames

This commit is contained in:
2019-06-27 11:59:28 +03:00
parent eb7c311bb6
commit fbc9238d2f
18 changed files with 131 additions and 88 deletions

View File

@@ -107,6 +107,7 @@ typedef GamePreset = {
}
typedef LevelConfig = {
@:optional var packId:PackId;
@:optional var id:LevelId;
var data:Array<BrickIndex>;
@:optional var name:String;

View File

@@ -238,10 +238,12 @@ class GameRunner extends Game implements EngineListener {
gameEventSignal.emit(DESTROY(BULLET(bullet.id)));
}
case [BULLET(bullet), EAGLE(eagle)]:
if (!eagle.protect) {
gameEventSignal.emit(DESTROY(EAGLE(eagle.id, buildShot(bullet, eagle.score))));
if (!eagle.death) {
if (!eagle.protect) {
gameEventSignal.emit(DESTROY(EAGLE(eagle.id, buildShot(bullet, eagle.score))));
}
gameEventSignal.emit(DESTROY(BULLET(bullet.id)));
}
gameEventSignal.emit(DESTROY(BULLET(bullet.id)));
case _:
}
}

View File

@@ -144,4 +144,8 @@ class GameState {
var playerState = players[id];
return (playerState == null || playerState.color.zero) ? config.getColor(id) : playerState.color;
}
public function clean():GameState {
return new GameState(type, presetId, null, controls);
}
}

View File

@@ -27,7 +27,7 @@ class PackProgress {
}
public function isPresetAvailable(levelId:LevelId, presetId:PresetId):Bool {
return presetId == 0 || completed.exists(levelId) && completed.get(levelId).presets.get(presetId - 1) != null;
return isLevelAvailable(levelId) && (presetId == 0 || (completed.exists(levelId) && completed.get(levelId).presets.get(presetId - 1) != null));
}
public function isPresetCompleted(levelId:LevelId, presetId:PresetId):Bool {