Packagestarlingbuilder.engine
Classpublic class UIBuilder
InheritanceUIBuilder Inheritance Object
Implements IUIBuilder

Main class of Starling Builder engine API

Exmaple of creating a UIBuilder

         var assetManager:AssetManager = new AssetManager();
         var assetMediator:AssetMediator = new AssetMediator(assetManager);
         var uiBuilder:UIBuilder = new UIBuilder(assetMediator);

A simple example to create display objects from layout

         var sprite:Sprite = uiBuilder.create(layoutData) as Sprite;
         addChild(sprite);

A more elaborate way to create UI element inside a class, and bind the public underscore property automatically

         public class MailPopup extends Sprite
         {
             //auto bind variables
             public var _list:List;
             public var _exitButton:Button;
             
             public function MailPopup()
             {
                 super();
                 
                 var sprite:Sprite = uiBuilder.create(ParsedLayouts.mail_popup, true, this) as Sprite;
                 addChild(sprite);
                 
                 _exitButton.addEventListener(Event.TRIGGERED, onExit);
             }
             
             private function onExit(event:Event):void
             {
                 PopUpManager.removePopUp(this, true);
             }
         }

See also

Starling Builder wiki page
Starling Builder demo project
Starling Builder scaffold project


Public Properties
 PropertyDefined By
  localization : ILocalization
Localization property
UIBuilder
  localizationHandler : ILocalizationHandler
Localization handler property
UIBuilder
  tweenBuilder : ITweenBuilder
Tween builder property
UIBuilder
Public Methods
 MethodDefined By
  
UIBuilder(assetMediator:IAssetMediator, forEditor:Boolean = false, template:Object = null, localization:ILocalization = null, tweenBuilder:ITweenBuilder = null)
Constructor
UIBuilder
  
bind(view:Object, paramsDict:Dictionary):void
[static] Helper function to bind UI elements to properties.
UIBuilder
  
create(data:Object, trimLeadingSpace:Boolean = true, binder:Object = null):Object
Create display objects from layout.
UIBuilder
  
createUIElement(data:Object):Object
Create UI element from data
UIBuilder
  
find(container:DisplayObjectContainer, path:String):DisplayObject
[static] Helper function to find ui element
UIBuilder
  
load(data:Object, trimLeadingSpace:Boolean = true, binder:Object = null):Object
Load from layout data, create display objects and the associated meta data
UIBuilder
  
localizeTexts(root:DisplayObject, paramsDict:Dictionary):void
Localize texts in display object
UIBuilder
  
save(container:DisplayObjectContainer, paramsDict:Object, version:String, setting:Object = null):Object
Save display object container to layout data
UIBuilder
Property Detail
localizationproperty
localization:ILocalization

Localization property


Implementation
    public function get localization():ILocalization
    public function set localization(value:ILocalization):void
localizationHandlerproperty 
localizationHandler:ILocalizationHandler

Localization handler property


Implementation
    public function get localizationHandler():ILocalizationHandler
    public function set localizationHandler(value:ILocalizationHandler):void
tweenBuilderproperty 
tweenBuilder:ITweenBuilder

Tween builder property


Implementation
    public function get tweenBuilder():ITweenBuilder
    public function set tweenBuilder(value:ITweenBuilder):void
Constructor Detail
UIBuilder()Constructor
public function UIBuilder(assetMediator:IAssetMediator, forEditor:Boolean = false, template:Object = null, localization:ILocalization = null, tweenBuilder:ITweenBuilder = null)

Constructor

Parameters
assetMediator:IAssetMediator — asset mediator
 
forEditor:Boolean (default = false) — whether it's used for the editor
 
template:Object (default = null) — template for saving layout
 
localization:ILocalization (default = null) — optional localization instance
 
tweenBuilder:ITweenBuilder (default = null) — optional tween builder instance
Method Detail
bind()method
public static function bind(view:Object, paramsDict:Dictionary):void

Helper function to bind UI elements to properties. It loops through all the UI elements, if the name starts with "_", then bind to the object property with the same name.

NOTE: This function will ONLY work if your object._xxx is public variable.

Parameters

view:Object — object you want to bind to
 
paramsDict:Dictionary — params dictionary of meta data

create()method 
public function create(data:Object, trimLeadingSpace:Boolean = true, binder:Object = null):Object

Create display objects from layout. Short cut for load().object

Parameters

data:Object
 
trimLeadingSpace:Boolean (default = true)
 
binder:Object (default = null)

Returns
Object

See also

createUIElement()method 
public function createUIElement(data:Object):Object

Create UI element from data

Parameters

data:Object — data in as3 plain object format

Returns
Object — starling display object
find()method 
public static function find(container:DisplayObjectContainer, path:String):DisplayObject

Helper function to find ui element

Parameters

container:DisplayObjectContainer — root display object container you want to find
 
path:String — path separated by dots (e.g. bottom_container.layout.button1)

Returns
DisplayObject
load()method 
public function load(data:Object, trimLeadingSpace:Boolean = true, binder:Object = null):Object

Load from layout data, create display objects and the associated meta data

Parameters

data:Object — layout data
 
trimLeadingSpace:Boolean (default = true) — whether to trim the leading space on the top level elements set to true if loading a popup, set to false if loading a hud
 
binder:Object (default = null) — An optional object you want to bind properties with UI components with the same name, if name starts with "_"

Returns
Object — An object with {object:Sprite, params:Dictionary, data:data};

object: the sprite to create

params: A Dictionary of the mapping of every UIElement to its layout data

data: the as3 plain object format of the layout

See also

localizeTexts()method 
public function localizeTexts(root:DisplayObject, paramsDict:Dictionary):void

Localize texts in display object

Parameters

root:DisplayObject — of the DisplayObject needs to be localize
 
paramsDict:Dictionary — Dictionary of the mapping of every UIElement to its layout data

save()method 
public function save(container:DisplayObjectContainer, paramsDict:Object, version:String, setting:Object = null):Object

Save display object container to layout data

Parameters

container:DisplayObjectContainer — Display object container needed to export to layout
 
paramsDict:Object — A Dictionary of the mapping of every UIElement to its layout data
 
version:String — project setting like canvas size, background info used by the editor
 
setting:Object (default = null)

Returns
Object — layout file data