[update] emit complete event

This commit is contained in:
2020-02-04 17:55:42 +03:00
parent 71d765c231
commit a3fef53956
3 changed files with 20 additions and 4 deletions

View File

@@ -45,6 +45,16 @@ class Game implements IGame {
return Math.abs(diff.x) + Math.abs(diff.y);
}
private function checkIsComplete():Bool {
for (part in partsById) {
switch part.location {
case IMAGE:
case _: return false;
}
}
return true;
}
private function onGameEvent(event:GameEvent):Void {
switch event {
case ACTION(PART_MOVE(id, point)):
@@ -59,6 +69,9 @@ class Game implements IGame {
if (d < 70) {
part.location = IMAGE;
signal.emit(CHANGE(PART_UPDATE(id, part.location)));
if (checkIsComplete()) {
signal.emit(COMPLETE);
}
} else {
part.location = TABLE(point);
signal.emit(CHANGE(PART_UPDATE(id, part.location)));

View File

@@ -67,6 +67,8 @@ class Render extends SpriteView implements IRender {
var part:PartView = parts[id];
part.complete();
imageView.addChild(part);
case COMPLETE:
trace("COMPLETE");
case _:
}
}

View File

@@ -1,7 +1,5 @@
package ru.m.puzzlez.render;
import flash.geom.Point;
import ru.m.puzzlez.render.mask.IPartMaskBuilder.DrawPath;
import flash.display.BitmapData;
import flash.display.Shape;
import flash.filters.BitmapFilter;
@@ -29,9 +27,12 @@ class RenderUtil {
var blur = 1;
var strength = 4;
var distance = 2;
var quality = BitmapFilterQuality.HIGH;
var inner = true;
var knockout = false;
return [
new DropShadowFilter(distance, 45 + 180, 0xffffff, alpha, blur, blur, strength, BitmapFilterQuality.HIGH, false),
new DropShadowFilter(distance, 45, 0x000000, alpha, blur, blur, strength, BitmapFilterQuality.HIGH, false),
new DropShadowFilter(distance, 45 + 180, 0xffffff, alpha, blur, blur, strength, quality, inner, knockout),
new DropShadowFilter(distance, 45, 0x000000, alpha, blur, blur, strength, quality, inner, knockout),
];
}