UGridUtils¶
This utility class contains numerous helper functions, all of which are accessible in Blueprint.
Variables¶
static UGridSubsystem* CachedGridSubsystem;
- Cached GridSubsystem that can be referenced anywhere in the project.
GetGridSubsystem()¶
Returns a GridSubsystem pointer.
static UGridSubsystem* GetGridSubsystem();
GetGridSize()¶
Returns current GridSize
.
static FVector2D GetGridSize();
GetIsHex()¶
Returns bIsHex
.
static bool GetIsHex();
GetTileCount()¶
Returns current TileCount
.
static FIntPoint GetTileCount();
Visual Getters¶
These functions are self explanatory, they return visual parameters.
static float GetTileOpacity();
static float GetLineOpacity();
static float GetLineWidth();
static FLinearColor GetLineColor();
static FLinearColor GetTileColor();
GetGridOffset()¶
Returns current GridOffset
.
static FVector2D GetGridOffset();
GetIndexFromLocation()¶
Returns the tile index at the given location (doesn't have to be snapped to grid).
static FIntPoint GetIndexFromLocation(const FVector& Location, bool bIsHexagon);
Inputs
Location
- World location.
bIsHexagon
- Is the grid a hex?
GetLocationFromIndex()¶
Returns the location of the given tile index. Always snapped to grid.
static FVector GetLocationFromIndex(const FIntPoint& TileIndex, bool bIsHexagon);
Inputs
TileIndex
- Index of Tile.
bIsHexagon
- Is the grid a hex?
GetSurfaceLocation()¶
Returns the surface location of the given location using line traces.
static FVector GetSurfaceLocation(UObject* WorldContextObject, const FVector& Location,
UObject* IgnoredObject, bool& bOutHit);
Inputs
WorldContextObject
- World Context, in C++ pass in GetWorld()
. In blueprints, it's passed automatically.
Location
- World location.
IgnoredObject
- Optional. You can pass in components and actors.
bOutHit
- Optional. Out variable that's changed depending on whether there's a hit.
GetTileUnderCursor()¶
Returns the index of the tile under cursor.
static FIntPoint GetTileUnderCursor(UObject* WorldContextObject,
APlayerController* PlayerController);
Inputs
WorldContextObject
- World Context, in C++ pass in GetWorld()
. In blueprints, it's passed automatically.
PlayerController
- Player controller, pass in GetPlayerController()
.
SnapLocationToGrid()¶
Snaps given location to grid.
static FVector SnapLocationToGrid(const FVector& Location,
bool LimitToGrid);
Inputs
Location
- World location.
LimitToGrid
- Limits new location to grid bounds.
IsTileOfState()¶
Returns a bool indicating if the given tile is of given state.
static bool IsTileOfState(FIntPoint TileIndex, FName State);
Inputs
TileIndex
- Index of tile.
State
- TileState
to check.
IsTileOfType()¶
Returns a bool indicating if the given tile is of given type.
static bool IsTileOfType(FIntPoint TileIndex, FName Type);
Inputs
TileIndex
- Index of tile.
Type
- TileType
to check.
IsEven()¶
Returns a bool indicating if the given number is even.
static bool IsEven(const int& Num);
Inputs
Num
- Number.
IsTileWithinBounds()¶
Returns a bool indicating if the given tile is within grid bounds.
static bool IsTileWithinBounds(FIntPoint TileIndex, bool bIsHex);
Inputs
TileIndex
- Index of tile.
bIsHex
- Is the grid a hex?
DoubleToAxial()¶
Converts doubled coordinate to axial coordinate. Returns an axial coord.
static FIntPoint DoubleToAxial(FIntPoint Index);
Inputs
Index
- Index of tile (Doubled).
AxialToDouble()¶
Converts axial coordinate to doubled coordinate. Returns an doubled coord.
static FIntPoint AxialToDouble(FIntPoint Axial);
Inputs
Axial
- Index of tile (Axial).
ConvertLocationToAxial()¶
Returns the axial coordinate of the given location.
static FIntPoint ConvertLocationToAxial(FVector Location);
Inputs
Location
- World location.
AxialToCube()¶
Coverts axial coordinate to cube coordinate. Returns cube coord.
static FVector AxialToCube(FIntPoint Axial);
Inputs
Axial
- Index of tile (Axial).
CubeToAxial()¶
Coverts cube coordinate to axial coordinate. Returns axial coord.
static FIntPoint CubeToAxial(FVector Cube);
Inputs
Cube
- Index of tile (Cube).
GetIndicesUnderBrush()¶
Retrieves the tile indices within the specified BrushSize
radius around the given tile.
static TArray<FIntPoint> GetIndicesUnderBrush(FIntPoint CursorIndex, int32 BrushSize);
Inputs
CursorIndex
- Index of tile.
BrushSize
- Radius of brush (counted as tiles).
GetNeighboringIndices()¶
Returns the neighboring tiles of the given tile.
static TArray<FIntPoint> GetNeighboringIndices(FIntPoint TileIndex, bool bIsHex, bool bUseDiagonals);
Inputs
TileIndex
- Index of tile.
bIsHex
- Is the grid a hex?
bUseDiagonals
- Whether to get diagonal neighbors.
ResolveGridVisualContext()¶
Resolves EGridVisualContext
.
static EGridVisualContext ResolveGridVisualContext(EGridVisualContext Context);
Inputs
Context
- Context to resolve.
GetScaleBasedOnNormal()¶
Returns a scale based on the surface normal. Used for tile instance transforms.
static float GetScaleBasedOnNormal(const FVector& Normal, const float Min,
const float Max);
Inputs
Normal
- Surface normal.
Min
- Min scale.
Max
- Max scale.