public static bool __CompilerHint__PointyHex__TileCell() { var grid = new PointyHexGrid<TileCell[]>(1, 1); foreach(var point in grid) { grid[point] = new TileCell[1]; } var shapeStorageInfo = new ShapeStorageInfo<PointyHexPoint>(new IntRect(), p => true); var shapeInfo = new PointyHexShapeInfo<TileCell>(shapeStorageInfo); return grid[grid.First()][0] == null || shapeInfo.Translate(PointyHexPoint.Zero) != null; }
/** Call this method if you use a PointyHexGrid. Replace the type __CellType to whatever type you have in your grid. You can call the method anywhere in your code. if(!__CompilerHint__PointyHex()) return; This methods always returns true. @since 1.6 */ public static bool __CompilerHint__PointyHex() { //Ensures abstract super classes for base grids gets created var grid = new PointyHexGrid<__CellType[]>(1, 1); foreach(var point in grid) { grid[point] = new __CellType[1]; } //Ensures shape infpo classes get created var shapeStorageInfo = new ShapeStorageInfo<PointyHexPoint>(new IntRect(), p => true); var shapeInfo = new PointyHexShapeInfo<__CellType>(shapeStorageInfo); return grid[grid.First()][0] == null || shapeInfo.Translate(PointyHexPoint.Zero) != null; }
override public void InitGrid() { //We cast the grid and grid values here for convenience. //Casting like this clones the grid. Thus neighbor relations are //not preserved (this is a design flaw as of Grids 1.8, to be fixed //in a future version). For now it means the actual pathfinding call //must use the original grid. walkableGrid = (PointyHexGrid <WalkableCell>)Grid.CastValues <WalkableCell, PointyHexPoint>(); foreach (var point in walkableGrid) { walkableGrid[point].IsWalkable = true; } start = walkableGrid.First(); goal = walkableGrid.Last(); UpdatePath(); }
public static bool __CompilerHint2__PointyHex() { //Ensures abstract super classes for base grids gets created var grid = new PointyHexGrid<__CellType>(1, 1, p => p == PointyHexPoint.Zero, x => x, x => x, new List<PointyHexPoint>()); //Ensures shape infpo classes get created var shapeStorageInfo = new ShapeStorageInfo<PointyHexPoint>(new IntRect(), p => true); var shapeInfo = new PointyHexShapeInfo<__CellType>(shapeStorageInfo); return grid[grid.First()] == null || shapeInfo.Translate(PointyHexPoint.Zero) != null; }
public static bool __CompilerHint__FlatTri__TileCell() { var grid1 = new PointyHexGrid<TileCell[]>(1, 1); foreach(var point in grid1) { grid1[point] = new TileCell[1]; } var grid2 = new FlatTriGrid<TileCell>(1, 1); foreach(var point in grid2) { grid2[point] = null; } var shapeStorageInfo = new ShapeStorageInfo<FlatTriPoint>(new IntRect(), p => true); var shapeInfo = new FlatTriShapeInfo<TileCell>(shapeStorageInfo); return grid1[grid1.First()][0] == null || grid2[grid2.First()] == null || shapeInfo.IncIndex(0) != null; }
public static bool __CompilerHint__Cairo__UVCell() { var grid1 = new PointyHexGrid<UVCell[]>(1, 1); foreach(var point in grid1) { grid1[point] = new UVCell[1]; } var grid2 = new CairoGrid<UVCell>(1, 1); foreach(var point in grid2) { grid2[point] = null; } var shapeStorageInfo = new ShapeStorageInfo<CairoPoint>(new IntRect(), p => true); var shapeInfo = new CairoShapeInfo<UVCell>(shapeStorageInfo); return grid1[grid1.First()][0] == null || grid2[grid2.First()] == null || shapeInfo.IncIndex(0) != null; }
public static bool __CompilerHint__PointyRhomb__SpriteCell() { var grid1 = new PointyHexGrid<SpriteCell[]>(1, 1); foreach(var point in grid1) { grid1[point] = new SpriteCell[1]; } var grid2 = new PointyRhombGrid<SpriteCell>(1, 1); foreach(var point in grid2) { grid2[point] = null; } var shapeStorageInfo = new ShapeStorageInfo<PointyRhombPoint>(new IntRect(), p => true); var shapeInfo = new PointyRhombShapeInfo<SpriteCell>(shapeStorageInfo); return grid1[grid1.First()][0] == null || grid2[grid2.First()] == null || shapeInfo.IncIndex(0) != null; }