Gametime api

Overview

Properties

Init

TileSize

The most important property!

Preview

Controlling the preview appearance

bUsePreviewMaterial_CanBuildHere

When false, the original material for preview item will showup when you CAN build here.

PreviewMaterial_CanBuildHere

Will use the default material this plugin provides if not set.

bUsePreviewMaterial_CanNotBuildHere

When false, nothing will showup when you CAN NOT build here

PreviewMaterial_CanNotBuildHere

Will use the default material this plugin provides if not set.

bShowAutoPaintBrush

Should show the auto paint hint (a translucent grid) If-New set false, you can still bind events such as OnItemBuilt or OnItemFailToBuild to notify your player

AutoPaintHintOpacity

Opcacity for auto paint hint

Data

GametimeData

Where the data stored. You can pass it to save game object when you need the save/load funtionality.

Restriction

bLockBuild

Should block building new placements?

bLockRemove

Should block removal of existing placements?

Auto

bUseRandomSeed

Use fixed random seed for auto paint instance?

Seed

The random seed value.

Override Function

OnBeginSystem

Will triggered after init system.

Previously, this event was triggered when the Game Instance subsystem was initialized automatically. However, we found that this didn’t match the typical use case for many developers. So, as of V4.0.2, we’ve changed it to trigger after you manually initialize the system.

OnLeaveSystemBoundary

Will triggered after leaving the boudary assuming you init system with boundary.

CanBuildItem

Override for whether you can build placement from this item.

In/Out Name Type Description
In Item to Build Tiled Level Item Object Reference The item you are trying to build
Out Return Value Bool Can build result

CanRemoveItem

Override for whether you can remove placement from this item.

In/Out Name Type Description
In Item to Build Tiled Level Item Object Reference The item you are trying to build
Out Return Value Bool Can remove result

CanBuildAutoItem

Override for whether you can build this auto item.

In/Out Name Type Description
In Auto Item to Build Name The item you are trying to build
Out Return Value Bool Can build result

CanRemoveAutoItem

Override for whether you can remove this auto item.

In/Out Name Type Description
In Auto Item to Build Name The item you are trying to build
Out Return Value Bool Can remove result

Nodes

Init

InitializeGametimeSystem

In/Out Name Type Description
In Startup Item Set Tiled Item Set Object Reference
In Existing Tiled Levels Array of Tiled Level Actor Object References Existing levels controlled by this system
In Unbound Bool Unbounded (true) or bounded (false)

When Unbound is false, the boundary of the gametime system is determined by the bounds of Existing Tiled Levels.

InitializeGametimeSystemFromData

In/Out Name Type Description
In Startup Item Set Tiled Item Set Object Reference
In In Data Tiled Level Game Data Structure The item you are trying to build
In Existing Tiled Levels Array of Tiled Level Actor Object References Existing levels controlled by this system
In Unbound Bool Unbounded (true) or bounded (false)

When Unbound is false, the boundary of the gametime system is determined by the bounds of Existing Tiled Levels.

ChangeItemSet

In/Out Name Type Description
In New Item Set Tiled Item Set Object Reference
Out Return Value Bool Change set result

Normal

Activate preview->Move preview->Build

Preview

  • ActivatePreviewItem
    In/Out Name Type Description
    In Preview Item Tiled Item Object Reference
    Out Return Value Bool Activation result
  • IsPreviewItemActivated
    In/Out Name Type Description
    Out Return Value Bool
  • DeactivatePreviewItem
  • MovePreviewItemToWorldPosition
    In/Out Name Type Description
    In Target Location Vector In world space
    Out Return Value Bool Move result
  • MovePreviewItemToScreenPosition
    In/Out Name Type Description
    In Screen Position Vector 2D Structure
    In Floor Position Interger
    In Player Index Interger
    Out Return Value Bool Move result
  • MorePreviewItemToCursor
    In/Out Name Type Description
    In Floor Position Interger
    In Player Index Interger
    Out Return Value Bool Move result
  • RotatePreviewItem
    In/Out Name Type Description
    In Is Clockwise Bool

Remove

  • RemoveItem_LineTraceSingle
    In/Out Name Type Description
    In Trace Start Vector In world space
    In Trace End Vector In world space
    In Show Debug Bool
    Out Return Value Bool Remove result
  • RemoveItem_FromHit
    In/Out Name Type Description
    In Hit Result Hit Result Structure
    Out Return Value Bool Remove result
  • RemoveItem_UnderCursor
    In/Out Name Type Description
    In Player Index Integer
    Out Return Value Bool Remove result

Build

  • BuildItem

Replace

  • ReplaceItemFromHit
    In/Out Name Type Description
    In Hit Result Hit Result Structure
    In To Replace Tiled Level Item Object Reference
    Out Return Value Bool Replace result

Auto

Activate preview->Move preview->Build

Preview

  • ActivateAutoRule
    In/Out Name Type Description
    In New Rule Auto Paint Rule Object Reference
    In Default Active Item Name
    Out Return Value Bool Activation result
  • ChangeActiveAutoItem
    In/Out Name Type Description
    In Item Name Name
    Out Return Value Bool Change result
  • IsAutoPaintActivated
    In/Out Name Type Description
    Out Return Value Bool
  • DeactivateAutoItem
  • MoveAutoItemToWorldPosition
    In/Out Name Type Description
    In Target Location Vector In world space
    Out Return Value Bool Move result
  • MoveAutoItemToScreenPosition
    In/Out Name Type Description
    In Screen Position Vector 2D Structure
    In Floor Position Interger
    In Player Index Interger
    Out Return Value Bool Move result
  • MoveAutoItemToCursor

    In/Out Name Type Description
    In Floor Position Interger
    In Player Index Interger
    Out Return Value Bool Move result

    :CUSTOM_ID: auto-preview

Build

  • BuildAutoItem
  • ChangeAutoItemAtLocation

    In/Out Name Type Description
    In Tile Position Int Vector Structure
    In Auto Item Name Name

    :CUSTOM_ID: auto-build

Debug

  • ToggleAutoItemHintVisibility

Query

QueryItemFromHit

In/Out Name Type Description
In Hit Result Hit Result Structure
Out Success Bool
Out Return Value Tiled Level Item Object Reference

QueryItemPlacementFromHit

In/Out Name Type Description
In Hit Result Hit Result Structure
Out Success Bool
Out Return Value Item Placement Structure

QueryItemByUID

In/Out Name Type Description
In Item ID Guid Structure
Out Success Bool
Out Return Value Tiled Level Item Object Reference

Eraser

ActivateEraserMode

In/Out Name Type Description
In Any Bool Any placed type?
In Target Type EPlacedType Enum
In Eraser Size Int Vector Structure

DeactivateEraserMode

MoveEraserToWorldPosition

In/Out Name Type Description
In Target Location Vector In world space
Out Return Value Bool Move result

MoveEraserToScreenPosition

In/Out Name Type Description
In Screen Position Vector 2D Structure
In Floor Position Interger
In Player Index Interger
Out Return Value Bool Move result

MoveEraserToCursor

In/Out Name Type Description
In Floor Position Interger
In Player Index Interger
Out Return Value Bool Move result

RotateEraser

In/Out Name Type Description
In Is Clockwise Bool

EraserItem

Utility

GetActivePreviewItem

In/Out Name Type Description
Out Return Value Bool

FocusFloor

In/Out Name Type Description
In Floor Position Integer

HasAnyFocusedFloor

In/Out Name Type Description
Out Return Value Bool

Position

GetTilePosition

In/Out Name Type Description
In World Location Vector
Out Found Bool
Out Return Value Int Vector Structure

GetTilePositionOnScreen

In/Out Name Type Description
In Floor Position Integer
In Screen Position Vector 2D Structure
In Player Index Integer
Out Found Bool
Out Return Value Int Vector Structure

GetTilePositionUnderCursor

In/Out Name Type Description
In Floor Position Integer
In Player Index Integer
Out Found Bool
Out Return Value Int Vector Structure

GeEdge

In/Out Name Type Description
In World Location Vector
In Edge Type EEdgeType Enum
Out Found Bool
Out Return Value Tiled Level Edge Structure

GetEdgeOnScreen

In/Out Name Type Description
In Floor Position Integer
In Edge Type EEdgeType Enum
In Screen Position Vector 2D Structure
In Player Index Integer
Out Found Bool
Out Return Value Tiled Level Edge Structure

GetEdgeUnderCursor

In/Out Name Type Description
In Floor Position Integer
In Edge Type EEdgeType Enum
In Player Index Integer
Out Found Bool
Out Return Value Tiled Level Edge Structure

GetPoint

In/Out Name Type Description
In WorldLocation Vector
Out Found Bool
Out Return Value Int Vector Structure

GetPointOnScreen

In/Out Name Type Description
In Floor Position Integer
In Screen Position Vector 2D Structure
In Player Index Integer
Out Found Bool
Out Return Value Int Vector Structure

GetPointUnderCursor

In/Out Name Type Description
In Floor Position Integer
In Player Index Integer
Out Found Bool
Out Return Value Int Vector Structure

Event (Delegate)

OnItemBuilt

OnItemRemoved

OnItemFailToBuilt

OnItemFailToRemove

OnItemRotate

OnAutoItemBuilt

OnAutoItemFailToChange

Data

Gametime Data