package com.joelhooks.pipingthemachine.modules.doodad { import com.joelhooks.pipingthemachine.common.view.components.PipeAwareModule; import mx.utils.UIDUtil; public class DoodadModule extends PipeAwareModule { public static const NAME:String = "DoodadModule/"; public static const DOODAD_UI:String = "GetDoodadUI"; public static const DESTROY_DOODAD:String = "DestroyDoodad"; public function DoodadModule() { this._GUID = UIDUtil.createUID(); super(DoodadModuleFacade.getInstance( NAME+this._GUID )); DoodadModuleFacade(this.facade).startup(this); } /** * Get the unique id of module instance. */ public function getID():String { return moduleID; } public function getSequenceNumber():int { return int(this.getID().split("/")[1]); } /** * Get the next unique id. * <P> * This module can be instantiated multiple times, * so each instance needs to have it's own unique * id for use as a multiton key. */ private static function getNextID():String { return NAME + serial++; } private static var serial:Number = 0; private var moduleID:String = DoodadModule.getNextID(); } }