[update] emit complete event
This commit is contained in:
@@ -45,6 +45,16 @@ class Game implements IGame {
|
|||||||
return Math.abs(diff.x) + Math.abs(diff.y);
|
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 {
|
private function onGameEvent(event:GameEvent):Void {
|
||||||
switch event {
|
switch event {
|
||||||
case ACTION(PART_MOVE(id, point)):
|
case ACTION(PART_MOVE(id, point)):
|
||||||
@@ -59,6 +69,9 @@ class Game implements IGame {
|
|||||||
if (d < 70) {
|
if (d < 70) {
|
||||||
part.location = IMAGE;
|
part.location = IMAGE;
|
||||||
signal.emit(CHANGE(PART_UPDATE(id, part.location)));
|
signal.emit(CHANGE(PART_UPDATE(id, part.location)));
|
||||||
|
if (checkIsComplete()) {
|
||||||
|
signal.emit(COMPLETE);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
part.location = TABLE(point);
|
part.location = TABLE(point);
|
||||||
signal.emit(CHANGE(PART_UPDATE(id, part.location)));
|
signal.emit(CHANGE(PART_UPDATE(id, part.location)));
|
||||||
|
|||||||
@@ -67,6 +67,8 @@ class Render extends SpriteView implements IRender {
|
|||||||
var part:PartView = parts[id];
|
var part:PartView = parts[id];
|
||||||
part.complete();
|
part.complete();
|
||||||
imageView.addChild(part);
|
imageView.addChild(part);
|
||||||
|
case COMPLETE:
|
||||||
|
trace("COMPLETE");
|
||||||
case _:
|
case _:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
package ru.m.puzzlez.render;
|
package ru.m.puzzlez.render;
|
||||||
|
|
||||||
import flash.geom.Point;
|
|
||||||
import ru.m.puzzlez.render.mask.IPartMaskBuilder.DrawPath;
|
|
||||||
import flash.display.BitmapData;
|
import flash.display.BitmapData;
|
||||||
import flash.display.Shape;
|
import flash.display.Shape;
|
||||||
import flash.filters.BitmapFilter;
|
import flash.filters.BitmapFilter;
|
||||||
@@ -29,9 +27,12 @@ class RenderUtil {
|
|||||||
var blur = 1;
|
var blur = 1;
|
||||||
var strength = 4;
|
var strength = 4;
|
||||||
var distance = 2;
|
var distance = 2;
|
||||||
|
var quality = BitmapFilterQuality.HIGH;
|
||||||
|
var inner = true;
|
||||||
|
var knockout = false;
|
||||||
return [
|
return [
|
||||||
new DropShadowFilter(distance, 45 + 180, 0xffffff, 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, BitmapFilterQuality.HIGH, false),
|
new DropShadowFilter(distance, 45, 0x000000, alpha, blur, blur, strength, quality, inner, knockout),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user