rott/kf_sources/GamePlay/Classes/ScriptedAction.uc
2026-07-14 20:27:09 +07:00

68 lines
1.2 KiB
Ucode

class ScriptedAction extends Object
abstract
hidecategories(Object)
collapsecategories
editinlinenew;
var localized string ActionString;
var bool bValidForTrigger;
event ActionCompleted(); // Called when Action is complete
event PostBeginPlay( ScriptedSequence SS ); // Called when level starts
event Reset(); // Called when level resets
function bool InitActionFor(ScriptedController C)
{
return false;
}
function bool EndsSection()
{
return false;
}
function bool StartsSection()
{
return false;
}
function ScriptedSequence GetScript(ScriptedSequence S)
{
return S;
}
function ProceedToNextAction(ScriptedController C)
{
C.ActionNum += 1;
}
function ProceedToSectionEnd(ScriptedController C)
{
local int Nesting;
local ScriptedAction A;
While ( C.ActionNum < C.SequenceScript.Actions.Length )
{
A = C.SequenceScript.Actions[C.ActionNum];
if ( A.StartsSection() )
Nesting++;
else if ( A.EndsSection() )
{
Nesting--;
if ( Nesting < 0 )
return;
}
C.ActionNum += 1;
}
}
function string GetActionString()
{
return ActionString;
}
defaultproperties
{
ActionString="unspecified action"
bValidForTrigger=true
}