API Reference


propEnum(name, defaultValue, allowedValues, optionsopt)

Declares an enum property. Use this in the PROPS object of your script file (see props for more info).

An enum property is a string property that can only be set to one of a (limited) list of values.

Parameters:
Name Type Attributes Description
name string The name of the property.
defaultValue string The default value of the property. This must be one of the values specified in the allowedValues parameter.
allowedValues Array.<string> The list of allowed values for this property. This can be an array of strings with the allowed values, or you can use an array of objects with "value" and "label" keys in case you want the UI label to be different than the value. See the examples for more info.
options PropOptions <optional>
Extra property options.
Examples
export const PROPS = [
  propEnum("weekday", "Monday", [
    "Sunday",
    "Monday",
    "Tuesday",
    "Wednesday",
    "Thursday",
    "Friday",
    "Saturday"
  ])
];

export function onTick() {
  log("Favorite weekday: " + props.weekday);  // prints Monday
}
export const PROPS = [
  propEnum("strategy", "RANDOM", [
    // Note: value is the property's actual string value,
    // while label is what appears to the user in the UI.
    { value: "RANDOM", label: "Pick randomly" },
    { value: "CLOSEST", label: "Closest first" },
    { value: "STRONGEST", label: "Strongest first" },
  ])
];

export function onTick() {
  switch (props.strategy) {
    case "RANDOM":
      log("Picking random opponent.");
      break;
    case "CLOSEST":
      log("Picking closest opponent.");
      break;
    case "STRONGEST":
      log("Picking strongest opponent.");
      break;
    default:
      log("*** Invalid strategy: " + props.strategy);
      break;
  }
} 

< All Functions
Transform
Position Get
getPosXgetPosYgetPosZgetPosgetDistanceTogetDistanceBetweengetLocalPosgetSpawnPosselfToWorldPosworldToSelfPosselfToWorldDirworldToSelfDir
Position Set
moveForwardmoveBackwardmoveLeftmoveRightmoveUpmoveDownmovemoveGlobalmoveTowardsetPosXsetPosYsetPosZsetPosXYZsetPossetSpawnPossetLocalPos
Rotation Get
getPointAheadgetPointBehindgetPointAbovegetPointBelowgetPointToRightOfgetPointToLeftOfgetYawgetPitchgetRollgetRotgetLocalRotgetSpawnRotgetForwardgetBackwardgetUpgetDowngetRightgetLeft
Rotation Set
setYawsetPitchsetRollsetYawPitchRollturnspinrotateapplyQuaternionapplyQuaternionSelfsetRotresetRotsetSpawnRotresetSpawnRotsetLocalRotresetLocalRotlookAtlookDirlookTowardlookTowardDir
Scale
getScaleUniformsetScaleUniformgetScalesetScalegrowshrink
Actors
Actors
ActorRefActorRefmyselfdestroySelfexistsgetActorsgetPlayerActorsgetActorsWithTaggetActorWithTaghasTaggetGameRulesActorisOnstageisOffstagegoOffstagegoOnstageisActorInGroupgetActorsInGroupgetActorGroupDescriptiongetClosestActorgetCardTargetActorgetCardTargetActorDescription
Attributes
getDisplayNamesetDisplayNamegetCommentTextsetCommentTextsetVardeleteVargetVar
Cloning
getCloneParentisCloneclone
Properties
propspropNumberpropDecimalpropBooleanpropStringpropActorpropActorGrouppropImagepropSoundpropParticleEffectpropDeckpropColorpropEnumpropCardTargetActorrequireTruerequireFalserequireEqualrequireNotEqualPropOptionsPropDeckOptionsPropDefRequirement
Memory
memcardtempdeclareMemoryUnchangedsaveRotloadRotsaveVecloadVec
Messages
cooldownsendsendDelayedsendToManysendToManyDelayedsendToSelfsendToSelfDelayedsendToAllbroadcastsendToAllDelayedcallDeckcallActionDeckcallEventDeckdeactivateActionDeck
Player
Camera/Lights
CameraSettingssetCameraSettingssetLightclearLightrequestCameraOffset
Hierarchy
Parenting
attachToParentdetachFromParentisAttachedgetParent
Rendering
Visibility
isVisibleshowhide
Body
getBodyPossetBodyPosgetBodyRotsetBodyRotgetBoundsSizegetBoundsRadiusOutergetBoundsRadiusInnergetBoundsRadiusAveragegetBoundsCenter
Color
setTintsetTintColorsetTintHexgetTintgetTintColorgetTintHex
Scene
SkyTypeSceneLightingModesetSkyTypegetSkyTypesetSkyColorgetSkyColorsetSceneLightinggetSceneLighting
Physics
Presets
PhysicsPresetsetPhysicsPresetgetPhysicsPreset
Attributes
setSolidisSolidsetKinematicisKinematicenableGravityisGravityEnabledenableKeepUprightisKeepUprightEnabledsetBouncinesssetMasssetDragsetAngularDrag
Velocity
getVelocityaddVelocitypush
Casting
raycastraycastTerraincastAdvancedCastHitoverlapSpherecheckBoxCastMode
Collisions
onCollisiononTerrainCollision
Player Controls (high level input)
Actions
onJumponPrimaryActiononSecondaryAction
Controls
isGroundedisSprintinggetWorldThrottlegetThrottlegetRawThrottlegetLookAxessetCameraActorgetCameraActorresetCameraActorisPlayerControllablesetIsPlayerControllablesetControllingPlayergetControllingPlayer
Aiming
getAimTargetgetAimOrigingetAimDirectiongetLastAimHitPoint
Low Level Input
Keyboard
keyIsPressedkeyJustPressedkeyJustReleasedonKeyDownonKeyHeldKeyMessageKeyCode
Mouse
hasPlayerInputgetMouseXgetMouseYmouseIsPressedmousePressedmouseJustPressedmouseJustReleasedgetMouseRayOrigingetMouseRayDirgetActorUnderMousegetActorsUnderMousegetTerrainPointUnderMouseonMouseDownonMouseUponMouseHeldonActorClicked
Multiplayer
Players
isInMultiplayerModegetAllPlayersgetLocalPlayergetPlayerByNumbergetPlayerNickNamegetPlayerNumberplayerExistsisMasterPlayerisClaimedgetPlayerControlledActor
Events
onPlayerJoinedonPlayerLeftPlayerJoinedMessagePlayerLeftMessage
User Interface
Tooltips
Widgets
uiTextuiRectuiCircleuiTriangleuiLineuiButtonuiSpriteuiImageuiImageSliceuiGetTextWidthuiGetTextHeightuiGetScreenWidthuiGetScreenHeightuiGetScreenInfoUiColorShapeStyleRectStyleUiShapeOptionsUiSpriteOptionsUiImageOptionsUiButtonOptionsUiTextOptionsUiScreenInfo
Screen
getScreenPointgetScreenRect
Terrain
Blocks
BlockShapeBlockDirBlockStylesetBlocksetBlockAtPointgetBlockgetBlockAtPointclearBlockclearBlockAtPointgetBlockCoordsAtPointgetBlockCentergetBlockSize
Walls
Sound
SFX
playSoundtryPlaySoundSounds
Particle Effects
ParticleEffects
spawnParticleEffecttrySpawnParticleEffectParticles
Polite Requests
Requests
setPosPleasesetYawPleasesetPitchPleasesetRollPleasesetYawPitchRollPleaseturnPleaseapplyQuaternionPleaseapplyQuaternionSelfPleasesetRotPleaseresetRotPleaselookAtPleaselookDirPleasesetScaleUniformPleasesetScalePleaseattachToParentPleasedetachFromParentPleasesetVarPleasedeleteVarPleasesetDisplayNamePleasesetCommentTextPleasesetSolidPleasesetKinematicPleaseenableGravityPleaseenableKeepUprightPleasesetBouncinessPleasesetMassPleasesetDragPleasesetAngularDragPleasesetPhysicsPresetPleaseaddVelocityPleasesetCameraActorPleasesetIsPlayerControllablePleasesetControllingPlayerPleasesetBodyPosPleasesetBodyRotPleasesetTintColorPleasesetTintHexPleaseshowPleasehidePlease
Misc
Time
deltaTimegetTimegetTimeSinceResetonTickonLocalTickonOffstageTick
Math
vec3degToRadradToDegrevToRadinterpvec3zerovec3onevec3xvec3yvec3zvec3addvec3addXvec3addYvec3addZvec3withXvec3withYvec3withZvec3subvec3scalevec3addScaledvec3negvec3lengthSqvec3lengthvec3normalizedvec3withLengthvec3toStringvec3equal
Colors
colorFromHexcolorToHex
Game
onResetGameonInitresetGame
Util
toFixedLengthdeepCopyloglogError
(Advanced) Cards
Cards
getCardStatusRuntimeCardStatusgetCardErrorMessageonCardRemoved
Reference
GActionCardGActionMessageGEventGEventCard