diff --git a/haxework/resources/IResources.hx b/haxework/resources/IResources.hx index ef4f630..0bc53ed 100755 --- a/haxework/resources/IResources.hx +++ b/haxework/resources/IResources.hx @@ -1,8 +1,9 @@ package haxework.resources; +import haxework.resources.Resources.ResMap; import flash.display.BitmapData; interface IResources { - public var image(default, null):Map; - public var color(default, null):Map; + public var image(default, null):ResMap; + public var color(default, null):ResMap; } \ No newline at end of file diff --git a/haxework/resources/Resources.hx b/haxework/resources/Resources.hx index 24cc516..80e75e9 100755 --- a/haxework/resources/Resources.hx +++ b/haxework/resources/Resources.hx @@ -35,12 +35,18 @@ class ResMap extends StringMap { private function call(field:F, value:T):Void { Reflect.setProperty(field.first, field.second, value); } + + public function merge(value:Dynamic):Void { + for (field in Reflect.fields(value)) { + set(field, Reflect.field(value, field)); + } + } } class Resources implements IResources { - public var image(default, null):Map; - public var color(default, null):Map; + public var image(default, null):ResMap; + public var color(default, null):ResMap; public function new() { image = new ResMap();