///////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2010-2011 Wolfgang Kowarschick // // Dieses Werk darf unter den Bedingungen der Creative Common Lizenz by-nc 3.0 de // (http://creativecommons.org/licenses/by-nc/3.0/de/) // vervielfaeltigt, verbreitet, publiziert und modifiziert werden. ///////////////////////////////////////////////////////////////////////////////// package as3.component.board.data { import as3.enumeration.I_Enum; import as3.observer.Publisher; /** * @autor Wolfgang Kowarschick * @category class * @langversion 3.0 */ [Event(name="clean", type="as3.component.board.data.EventDataBoard")] [Event(name="change", type="as3.component.board.data.EventDataTile")] public class DataBoard extends Publisher implements I_DataBoard { ///////////////////////////////////////////////////////////////////////////// // Instance variables ///////////////////////////////////////////////////////////////////////////// private var v_size_x: uint = 0; private var v_size_y: uint = 0; private var v_board: Vector.>; ///////////////////////////////////////////////////////////////////////////// // Private methods ///////////////////////////////////////////////////////////////////////////// private function m_create_board(): void { v_board = null; if (v_size_x>0 && v_size_y>0) { v_board = new Vector.>(v_size_y, true); for (var i: int = 0; i < v_size_y; i++) v_board[i] = new Vector.(v_size_x, true); }; dispatchEvent(new EventDataBoard(v_size_x, v_size_y)); } ///////////////////////////////////////////////////////////////////////////// // Public methods ///////////////////////////////////////////////////////////////////////////// public function setSize(p_size_x: uint, p_size_y: uint): void { v_size_x = p_size_x; v_size_y = p_size_y; m_create_board(); } public function settile(p_x: uint, p_y: uint, p_tile: I_Enum): void { v_board[p_y][p_x] = p_tile; dispatchEvent(new EventDataTile(p_x, p_y, p_tile)); } public function get sizeX(): uint { return v_size_x; } public function get sizeY(): uint { return v_size_y; } public function gettile(p_x: uint, p_y: uint): I_Enum { return v_board[p_y][p_x]; } ///////////////////////////////////////////////////////////////////////////// // End of class ///////////////////////////////////////////////////////////////////////////// } } ///////////////////////////////////////////////////////////////////////////////// // End of file /////////////////////////////////////////////////////////////////////////////////