smile fixes

This commit is contained in:
2014-01-07 18:08:16 +04:00
parent c35446a031
commit c031eb6896
4 changed files with 18 additions and 0 deletions

View File

@@ -64,6 +64,12 @@ class GroupView extends SpriteView implements IGroupView<Sprite> {
return view; return view;
} }
public function removeAllViews():Void {
while (views.length > 0) {
removeView(views[0]);
}
}
public function removeViewById(id:String):IView<Dynamic> { public function removeViewById(id:String):IView<Dynamic> {
if (viewsById.exists(id)) { if (viewsById.exists(id)) {
return removeView(viewsById.get(id)); return removeView(viewsById.get(id));

View File

@@ -22,6 +22,7 @@ interface IGroupView<C:Content> extends IView<C> {
public function addView(view:IView<Dynamic>):IView<Dynamic>; public function addView(view:IView<Dynamic>):IView<Dynamic>;
public function removeView(view:IView<Dynamic>):IView<Dynamic>; public function removeView(view:IView<Dynamic>):IView<Dynamic>;
public function removeAllViews():Void;
public function removeViewById(id:String):IView<Dynamic>; public function removeViewById(id:String):IView<Dynamic>;
public function findViewById<V:IView<Dynamic>>(id:String, ?clazz:Class<V>):Null<V>; public function findViewById<V:IView<Dynamic>>(id:String, ?clazz:Class<V>):Null<V>;
} }

View File

@@ -66,6 +66,7 @@ class BaseURLLoader<T> extends BaseLoader<T> {
override private function onError(e:Event):Void { override private function onError(e:Event):Void {
var c:ICallback<T> = callback; var c:ICallback<T> = callback;
var error:String = extrudeError(loader.data); var error:String = extrudeError(loader.data);
if (error != null) error = url + ": " + error;
dispose(); dispose();
c.callFail(error != null ? error : e); c.callFail(error != null ? error : e);
} }

View File

@@ -28,4 +28,14 @@ class Provider {
throw new Error("Factory for\"" + i + "\" not found"); throw new Error("Factory for\"" + i + "\" not found");
} }
} }
public static function build<T>(i:Class<T>, ?type:Dynamic):T {
var key:Dynamic = (type == null) ? i : type;
if (factories.exists(key)) {
var instance:T = Type.createInstance(factories.get(key), []);
return instance;
} else {
throw new Error("Factory for\"" + i + "\" not found");
}
}
} }