refactor(app): add core package
This commit is contained in:
@@ -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;
|
||||||
13
src/app/haxe/ru/m/puzzlez/core/Action.hx
Normal file
13
src/app/haxe/ru/m/puzzlez/core/Action.hx
Normal 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);
|
||||||
|
}
|
||||||
@@ -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>;
|
||||||
10
src/app/haxe/ru/m/puzzlez/core/ImageValue.hx
Normal file
10
src/app/haxe/ru/m/puzzlez/core/ImageValue.hx
Normal 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);
|
||||||
|
}
|
||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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>;
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user