From 621454ccb43cbbd89a0ee5928599c6ccaa4fc84f Mon Sep 17 00:00:00 2001 From: shmyga Date: Fri, 28 May 2021 20:59:05 +0300 Subject: [PATCH] refactor(app): add core package --- .../ru/m/{puzzlez/image => cache}/StorageCache.hx | 2 +- src/app/haxe/ru/m/puzzlez/core/Action.hx | 13 +++++++++++++ .../ru/m/puzzlez/{image => core}/ImageSource.hx | 10 +--------- src/app/haxe/ru/m/puzzlez/core/ImageValue.hx | 10 ++++++++++ src/app/haxe/ru/m/puzzlez/image/ImageData.hx | 3 ++- .../haxe/ru/m/puzzlez/image/ImageSourceBundle.hx | 2 ++ .../haxe/ru/m/puzzlez/source/AssetImageSource.hx | 5 +++-- src/app/haxe/ru/m/puzzlez/source/FileImageSource.hx | 3 ++- .../haxe/ru/m/puzzlez/source/PixabayImageSource.hx | 3 ++- 9 files changed, 36 insertions(+), 15 deletions(-) rename src/app/haxe/ru/m/{puzzlez/image => cache}/StorageCache.hx (97%) create mode 100644 src/app/haxe/ru/m/puzzlez/core/Action.hx rename src/app/haxe/ru/m/puzzlez/{image => core}/ImageSource.hx (57%) create mode 100644 src/app/haxe/ru/m/puzzlez/core/ImageValue.hx diff --git a/src/app/haxe/ru/m/puzzlez/image/StorageCache.hx b/src/app/haxe/ru/m/cache/StorageCache.hx similarity index 97% rename from src/app/haxe/ru/m/puzzlez/image/StorageCache.hx rename to src/app/haxe/ru/m/cache/StorageCache.hx index 24bc29e..2dd1a04 100644 --- a/src/app/haxe/ru/m/puzzlez/image/StorageCache.hx +++ b/src/app/haxe/ru/m/cache/StorageCache.hx @@ -1,4 +1,4 @@ -package ru.m.puzzlez.image; +package ru.m.cache; import flash.net.SharedObject; import haxe.crypto.Md5; diff --git a/src/app/haxe/ru/m/puzzlez/core/Action.hx b/src/app/haxe/ru/m/puzzlez/core/Action.hx new file mode 100644 index 0000000..27257ff --- /dev/null +++ b/src/app/haxe/ru/m/puzzlez/core/Action.hx @@ -0,0 +1,13 @@ +package ru.m.puzzlez.core; + +import ru.m.puzzlez.proto.game.ImageId; +import ru.m.puzzlez.proto.game.GameState; + +enum GameAction { + START(state:GameState); +} + +enum Action { + GAME(state:GameState, ?delete:Bool); + IMAGE(image:ImageId); +} diff --git a/src/app/haxe/ru/m/puzzlez/image/ImageSource.hx b/src/app/haxe/ru/m/puzzlez/core/ImageSource.hx similarity index 57% rename from src/app/haxe/ru/m/puzzlez/image/ImageSource.hx rename to src/app/haxe/ru/m/puzzlez/core/ImageSource.hx index 7230696..814c7fb 100644 --- a/src/app/haxe/ru/m/puzzlez/image/ImageSource.hx +++ b/src/app/haxe/ru/m/puzzlez/core/ImageSource.hx @@ -1,17 +1,9 @@ -package ru.m.puzzlez.image; +package ru.m.puzzlez.core; -import flash.display.BitmapData; -import haxe.io.Bytes; import promhx.Promise; import ru.m.data.DataSource; import ru.m.puzzlez.proto.game.ImageId; -enum ImageValue { - BITMAP(value:BitmapData); - BYTES(value:Bytes); - URL(value:String); -} - interface ImageSource extends DataSource { public var id(default, never):String; public function load(id:String):Promise; diff --git a/src/app/haxe/ru/m/puzzlez/core/ImageValue.hx b/src/app/haxe/ru/m/puzzlez/core/ImageValue.hx new file mode 100644 index 0000000..7e5942d --- /dev/null +++ b/src/app/haxe/ru/m/puzzlez/core/ImageValue.hx @@ -0,0 +1,10 @@ +package ru.m.puzzlez.core; + +import haxe.io.Bytes; +import flash.display.BitmapData; + +enum ImageValue { + BITMAP(value:BitmapData); + BYTES(value:Bytes); + URL(value:String); +} diff --git a/src/app/haxe/ru/m/puzzlez/image/ImageData.hx b/src/app/haxe/ru/m/puzzlez/image/ImageData.hx index 376dc5e..957255a 100644 --- a/src/app/haxe/ru/m/puzzlez/image/ImageData.hx +++ b/src/app/haxe/ru/m/puzzlez/image/ImageData.hx @@ -4,7 +4,8 @@ import flash.display.BitmapData; import haxe.io.Bytes; import hw.net.BytesLoader; import promhx.Promise; -import ru.m.puzzlez.image.ImageSource; +import ru.m.cache.StorageCache; +import ru.m.puzzlez.core.ImageValue; import ru.m.puzzlez.proto.game.ImageId; abstract ImageData(ImageId) from ImageId { diff --git a/src/app/haxe/ru/m/puzzlez/image/ImageSourceBundle.hx b/src/app/haxe/ru/m/puzzlez/image/ImageSourceBundle.hx index 4d83df5..95820d7 100644 --- a/src/app/haxe/ru/m/puzzlez/image/ImageSourceBundle.hx +++ b/src/app/haxe/ru/m/puzzlez/image/ImageSourceBundle.hx @@ -1,5 +1,7 @@ package ru.m.puzzlez.image; +import ru.m.puzzlez.core.ImageSource; + @:provide class ImageSourceBundle { private var sources:Map; diff --git a/src/app/haxe/ru/m/puzzlez/source/AssetImageSource.hx b/src/app/haxe/ru/m/puzzlez/source/AssetImageSource.hx index b90e871..2df0aaf 100644 --- a/src/app/haxe/ru/m/puzzlez/source/AssetImageSource.hx +++ b/src/app/haxe/ru/m/puzzlez/source/AssetImageSource.hx @@ -1,10 +1,11 @@ package ru.m.puzzlez.source; -import openfl.utils.AssetType; import openfl.utils.Assets; +import openfl.utils.AssetType; import promhx.Promise; import ru.m.data.DataSource; -import ru.m.puzzlez.image.ImageSource; +import ru.m.puzzlez.core.ImageSource; +import ru.m.puzzlez.core.ImageValue; import ru.m.puzzlez.proto.game.ImageId; class AssetImageSource implements ImageSource { diff --git a/src/app/haxe/ru/m/puzzlez/source/FileImageSource.hx b/src/app/haxe/ru/m/puzzlez/source/FileImageSource.hx index 89ad002..9d3c0f5 100644 --- a/src/app/haxe/ru/m/puzzlez/source/FileImageSource.hx +++ b/src/app/haxe/ru/m/puzzlez/source/FileImageSource.hx @@ -2,7 +2,8 @@ package ru.m.puzzlez.source; import promhx.Promise; import ru.m.data.DataSource; -import ru.m.puzzlez.image.ImageSource; +import ru.m.puzzlez.core.ImageSource; +import ru.m.puzzlez.core.ImageValue; import ru.m.puzzlez.proto.game.ImageId; import ru.m.puzzlez.storage.FileStorage; diff --git a/src/app/haxe/ru/m/puzzlez/source/PixabayImageSource.hx b/src/app/haxe/ru/m/puzzlez/source/PixabayImageSource.hx index 6f31634..c5da94f 100644 --- a/src/app/haxe/ru/m/puzzlez/source/PixabayImageSource.hx +++ b/src/app/haxe/ru/m/puzzlez/source/PixabayImageSource.hx @@ -3,7 +3,8 @@ package ru.m.puzzlez.source; import promhx.Promise; import ru.m.data.DataSource; import ru.m.pixabay.PixabayApi; -import ru.m.puzzlez.image.ImageSource; +import ru.m.puzzlez.core.ImageSource; +import ru.m.puzzlez.core.ImageValue; import ru.m.puzzlez.proto.game.ImageId; class PixabayImageSource implements ImageSource {