/**
	 * Runs at load time
	 */
	void Start () {
		movementController = MovementController.S;
		resourceTileController = ResourceTileController.S;
		tilesController = TilesController.S;


	}
	/**
	 * Runs at load time
	 */
	void Start () {
		gameController = GameController.S;
		mapsController = MapsController.S;
		resourceTileController = ResourceTileController.S;
		unitsController = UnitsController.S;

		tilesCollection = Tiles.S;
	}
	/**
	 * Runs at load time
	 */
	void Start () {
		disabledTileController = DisabledTileController.S;
		gameController = GameController.S;
		highlightsController = HighlightsController.S;
		mapsController = MapsController.S;
		movementController = MovementController.S;
		playerController = PlayerController.S;
		resourceTileController = ResourceTileController.S;
		remoteCamera = RemoteCamera.S;
		tilesController = TilesController.S;
		unitsController = UnitsController.S;
	}
	/**
	 * Runs at load time
	 */
	void Start () {
		battleController = BattleController.S;
		disabledTileController = DisabledTileController.S;
		gameController = GameController.S;
		highlightsController = HighlightsController.S;
		mapsController = MapsController.S;
		movementController = MovementController.S;
		navController = NavController.S;
		playerController = PlayerController.S;
		resourceTileController = ResourceTileController.S;
		tilesController = TilesController.S;
		turnsController = TurnsController.S;
		unitsController = UnitsController.S;
	}
	private TilesController tilesController = null; //!< The local reference to the TilesController
	#endregion

	#region /// @name Unity methods
	/**
	 * Called when the script is loaded, before the game starts
	 */
	void Awake () {
		S = this;

		capturedTiles = new Dictionary<int, CapturedTile> ();
	}