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

63 lines
1.4 KiB
Ucode

//=============================================================================
// ScriptedTriggerController
// used for playing ScriptedTrigger scripts
// A ScriptedTriggerController never has a pawn
//=============================================================================
class ScriptedTriggerController extends ScriptedController;
function InitializeFor(ScriptedTrigger T)
{
SequenceScript = T;
ActionNum = 0;
SequenceScript.SetActions(self);
GotoState('Scripting');
}
function GameHasEnded() {}
function ClientGameEnded() {}
function RoundHasEnded() {}
function ClientRoundEnded() {}
function DestroyPawn()
{
if ( Instigator != None )
Instigator.Destroy();
}
function ClearAnimation() {}
function SetNewScript(ScriptedSequence NewScript)
{
SequenceScript = NewScript;
ActionNum = 0;
Focus = None;
SequenceScript.SetActions(self);
}
state Scripting
{
function Trigger( actor Other, pawn EventInstigator )
{
Instigator = EventInstigator;
Super.Trigger(Other,EventInstigator);
}
function LeaveScripting()
{
Destroy();
}
Begin:
InitforNextAction();
if ( bBroken )
GotoState('Broken');
if ( CurrentAction.TickedAction() )
enable('Tick');
}
// Broken scripted sequence - for debugging
State Broken
{
Begin:
warn(" Trigger Scripted Sequence BROKEN "$SequenceScript$" ACTION "$CurrentAction);
}