/** 
			Call this method if you use a PointyTriGrid.
			Replace	the type __CellType to whatever type you have in your grid.

			You can call the method anywhere in your code.
			
				if(!__CompilerHint__PointyTri()) return;

			This methods always returns true.

			@since 1.6
		*/
		public static bool __CompilerHint__PointyTri()
		{
			//Ensures abstract super classes for base grids gets created
			var grid = new FlatHexGrid<__CellType[]>(1, 1);

			foreach(var point in grid)
			{
				grid[point] = new __CellType[1];
			} 

			//Ensures shape infpo classes get created
			var shapeStorageInfo = new ShapeStorageInfo<PointyTriPoint>(new IntRect(), p => true);
			var shapeInfo = new PointyTriShapeInfo<__CellType>(shapeStorageInfo);

			return grid[grid.First()][0] == null || shapeInfo.IncIndex(0) != null;
		}
Пример #2
0
		public static bool __CompilerHint__PointyTri__TileCell()
		{
			var grid1 = new FlatHexGrid<TileCell[]>(1, 1);

			foreach(var point in grid1)	{ grid1[point] = new TileCell[1]; } 

			var grid2 = new PointyTriGrid<TileCell>(1, 1);

			foreach(var point in grid2)	{ grid2[point] = null; } 

			var shapeStorageInfo = new ShapeStorageInfo<PointyTriPoint>(new IntRect(), p => true);
			var shapeInfo = new PointyTriShapeInfo<TileCell>(shapeStorageInfo);

			return grid1[grid1.First()][0] == null || grid2[grid2.First()] == null || shapeInfo.IncIndex(0) != null;
		}