
Tile Engine: The Game Data
the game stuff
A lot of the properties here are left over from the Phantom Tank game. So they may account for different levels, and other things not present in this version.
I trust the many properties here are self-explanatory.
The GameData class
package tiletank {
import flash.utils.getDefinitionByName;
import tiletank.map.*;
import tiletank.tank.*;
import tiletank.bullet.*;
public class GameData {
private static var _instance:GameData;
private var _maze:Maze;
private var _maze1:Maze1;
//game variables
private var _gameMode:String;
private var _totalEnemies:int = 20;
private var _enemiesCreated:int = 0;
private var _enemiesDestroyed:int = 0;
private var _levelNumber:int = 0;
private var _mazeIndex:int = 0;
private var _lives:int = 5;
private var _score:int = 0;
function GameData (instantiator:Instantiator) {}
public static function get instance():GameData {
if(GameData._instance == null) {
GameData._instance= new GameData (new Instantiator());
}
return GameData._instance;
}
public function reset ():void {
_levelNumber = 0;
_mazeIndex = 0;
_enemiesCreated = 0;
_enemiesDestroyed = 0;
_totalEnemies = 20;
_lives = 5;
this.score = 0;
}
public function get maze ():Maze {
return _maze;
}
public function get gameMode ():String {
return _gameMode;
}
public function set gameMode (value:String):void {
_gameMode = value;
}
public function get totalEnemies ():int {
return _totalEnemies;
}
public function set totalEnemies (value:int):void {
_totalEnemies = value;
var scores:GameInfo = StageElements.instance.getElementByClass(GameConstants.SCORES) as GameInfo;
scores.totalEnemies = _totalEnemies;
}
public function get enemiesCreated ():int {
return _enemiesCreated;
}
public function set enemiesCreated (value:int):void {
_enemiesCreated = value;
}
public function get enemiesDestroyed ():int {
return _enemiesDestroyed;
}
public function set enemiesDestroyed (value:int):void {
_enemiesDestroyed = value;
var scores:GameInfo = StageElements.instance.getElementByClass(GameConstants.SCORES) as GameInfo;
scores.totalEnemies = _totalEnemies - _enemiesDestroyed;
}
public function get lives ():int {
return _lives;
}
public function set lives (value:int):void {
_lives = value;
}
public function get level ():int {
return _levelNumber;
}
public function get mazeIndex ():int {
return _mazeIndex;
}
public function set score (value:int):void {
_score = value;
var scores:GameInfo = StageElements.instance.getElementByClass(GameConstants.SCORES) as GameInfo;
scores.score = _score;
}
public function get score ():int {
return _score;
}
public function addMaze ():Maze {
var c:Class = getDefinitionByName(GameConstants.MAZE1) as Class;
_maze = new c();
return _maze;
}
}
}
internal class Instantiator {}

