[common] build tank and bullet with EntityBulder

This commit is contained in:
2019-05-06 17:53:34 +03:00
parent d6b572aead
commit 20b60009e3
11 changed files with 105 additions and 97 deletions

View File

@@ -1,6 +1,5 @@
package ru.m.tankz.render;
import ru.m.tankz.core.EntityType;
import flash.display.DisplayObjectContainer;
import flash.display.Graphics;
import flash.display.Sprite;
@@ -11,6 +10,7 @@ import promhx.Promise;
import ru.m.animate.Animate;
import ru.m.animate.OnceAnimate;
import ru.m.geom.Point;
import ru.m.tankz.core.EntityType;
import ru.m.tankz.engine.IEngine;
import ru.m.tankz.game.GameEvent;
import ru.m.tankz.game.IGame;
@@ -105,6 +105,16 @@ class Render extends SpriteView implements GameListener implements EngineListene
items.set(eagle.key, item);
entryLayer.addChild(item.view);
item.update();
case TANK(tank):
var item = new TankItem(tank);
items.set(tank.key, item);
entryLayer.addChild(item.view);
item.update();
playAnimate(tank.rect.center, AnimateBundle.tankSpawn());
case BULLET(bullet):
var item = new BulletItem(bullet);
items.set(bullet.key, item);
entryLayer.addChild(item.view);
case _:
}
}
@@ -117,17 +127,17 @@ class Render extends SpriteView implements GameListener implements EngineListene
public function onGameEvent(event:GameEvent):Void {
switch event {
case SPAWN(TANK(tank)):
/*case SPAWN(TANK(tank)):
var item = new TankItem(tank);
items.set(tank.key, item);
entryLayer.addChild(item.view);
item.update();
playAnimate(tank.rect.center, AnimateBundle.tankSpawn());
case SPAWN(BULLET(bullet)):
playAnimate(tank.rect.center, AnimateBundle.tankSpawn());*/
/*case SPAWN(BULLET(bullet)):
var item = new BulletItem(bullet);
items.set(bullet.key, item);
entryLayer.addChild(item.view);
item.update();
item.update();*/
/*case SPAWN(EAGLE(eagle)):
var item = new EagleItem(eagle);
items.set(eagle.key, item);

View File

@@ -78,7 +78,7 @@ class SoundManager implements GameListener {
switch event {
case START(state):
play('start');
case SPAWN(BULLET(bullet)):
case SPAWN(BULLET(_)):
if (false /* ToDo: human tank */) {
play('shot');
}

View File

@@ -92,7 +92,8 @@ class GameFrame extends GroupView implements GameListener {
progress.completeLevel(result.levelId, result.presetId);
gameStorage.set(progress);
s;
case None: null;
case None:
new GameState(state.type, state.presetId, 0);
}
stop();
switcher.change(ResultFrame.ID);