From a3fef5395600709f1757d5ef3322259e6784f381 Mon Sep 17 00:00:00 2001 From: shmyga Date: Tue, 4 Feb 2020 17:55:42 +0300 Subject: [PATCH] [update] emit complete event --- src/haxe/ru/m/puzzlez/core/Game.hx | 13 +++++++++++++ src/haxe/ru/m/puzzlez/render/Render.hx | 2 ++ src/haxe/ru/m/puzzlez/render/RenderUtil.hx | 9 +++++---- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/haxe/ru/m/puzzlez/core/Game.hx b/src/haxe/ru/m/puzzlez/core/Game.hx index e1cb6eb..a1bd3af 100644 --- a/src/haxe/ru/m/puzzlez/core/Game.hx +++ b/src/haxe/ru/m/puzzlez/core/Game.hx @@ -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))); diff --git a/src/haxe/ru/m/puzzlez/render/Render.hx b/src/haxe/ru/m/puzzlez/render/Render.hx index 93ec05d..e28779d 100644 --- a/src/haxe/ru/m/puzzlez/render/Render.hx +++ b/src/haxe/ru/m/puzzlez/render/Render.hx @@ -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 _: } } diff --git a/src/haxe/ru/m/puzzlez/render/RenderUtil.hx b/src/haxe/ru/m/puzzlez/render/RenderUtil.hx index 2ec1e71..8c6c25e 100644 --- a/src/haxe/ru/m/puzzlez/render/RenderUtil.hx +++ b/src/haxe/ru/m/puzzlez/render/RenderUtil.hx @@ -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), ]; }