KitStdActivation
Implements activation for kit objects.
Properties
Section titled “Properties”Activatable
Section titled “Activatable”KitStdActivation.Activatable: Attribute<boolean>
Whether if a kit object can be activated.
ActivationBehavior
Section titled “ActivationBehavior”KitStdActivation.ActivationBehavior: Attribute<ActivationBehavior>
How to handle activation behavior.
ActivationHumanoidStateType
Section titled “ActivationHumanoidStateType”KitStdActivation.ActivationHumanoidStateType: Attribute<Enum.HumanoidStateType?>
TBA
ActivationInterval
Section titled “ActivationInterval”KitStdActivation.ActivationInterval: Attribute<number?>
TBA
ActivationKeyCode
Section titled “ActivationKeyCode”KitStdActivation.ActivationKeyCode: Attribute<Enum.KeyCode?>
TBA
Enabled
Section titled “Enabled”KitStdActivation.Enabled: Attribute<boolean>
TBA
MaxActivationDistance
Section titled “MaxActivationDistance”KitStdActivation.MaxActivationDistance: Attribute<number?>
TBA
Functions
Section titled “Functions”onActivated
Section titled “onActivated”function KitStdActivation.onActivated( instanceTrove: trove.Trove, instance: T & Instance, onActivated: (trove: trove.Trove, instance: T) -> ()
): ()
Calls the callback when the connected instance is activated based on it’s
ActivationMode
attribute:
- If
ActivationMode == "Touch" and connectTo:IsA("BasePart")
, activates when the supported instances touch the connected instance - If
ActivationMode == "Prompt" and connectTo:IsA("BasePart")
, activates when aconnectTo.ActivationProximityPrompt
ProximityPrompt - or creates one - is triggered.MaxActivationDistance
is also set. - If
ActivationMode == "Click" and connectTo:IsA("BasePart")
, activates when aconnectTo.ActivationClickDetector
ClickDetector - or creates one- is triggered.MaxActivationDistance
is also set. - If
ActivationMode == "KeyCode"
, it activates whenActivationKeyCode
is triggered.onActivated
receives the connected instance so callbacks can be cached.onActivated
is only called if theActive
attribute is enabled. Once activated, the consumer should cleanup the given trove and reconnect once it is deactivated. This implements the following attributes for the connected instance: ActivationMode
MaxActivationDistance
ActivationKeyCode
ifActivationMode == "Control"
SupportsCharacter
ifActivationMode == "Control"
SupportsBoxes
ifActivationMode == "Control"
BoxesRequiresMatchingId
ifActivationMode == "Control"
RequiredBoxId
ifActivationMode == "Control"
Self:onLoaded(function(trove, self) local activationTrove = trove:extend() local isActivated = false local function onSelfActivated() if not isActivated then isActivated = true activationTrove:clean() print("Activated!") task.delay(3, function() isActivated = false activationTrove = trove:extend() prelude.connectActivation(activationTrove, connectTo, onSelfActivated) print("Deactivated!") end) end end prelude.connectActivation(activationTrove, connectTo, onSelfActivated)end)