mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 14:01:37 +00:00
859 lines
32 KiB
YAML
859 lines
32 KiB
YAML
# This file is automatically generated. Please don't edit it manually.
|
|
# To submit a bug report on the content, see
|
|
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
|
|
|
|
name: ContextActionService
|
|
type: class
|
|
memory_category: Instances
|
|
summary: |
|
|
A service used to bind user input to contextual actions.
|
|
description: |
|
|
Allows an experience to bind user input to contextual actions, or actions that
|
|
are only enabled under some condition or period of time. For example, allowing
|
|
a player to open a door only while close by. In code, an action is simply a
|
|
string (the name of the action) used by the service to differentiate between
|
|
unique actions. The action string is provided to
|
|
`Class.ContextActionService:BindAction()|BindAction` and
|
|
`Class.ContextActionService:UnbindAction()|UnbindAction`, among other member
|
|
functions. If two actions are bound to the same input, the most recently bound
|
|
will take priority. When the most recent action is unbound, the one bound
|
|
before that takes control again. Since this service deals with user input, you
|
|
can only use it in client-side `Class.LocalScript|LocalScripts`.
|
|
|
|
#### Context and Action
|
|
|
|
A **context** is simply a condition during which a player may perform some
|
|
action. Some examples include holding a `Class.Tool`, being
|
|
`Class.Seat|seated` in a car or standing near a door. Whatever the case may
|
|
be, it is up to your `Class.LocalScript|LocalScripts` to call
|
|
`Class.ContextActionService:BindAction()|BindAction` when the context is
|
|
entered and `Class.ContextActionService:UnbindAction()|UnbindAction` when the
|
|
context is left.
|
|
|
|
An **action** is simply some input that can be performed by the player while
|
|
in that context. Such an action could open/close some menu, trigger a
|
|
secondary tool action or send a request to the server using
|
|
`Class.RemoteFunction:InvokeServer()`. An action is identified by a unique
|
|
string as the first parameter of both
|
|
`Class.ContextActionService:BindAction()|BindAction` and
|
|
`Class.ContextActionService:UnbindAction()|UnbindAction`. The string can be
|
|
anything, but it should reflect the **action being performed, not the input
|
|
being used**. For example, don't use "KeyH" as an action name - use "CarHorn"
|
|
instead. It is best to define your actions as a constant at the top of your
|
|
script since you will use it in at least three different places in your code.
|
|
|
|
#### Binding Actions Contextually
|
|
|
|
It's better to use ContextActionService's
|
|
`Class.ContextActionService:BindAction()|BindAction` than
|
|
`Class.UserInputService.InputBegan` for most cases. For
|
|
`Class.UserInputService.InputBegan`, your connected function would have to
|
|
check if the player is in the context of the action being performed. In most
|
|
cases, this is harder than just calling a function when a context is entered/
|
|
left. For example, if you want to have the `H` key trigger a car horn sound
|
|
while the player is sitting in it, the player might type "hello" in chat or
|
|
otherwise use the `H` key for something else. It is harder to determine if
|
|
something else is using the H key (like chat) - the car might honk when the
|
|
player didn't mean to. If you instead use
|
|
`Class.ContextActionService:BindAction()|BindAction` and
|
|
`Class.ContextActionService:UnbindAction()|UnbindAction` when the player
|
|
enters/leaves the car, `Class.ContextActionService` will make sure that `H`
|
|
key presses trigger the honk action only when it is the most recently bound
|
|
action. If something else (like chat) takes control, you won't have to worry
|
|
about checking that.
|
|
|
|
#### Inspecting Bound Actions
|
|
|
|
To see a list of actions and their bound inputs, you can inspect the "Action
|
|
Bindings" tab in the Developer Console (F9 while in game). This shows all
|
|
bindings, including those bound by Roblox core scripts and default
|
|
camera/control scripts too. This is useful for debugging if your actions are
|
|
being bound/unbound at the correct times, or if some other action is stealing
|
|
input from your actions. For example, if you are attempting to bind
|
|
<kbd>W</kbd><kbd>A</kbd><kbd>S</kbd><kbd>D</kbd>, it may be the case that
|
|
default character movement scripts are binding over those same keys.
|
|
Similarly, the camera control script can steal right-click input if the script
|
|
runs after yours.
|
|
|
|
#### Keyboardless Input
|
|
|
|
This service is especially useful for supporting gamepad and touch input. For
|
|
gamepad input, you might choose to bind the B button to an action that returns
|
|
the user to the previous menu when they enter another menu. For touch,
|
|
on-screen touch buttons can be used in place of key presses: these buttons
|
|
display only while the action is bound, and the position, text and/or images
|
|
of these buttons can be configured through this service. They're somewhat
|
|
limited in the amount of customization provided by this service; it's usually
|
|
a better idea to make your own on-screen buttons using `Class.ImageButton` or
|
|
`Class.TextButton`.
|
|
code_samples:
|
|
- ContextActionService-Tool-Reload
|
|
inherits:
|
|
- Instance
|
|
descendants: []
|
|
tags:
|
|
- NotCreatable
|
|
- Service
|
|
deprecation_message: ''
|
|
properties: []
|
|
methods:
|
|
- name: ContextActionService:BindAction
|
|
summary: |
|
|
Bind user input to an action given an action handling function.
|
|
description: |
|
|
Bind an action to user input given an action handling function. Upon a
|
|
matching input being performed, the action handler function will be called
|
|
with the arguments listed below. Valid input enum items include those
|
|
within the following: `Enum.KeyCode`, `Enum.UserInputType` or
|
|
`Enum.PlayerActions` . Call this function when a player **enters the
|
|
context** in which an action can be performed. When the player leaves the
|
|
context, call `Class.ContextActionService:UnbindAction()|UnbindAction()`
|
|
with the same `actionName`.
|
|
|
|
The code sample below shows how a `Class.Sound` can be
|
|
`Class.Sound:Play()|played` while a key (<kbd>H</kbd>), game pad button,
|
|
or touch screen button is pressed.
|
|
|
|
```lua
|
|
local ContextActionService = game:GetService("ContextActionService")
|
|
|
|
-- A car horn sound
|
|
local honkSound = Instance.new("Sound", workspace)
|
|
honkSound.Looped = true
|
|
honkSound.SoundId = "rbxassetid://9120386436"
|
|
|
|
local function handleAction(actionName, inputState, inputObject)
|
|
if actionName == "HonkHorn" then
|
|
if inputState == Enum.UserInputState.Begin then
|
|
honkSound:Play()
|
|
else
|
|
honkSound:Pause()
|
|
end
|
|
end
|
|
end
|
|
|
|
-- When the player sits in the vehicle:
|
|
ContextActionService:BindAction("HonkHorn", handleAction, true, Enum.KeyCode.H, Enum.KeyCode.ButtonY)
|
|
|
|
-- When the player gets out:
|
|
ContextActionService:UnbindAction("HonkHorn")
|
|
```
|
|
|
|
#### Action Handler Parameters
|
|
|
|
The action handler functions are called with the following parameters:
|
|
|
|
<table>
|
|
<tr>
|
|
<th>#</th>
|
|
<th>Type</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td>1</td>
|
|
<td><code>string</code></td>
|
|
<td>The same string that was originally passed to <code>Class.ContextActionService:BindAction()|BindAction()</code>.
|
|
This allows one function to handle multiple actions at once, if necessary.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>2</td>
|
|
<td><code>Enum.UserInputState</code></td>
|
|
<td>The state of the input. <code>Enum.UserInputState|Cancel</code> is sent
|
|
if some input was in progress and another action bound over that in-progress
|
|
input, or if the in-progress bound action was unbound through <code>Class.ContextActionService:UnbindAction()|UnbindAction()</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>3</td>
|
|
<td><code>InputObject</code></td>
|
|
<td>An object that contains information about the input (varies based on
|
|
<code>Enum.UserInputType</code>). The <code>Class.InputObject</code> sometimes won't match the inputs the action
|
|
was bound to: when the <code>Enum.UserInputState|Cancel</code> state is sent, this object will be
|
|
<code>Enum.KeyCode.Unknown</code> and <code>Enum.UserInputType.None</code>.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
#### Action Bindings Stack
|
|
|
|
Action bindings behave like a stack: if two actions are bound to the same
|
|
user input, the **most recently bound** action handler will be used. If an
|
|
action handler returns `Enum.ContextActionResult.Pass`, the next most
|
|
recently bound action handler will be called, and so on until a handler
|
|
sinks the input (by returning `nil` or `Enum.ContextActionResult.Sink`).
|
|
When `Class.ContextActionService:UnbindAction()|UnbindAction` is called,
|
|
the action handler is removed from the stack. This stack behavior can be
|
|
overridden using
|
|
`Class.ContextActionService:BindActionAtPriority()|BindActionAtPriority`,
|
|
where an additional priority parameter after `createTouchButton` may
|
|
override the order in which actions are bound (higher before lower).
|
|
|
|
#### Touch Buttons
|
|
|
|
In addition to input types, this function's third parameter controls
|
|
whether a button is created for
|
|
`Class.UserInputService.TouchEnabled|TouchEnabled` devices. Upon the first
|
|
touch button's creation, a `Class.ScreenGui` named "ContextActionGui" is
|
|
added to the `Class.PlayerGui`. Inside the ScreenGui is a `Class.Frame`
|
|
called "ContextButtonFrame" is added. It is in this frame in which
|
|
`Class.ImageButton|ImageButtons` for bound actions are parented; you can
|
|
use `Class.ContextActionService:GetButton()|GetButton()` to retrieve such
|
|
buttons for customization. A maximum of 7 touch buttons can be created
|
|
through `Class.ContextActionService:BindAction()|BindAction()`.
|
|
code_samples:
|
|
- ContextActionService-Tool-Reload
|
|
- General-Action-Handler
|
|
- Stacked-Action-Handlers
|
|
parameters:
|
|
- name: actionName
|
|
type: string
|
|
default:
|
|
summary: |
|
|
A string representing the action being performed (e.g. "HonkHorn" or
|
|
"OpenDoor").
|
|
- name: functionToBind
|
|
type: Function
|
|
default:
|
|
summary: |
|
|
The action-handling function, called with the following parameters
|
|
when the bound inputs are triggered: string (actionName),
|
|
`Enum.UserInputState` and an InputObject.
|
|
- name: createTouchButton
|
|
type: boolean
|
|
default:
|
|
summary: |
|
|
Whether a GUI button should be created for the action on touch input
|
|
devices.
|
|
- name: inputTypes
|
|
type: Tuple
|
|
default:
|
|
summary: |
|
|
Any number of `Enum.KeyCode` or `Enum.UserInputType` representing the
|
|
inputs to bind to the action.
|
|
returns:
|
|
- type: ()
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:BindActionAtPriority
|
|
summary: |
|
|
Behaves like `Class.ContextActionService:BindAction()|BindAction` but also
|
|
allows a priority to be assigned to the bound action for overlapping input
|
|
types (higher before lower).
|
|
description: |
|
|
BindActionAtPriority behaves like
|
|
`Class.ContextActionService:BindAction()|BindAction` but also allows a
|
|
priority to be assigned to the bound action. If multiple actions are bound
|
|
to the same input, the higher priority function is called regardless of
|
|
the order in which the actions were bound. In other words, this function
|
|
overrides the normal "stack" behavior of BindAction.
|
|
code_samples:
|
|
- contextactionservice-bindaction-priorities
|
|
parameters:
|
|
- name: actionName
|
|
type: string
|
|
default:
|
|
summary: |
|
|
A string representing the action being performed (e.g. "HonkHorn" or
|
|
"OpenDoor").
|
|
- name: functionToBind
|
|
type: Function
|
|
default:
|
|
summary: |
|
|
The action-handling function, called with the following parameters
|
|
when the bound inputs are triggered: string (actionName),
|
|
`Enum.UserInputState` and an InputObject.
|
|
- name: createTouchButton
|
|
type: boolean
|
|
default:
|
|
summary: |
|
|
Whether a GUI button should be created for the action on touch input
|
|
devices.
|
|
- name: priorityLevel
|
|
type: int
|
|
default:
|
|
summary: |
|
|
The priority level at which the action should be bound (higher
|
|
considered before lower).
|
|
- name: inputTypes
|
|
type: Tuple
|
|
default:
|
|
summary: |
|
|
Any number of Enum.KeyCode or Enum.UserInputType representing the
|
|
inputs to bind to the action.
|
|
returns:
|
|
- type: ()
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:BindActionToInputTypes
|
|
summary: |
|
|
Binds _functionToBind_ to input events such as key presses, mouse
|
|
movement, or controller input.
|
|
description: |
|
|
This function binds _functionToBind_ to input events such as key presses,
|
|
mouse movement, or controller input. The specific input types the engine
|
|
listens for are listed as parameters of BindAction. Whenever a player uses
|
|
any of these input types, the Roblox Engine calls "functionToBind".
|
|
BindAction sets the priorityLevel via `Enum.ContextActionPriority` to
|
|
Default.Value, which is 2000. Use `Class.ContextActionService:GetButton()`
|
|
to control the priority of bound events.
|
|
|
|
In addition to input types, BindAction has a createTouchButton parameter.
|
|
When this is set to true it creates an `Class.ImageButton` on any device
|
|
with a touchscreen. A `Class.ScreenGui` is also created to put the context
|
|
buttons into named ContextActionGui and is parented to `Class.PlayerGui`.
|
|
The created ImageButton is parented to this ContextActionGui. GetButton
|
|
can be used to retrieve the button that was created.
|
|
|
|
If an input has more than one function bound to it, each function will be
|
|
placed on a stack. A stack obeys the principle of last in first out. So
|
|
the first object placed on the stack will be on the top. The next object
|
|
placed on the stack becomes the top and the previous object moves one
|
|
position down (like a stack of books). When the input is triggered, the
|
|
function at the top of the stack is called. If the function returns
|
|
`Enum.ContextActionResult`.Pass this will continue down the stack. To
|
|
remove a function from being called by all input that it was bound by use
|
|
`Class.ContextActionService:UnbindAction()`.
|
|
|
|
BindAction allows control over whether or not a bound action should be
|
|
processed by other actions on the stack using `Enum.ContextActionResult`.
|
|
If `Enum.ContextActionResult.Pass` is returned in the callback function,
|
|
every action below it in the stack (last function called gets executed
|
|
first) will get a chance to process it. Anything other than Pass will be
|
|
treated as `Enum.ContextActionResult.Sink`, including `nil`. It will also
|
|
sink if the callback is yielded.
|
|
code_samples: []
|
|
parameters:
|
|
- name: actionName
|
|
type: string
|
|
default:
|
|
summary: ''
|
|
- name: functionToBind
|
|
type: Function
|
|
default:
|
|
summary: ''
|
|
- name: createTouchButton
|
|
type: boolean
|
|
default:
|
|
summary: ''
|
|
- name: inputTypes
|
|
type: Tuple
|
|
default:
|
|
summary: ''
|
|
returns:
|
|
- type: ()
|
|
summary: ''
|
|
tags:
|
|
- Deprecated
|
|
deprecation_message: |
|
|
This item has been superseded by `Class.ContextActionService:BindAction()`
|
|
which should be used in all new work.
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:BindActivate
|
|
summary: |
|
|
Bind a `Enum.KeyCode` with a specific `Enum.UserInputType` to trigger
|
|
`Class.Tool.Activation` and `Class.ClickDetector` events.
|
|
description: |
|
|
Bind a `Enum.KeyCode` that can be used with a `Enum.UserInputType` to
|
|
activate `Class.ClickDetector` events, `Class.Tool|Tools`, and
|
|
`Class.GuiButton|GuiButtons`. When the given key/button is pressed, it
|
|
fires the `Class.Mouse.Button1Down` event on the mouse sent to
|
|
`Class.Tool.Equipped`. This in turn fires the `Class.Tool.Activated` event
|
|
if `Class.Tool.ManualActivationOnly` is not set to true. For gamepad
|
|
input, this function is called by the default control scripts in order to
|
|
bind the ButtonR2 `Enum.KeyCode`.
|
|
|
|
Note that the `Enum.UserInputType` specified must be `Keyboard` or
|
|
`Gamepad1` through `Gamepad8` in order to be valid.
|
|
code_samples: []
|
|
parameters:
|
|
- name: userInputTypeForActivation
|
|
type: UserInputType
|
|
default:
|
|
summary: |
|
|
Must be Keyboard or Gamepad1 through Gamepad8.
|
|
- name: keyCodesForActivation
|
|
type: Tuple
|
|
default:
|
|
summary: ''
|
|
returns:
|
|
- type: ()
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:GetAllBoundActionInfo
|
|
summary: |
|
|
Get a table of information about all bound actions (key is the name passed
|
|
to `Class.ContextActionService:BindAction()|BindAction`, value is a table
|
|
from `Class.ContextActionService:GetBoundActionInfo()|GetBoundActionInfo`
|
|
when called with the key).
|
|
description: |
|
|
GetAllBoundActioninfo returns a table which maps all actions' names (those
|
|
originally passed to `Class.ContextActionService:BindAction()|BindAction`)
|
|
to a table returned by
|
|
`Class.ContextActionService:GetBoundActionInfo()|GetBoundActionInfo` when
|
|
called with the action name itself. Using this function, you can inspect
|
|
all presently bound actions. This is useful when debugging their priority
|
|
levels or stack orders.
|
|
code_samples: []
|
|
parameters: []
|
|
returns:
|
|
- type: Dictionary
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:GetBoundActionInfo
|
|
summary: |
|
|
Get a table of information about a bound action given its name originally
|
|
passed to `Class.ContextActionService:BindAction()|BindAction`.
|
|
description: |
|
|
GetBoundActionInfo returns a table with the following keys describing a
|
|
bound action given its name. To get the same information for all actions
|
|
at once, use
|
|
`Class.ContextActionService:GetAllBoundActionInfo()|GetAllBoundActionInfo`.
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Name</th>
|
|
<th>Type</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td><code>stackOrder</code></td>
|
|
<td>number</td>
|
|
<td>
|
|
|
|
Describes the index of the action on the stack (increasing)
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>priorityLevel</code>*</td>
|
|
<td>number</td>
|
|
<td>
|
|
|
|
Describes the
|
|
<code>Class.ContextActionService:BindActionAtPriority()|priority</code>
|
|
level of the action
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>createTouchButton</code></td>
|
|
<td>bool</td>
|
|
<td>
|
|
|
|
Describes whether a touch button should be created on
|
|
<code>Class.UserInputService.TouchEnabled|TouchEnabled</code> devices
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>inputTypes</code></td>
|
|
<td>table</td>
|
|
<td>
|
|
|
|
The input types passed to
|
|
<code>Class.ContextActionService:BindAction()|BindAction</code> for which
|
|
this action will trigger
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>description</code>†</td>
|
|
<td>string</td>
|
|
<td>
|
|
|
|
The description of action set by
|
|
<code>Class.ContextActionService:SetDescription()|SetDescription</code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>title</code>†</td>
|
|
<td>string</td>
|
|
<td>
|
|
|
|
The title of the action set by
|
|
<code>Class.ContextActionService:SetTitle()|SetTitle</code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>image</code>†</td>
|
|
<td>string</td>
|
|
<td>
|
|
|
|
The image of the action's touch button set by
|
|
<code>Class.ContextActionService:SetImage()|SetImage</code>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
\* Priority level will still be included even if
|
|
`Class.ContextActionService:BindActionAtPriority()|BindActionAtPriority`
|
|
wasn't used - by default it will be 2000.
|
|
|
|
† Indicates that this field will be `nil` if the associated method was not
|
|
called for the given action.
|
|
code_samples: []
|
|
parameters:
|
|
- name: actionName
|
|
type: string
|
|
default:
|
|
summary: ''
|
|
returns:
|
|
- type: Dictionary
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:GetButton
|
|
summary: |
|
|
Retrieves a `Class.ImageButton` of a
|
|
`Class.ContextActionService:BindAction()|bound` action that had a touch
|
|
input button created.
|
|
description: |
|
|
GetButton returns the `Class.ImageButton` created by
|
|
`Class.ContextActionService:BindAction()|BindAction` if its third
|
|
parameter was true and the device is
|
|
`Class.UserInputService.TouchEnabled|TouchEnabled`. The only parameter to
|
|
this function must match exactly the name of the action originally sent to
|
|
BindAction.
|
|
|
|
If no such action was bound or if a button was not created, this function
|
|
returns `nil`.
|
|
code_samples: []
|
|
parameters:
|
|
- name: actionName
|
|
type: string
|
|
default:
|
|
summary: |
|
|
The name of the action originally passed to BindAction.
|
|
returns:
|
|
- type: Instance
|
|
summary: |
|
|
An ImageButton created by BindAction.
|
|
tags:
|
|
- Yields
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:GetCurrentLocalToolIcon
|
|
summary: |
|
|
Return the `Class.BackpackItem.TextureId` of a `Class.Tool` currently
|
|
`Class.Tool.Equipped|equipped` by the `Class.Player`.
|
|
description: |
|
|
GetCurrentLocalToolIcon will return the `Class.BackpackItem.TextureId` of
|
|
a `Class.Tool` currently `Class.Tool.Equipped|equipped` by the
|
|
`Class.Player`, or `nil` if there is no such Tool or if the player lacks a
|
|
`Class.Player.Character|Character`.
|
|
code_samples: []
|
|
parameters: []
|
|
returns:
|
|
- type: string
|
|
summary: |
|
|
A content string from the Tool's TextureId, or `nil` if one could not
|
|
be found.
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:SetDescription
|
|
summary: |
|
|
Given the name of a bound action with a touch button, sets the description
|
|
of the action.
|
|
description: |
|
|
SetDescription will set the description of an action bound by
|
|
`Class.ContextActionService:BindAction()|BindAction`. In a list of
|
|
available actions, this would be text that describes the given action.
|
|
|
|
Although the name may suggest that this method is related to the family of
|
|
functions that customize a touch button for actions that create them
|
|
(`Class.ContextActionService:SetTitle()|SetTitle`,
|
|
`Class.ContextActionService:SetImage()|SetImage` and
|
|
`Class.ContextActionService:SetPosition()|SetPosition`), this method does
|
|
not affect such a button. This method merely sets a text description of an
|
|
action, and nothing more.
|
|
code_samples:
|
|
- contextactionservice-touch-button
|
|
parameters:
|
|
- name: actionName
|
|
type: string
|
|
default:
|
|
summary: |
|
|
The name of the action originally passed to BindAction.
|
|
- name: description
|
|
type: string
|
|
default:
|
|
summary: |
|
|
A text description of the action, such as "Honk the car's horn" or
|
|
"Open the inventory".
|
|
returns:
|
|
- type: ()
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:SetImage
|
|
summary: |
|
|
If `actionName` key contains a bound action, then `image` is set as the
|
|
image of the touch button.
|
|
description: |
|
|
This method sets the image shown on a touch button created by
|
|
`Class.ContextActionService:BindAction()|BindAction()`. Specifically, it
|
|
sets the `Class.ImageLabel.Image` property of the `Class.ImageLabel`
|
|
within the `Class.ImageButton` that would be returned by
|
|
`Class.ContextActionService:GetButton()|GetButton`. If no such bound
|
|
action exists (e.g. nothing is returned by GetButton), this function does
|
|
nothing and throws no error.
|
|
|
|
This function is part of a family of methods that customize the touch
|
|
button of an action. Others in this family include
|
|
`Class.ContextActionService:SetPosition()|SetPosition` and
|
|
`Class.ContextActionService:SetTitle()|SetTitle`.
|
|
code_samples:
|
|
- contextactionservice-touch-button
|
|
parameters:
|
|
- name: actionName
|
|
type: string
|
|
default:
|
|
summary: |
|
|
The name of the action originally passed to BindAction.
|
|
- name: image
|
|
type: string
|
|
default:
|
|
summary: |
|
|
The value to which the Image property should be set.
|
|
returns:
|
|
- type: ()
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:SetPosition
|
|
summary: |
|
|
Given the name of a bound action with a touch button, sets the position of
|
|
the button within the ContextButtonFrame.
|
|
description: |
|
|
This method sets the position of a touch button created by
|
|
`Class.ContextActionService:BindAction()|BindAction()`. Specifically, it
|
|
sets the `Class.GuiObject.Position` property of the `Class.ImageButton`
|
|
that would be returned by
|
|
`Class.ContextActionService:GetButton()|GetButton`. If no such bound
|
|
action exists (e.g. nothing is returned by GetButton), this function does
|
|
nothing and throws no error.
|
|
|
|
This function is part of a family of methods that customize the touch
|
|
button of an action. Others in this family include
|
|
`Class.ContextActionService:SetImage()|SetImage` and
|
|
`Class.ContextActionService:SetTitle()|SetTitle`.
|
|
code_samples:
|
|
- contextactionservice-touch-button
|
|
parameters:
|
|
- name: actionName
|
|
type: string
|
|
default:
|
|
summary: |
|
|
The name of the action originally passed to BindAction.
|
|
- name: position
|
|
type: UDim2
|
|
default:
|
|
summary: |
|
|
The position within the ContextButtonFrame.
|
|
returns:
|
|
- type: ()
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:SetTitle
|
|
summary: |
|
|
Given the name of a bound action with a touch button, sets the text shown
|
|
on the button.
|
|
description: |
|
|
SetTitle will set the text shown on a touch button created by
|
|
`Class.ContextActionService:BindAction()|BindAction`. Specifically, this
|
|
sets the `Class.TextLabel.Text` property of a `Class.TextLabel` within the
|
|
`Class.ImageButton` that would be returned by
|
|
`Class.ContextActionService:GetButton()|GetButton`. If no such bound
|
|
action exists (e.g. nothing is returned by GetButton), this function does
|
|
nothing and throws no error.
|
|
|
|
This function is part of a family of methods that customize the touch
|
|
button of an action. Others in this family include
|
|
`Class.ContextActionService:SetImage()|SetImage` and
|
|
`Class.ContextActionService:SetPosition()|SetPosition`.
|
|
code_samples:
|
|
- contextactionservice-touch-button
|
|
parameters:
|
|
- name: actionName
|
|
type: string
|
|
default:
|
|
summary: |
|
|
The name of the action originally passed to BindAction.
|
|
- name: title
|
|
type: string
|
|
default:
|
|
summary: |
|
|
The text to display on the button.
|
|
returns:
|
|
- type: ()
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:UnbindAction
|
|
summary: |
|
|
Unbind an action from input given its name.
|
|
description: |
|
|
UnbindAction will unbind an action by name from user inputs so that the
|
|
action handler function will no longer be called. Call this function when
|
|
the context for some action is no longer applicable, such as closing a
|
|
user interface, exiting a car or `Class.Tool.Unequipped|unequipping` a
|
|
`Class.Tool`. See `Class.ContextActionService:BindAction()|BindAction` for
|
|
more information on how bound actions operate.
|
|
|
|
This function **will not** throw an error if there is no such action bound
|
|
with the given string. Using
|
|
`Class.ContextActionService:GetAllBoundActionInfo()|GetAllBoundActionInfo`
|
|
or the Developer Console's "Action Bindings" tab, you can find out what
|
|
actions are presently bound.
|
|
code_samples:
|
|
- ContextActionService-Tool-Reload
|
|
parameters:
|
|
- name: actionName
|
|
type: string
|
|
default:
|
|
summary: ''
|
|
returns:
|
|
- type: ()
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:UnbindActivate
|
|
summary: |
|
|
Unbind a `Enum.KeyCode` with a specific `Enum.UserInputType` from
|
|
triggering `Class.Tool.Activation` when bound with
|
|
`Class.ContextActionService:BindActivate()`.
|
|
description: |
|
|
UnbindActivate unbinds an `Enum.KeyCode` used with an `Enum.UserInputType`
|
|
for activating a `Class.Tool` (or a `Class.HopperBin`) using
|
|
`Class.ContextActionService:BindActivate()|BindActivate`. This function
|
|
essentially undoes the action performed by that function.
|
|
code_samples: []
|
|
parameters:
|
|
- name: userInputTypeForActivation
|
|
type: UserInputType
|
|
default:
|
|
summary: |
|
|
The same UserInputType originally sent to BindActivate.
|
|
- name: keyCodeForActivation
|
|
type: KeyCode
|
|
default: Unknown
|
|
summary: |
|
|
The same KeyCode originally sent to BindActivate.
|
|
returns:
|
|
- type: ()
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService:UnbindAllActions
|
|
summary: |
|
|
Removes all functions bound. No actionNames will remain. All touch buttons
|
|
will be removed.
|
|
description: |
|
|
Removes all functions bound. No actionNames will remain. All touch buttons
|
|
will be removed. If a button was manipulated manually there is no
|
|
guarantee it will be cleaned up.
|
|
code_samples: []
|
|
parameters: []
|
|
returns:
|
|
- type: ()
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
thread_safety: Unsafe
|
|
capabilities:
|
|
- Input
|
|
events:
|
|
- name: ContextActionService.LocalToolEquipped
|
|
summary: |
|
|
Fires when the current player equips a `Class.Tool`.
|
|
description: |
|
|
Fires when the current player equips a `Class.Tool`.
|
|
code_samples: []
|
|
parameters:
|
|
- name: toolEquipped
|
|
type: Instance
|
|
default:
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
capabilities:
|
|
- Input
|
|
- name: ContextActionService.LocalToolUnequipped
|
|
summary: |
|
|
Fires when the current player unequips a `Class.Tool`.
|
|
description: |
|
|
Fires when the current player unequips a `Class.Tool`.
|
|
code_samples: []
|
|
parameters:
|
|
- name: toolUnequipped
|
|
type: Instance
|
|
default:
|
|
summary: ''
|
|
tags: []
|
|
deprecation_message: ''
|
|
security: None
|
|
capabilities:
|
|
- Input
|
|
callbacks: []
|