refactor(app): add core package

This commit is contained in:
2021-05-28 20:59:05 +03:00
parent bba9e69fb4
commit 621454ccb4
9 changed files with 36 additions and 15 deletions

View File

@@ -1,4 +1,4 @@
package ru.m.puzzlez.image; package ru.m.cache;
import flash.net.SharedObject; import flash.net.SharedObject;
import haxe.crypto.Md5; import haxe.crypto.Md5;

View File

@@ -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);
}

View File

@@ -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 promhx.Promise;
import ru.m.data.DataSource; import ru.m.data.DataSource;
import ru.m.puzzlez.proto.game.ImageId; import ru.m.puzzlez.proto.game.ImageId;
enum ImageValue {
BITMAP(value:BitmapData);
BYTES(value:Bytes);
URL(value:String);
}
interface ImageSource extends DataSource<ImageId> { interface ImageSource extends DataSource<ImageId> {
public var id(default, never):String; public var id(default, never):String;
public function load(id:String):Promise<ImageValue>; public function load(id:String):Promise<ImageValue>;

View File

@@ -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);
}

View File

@@ -4,7 +4,8 @@ import flash.display.BitmapData;
import haxe.io.Bytes; import haxe.io.Bytes;
import hw.net.BytesLoader; import hw.net.BytesLoader;
import promhx.Promise; 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; import ru.m.puzzlez.proto.game.ImageId;
abstract ImageData(ImageId) from ImageId { abstract ImageData(ImageId) from ImageId {

View File

@@ -1,5 +1,7 @@
package ru.m.puzzlez.image; package ru.m.puzzlez.image;
import ru.m.puzzlez.core.ImageSource;
@:provide class ImageSourceBundle { @:provide class ImageSourceBundle {
private var sources:Map<String, ImageSource>; private var sources:Map<String, ImageSource>;

View File

@@ -1,10 +1,11 @@
package ru.m.puzzlez.source; package ru.m.puzzlez.source;
import openfl.utils.AssetType;
import openfl.utils.Assets; import openfl.utils.Assets;
import openfl.utils.AssetType;
import promhx.Promise; import promhx.Promise;
import ru.m.data.DataSource; 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.proto.game.ImageId;
class AssetImageSource implements ImageSource { class AssetImageSource implements ImageSource {

View File

@@ -2,7 +2,8 @@ package ru.m.puzzlez.source;
import promhx.Promise; import promhx.Promise;
import ru.m.data.DataSource; 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.proto.game.ImageId;
import ru.m.puzzlez.storage.FileStorage; import ru.m.puzzlez.storage.FileStorage;

View File

@@ -3,7 +3,8 @@ package ru.m.puzzlez.source;
import promhx.Promise; import promhx.Promise;
import ru.m.data.DataSource; import ru.m.data.DataSource;
import ru.m.pixabay.PixabayApi; 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; import ru.m.puzzlez.proto.game.ImageId;
class PixabayImageSource implements ImageSource { class PixabayImageSource implements ImageSource {