com.theoworlds.mapeditor.WorldEditor |
WorldEditor class - main MapEditor class
1.0
© TheoWorlds.com, 2007-2008.
public function WorldEditor( target: MovieClip, sizeX: Number, sizeY: Number, tHeight: Number, tWidth: Number, mapBGImage: Object, mapFGImage: Object, _aFloor: Array, _aFurniture: Array, _aCharacters: Array, origin: Point, scrollX: Number, scrollY: Number, scrollBuffer: Number, masking: Boolean, maskMinX: Number, maskMinY: Number, maskMaxX: Number, maskMaxY: Number )
private function init( target: MovieClip, sizeX: Number, sizeY: Number, tileHeight: Number, tileWidth: Number, mapBGImage: Object, mapFGImage: Object, _aFloor: Array, _aFurniture: Array, _aCharacters: Array, origin: Point, scrollX: Number, scrollY: Number, scrollBuffer: Number, masking: Boolean, maskMinX: Number, maskMinY: Number, maskMaxX: Number, maskMaxY: Number ):Void
public function setClickedBaseTileAsWalkable( b: Boolean ):Void
| b | - makes the clicked tile into a walkable one (the base tile - the one on wich all the map objects are placed on top) If the tile is not present - adds it If there are Floor or Furniture objects on the top, then it will always show it as walkable, for debuging |
used for the tile editing mode
private var _markedTile: Tile
remembers the cursor position A very important variable - ALL functions (place/remove/show) use it it is introduced to simplify the things, since the cursor in some cases is shown at the base level and sometimes at the elevation level
private var _cursorTile: Point
showCursor calls the needed mode when the position of the cursor changes
private var _previewMode: Number
private var _charactersToXML: Boolean
private var _gridIsHidden: Boolean
private var _anyCharacterLibraryParams: CharacterSettings
private var _movingEraser: Boolean
private var _testMap: Boolean
used for placing MapObject in the “preview” mode
private var _previewMapObject: MapObject
private var _previewMapObjectIsStandable: Boolean
private var _moveClipEventBeacon: MovieClip
private var _layerFloorIsVisible: Boolean
private var _layerFurnitureIsVisible: Boolean
private var _layerCharacterIsVisible: Boolean
private var _layerFloorIsLocked: Boolean
private var _layerFurnitureIsLocked: Boolean
private var _layerCharacterIsLocked: Boolean
private var _layerBackgroundIsVisible: Boolean
private var _layerForegroundIsVisible: Boolean
private var _layerBackgroundIsLocked: Boolean
private var _layerForegroundIsLocked: Boolean
private var _backgroundUrl: String
private var _foregroundUrl: String
private var _backgroundCoordinates: Point
private var _foregroundCoordinates: Point
public static function get EDITOR_ACTIONS_XML_NODE():String
public function WorldEditor( target: MovieClip, sizeX: Number, sizeY: Number, tHeight: Number, tWidth: Number, mapBGImage: Object, mapFGImage: Object, _aFloor: Array, _aFurniture: Array, _aCharacters: Array, origin: Point, scrollX: Number, scrollY: Number, scrollBuffer: Number, masking: Boolean, maskMinX: Number, maskMinY: Number, maskMaxX: Number, maskMaxY: Number )
private function init( target: MovieClip, sizeX: Number, sizeY: Number, tileHeight: Number, tileWidth: Number, mapBGImage: Object, mapFGImage: Object, _aFloor: Array, _aFurniture: Array, _aCharacters: Array, origin: Point, scrollX: Number, scrollY: Number, scrollBuffer: Number, masking: Boolean, maskMinX: Number, maskMinY: Number, maskMaxX: Number, maskMaxY: Number ):Void
public function setClickedBaseTileAsWalkable( b: Boolean ):Void
changes the clicked tile elevation
public function changeClickedBaseTileElevation( deltaElevation: Number ):Void
deletes the base tile and everything that is placed on it //TODO - implement the deletion of multi-tile furniture when part of it is on this tile.
public function removeClickedBaseTile():Void
Adds a map object to the map
public function addMapObjectOnClickedTile( type: Number, libID: Number, symbolID: Number, frame: Number, mos: MapObjectSettings, bitmap: BitmapData ):Void
removes the objects starting from the top of the tile stack
public function removeMapObjectOnClickedTile( type: Number ):Void
erases from top to bottom, through all the object layers if one of the layers is locked or hidden, then it’s not erased, and the base tile is not erased either
public function globalEraseOnClickedTile():Void
public function startTestMap():Void
public function finishTestMap():Void
public function moveCharacterTest():Void
public function startDragBackGround():Void
public function stopDragBackGround():Void
public function startDragForeGround():Void
public function stopDragForeGround():Void
public function set mapName( s: String ):Void
public function get backGroundCoordinates():Point
public function get foreGroundCoordinates():Point
public function set semitransparentContent( b: Boolean ):Void
public function set charactersToXML( b: Boolean ):Void
public function get chatactersToXML():Boolean
public function set anyCharacterLibraryParams( cs: CharacterSettings ):Void
Loads the background layer
public function loadBackGround( url: String ):Void
Loads the foreground layer
public function loadForeGround( url: String ):Void
Clears the whole layer of objects of one type
public function clearLayer( objectType: Number ):Void
Shows the tiles grid
public function showGrid():Void
Hides the tiles grid
public function hideGrid():Void
Stops the “preview” mode
public function stopPreview():Void
Floor object preview
public function startFloorPreview( ts: TileSettings ):Void
private function floorPreviewMode():Void
Character object preview
public function startCharacterPreview( cs: CharacterSettings ):Void
private function characterPreviewMode():Void
Furniture object preview
public function startFurniturePreview( fs: FurnitureSettings ):Void
private function furniturePreviewMode():Void
*hide/show an object layer
public function setLayerVisibility( mode: Number, b: Boolean ):Void
*lock/unlock an object layer
public function setLayerLock( mode: Number, b: Boolean ):Void
allows or not the erasing of the layer when moving the mouse
public function setContinuosErasingMode( b: Boolean ):Void
private function broadcastBackGroundCoordinates():Void
private function broadcastForeGroundCoordinates():Void
shows the mouse cursor depending on mouse events
private function showCursor():Void
public function getMapXML():String
public function addCharacter( tileX: Number, tileY: Number, cs: CharacterSettings ):Character
public function addFurniture( tileX: Number, tileY: Number, fs: FurnitureSettings ): Furniture
private function addTile( tileX: Number , tileY: Number , ts: TileSettings ):Tile
private function convertActionsToXMLNode( actions: Object ):XMLNode