68 lines
1.8 KiB
Ucode
68 lines
1.8 KiB
Ucode
//=============================================================================
|
|
// KFSeqAct_SetTrader
|
|
//=============================================================================
|
|
// Action that sets the next trader to a specific KFTraderTrigger
|
|
//=============================================================================
|
|
// Killing Floor 2
|
|
// Copyright (C) 2016 Tripwire Interactive LLC
|
|
// - Matt "Squirrlz" Farber
|
|
//=============================================================================
|
|
class KFSeqAct_SetTrader extends SequenceAction;
|
|
|
|
/** When TRUE, the game will automatically select the next random trader when the Clear input is used */
|
|
var() bool bAutoSetNextTraderWhenClearing;
|
|
|
|
event Activated()
|
|
{
|
|
local SeqVar_Object ObjVar;
|
|
local KFTraderTrigger Trader;
|
|
local KFGameInfo KFGI;
|
|
|
|
if( InputLinks[0].bHasImpulse )
|
|
{
|
|
// Grab our trader
|
|
foreach LinkedVariables( class'SeqVar_Object', ObjVar, "Trader Trigger" )
|
|
{
|
|
Trader = KFTraderTrigger( ObjVar.GetObjectValue() );
|
|
break;
|
|
}
|
|
|
|
// Sanity
|
|
if( Trader == none )
|
|
{
|
|
return;
|
|
}
|
|
|
|
// Set in gameinfo
|
|
KFGI = KFGameInfo( class'WorldInfo'.static.GetWorldInfo().Game );
|
|
if( KFGI != none )
|
|
{
|
|
KFGI.ScriptedTrader = Trader;
|
|
KFGI.SetupNextTrader();
|
|
}
|
|
}
|
|
else if( InputLinks[1].bHasImpulse )
|
|
{
|
|
// Clear from gameinfo
|
|
KFGI = KFGameInfo( class'WorldInfo'.static.GetWorldInfo().Game );
|
|
if( KFGI != none )
|
|
{
|
|
KFGI.ScriptedTrader = none;
|
|
if( bAutoSetNextTraderWhenClearing )
|
|
{
|
|
KFGI.SetupNextTrader();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
DefaultProperties
|
|
{
|
|
ObjCategory="Killing Floor"
|
|
ObjName="Set Trader"
|
|
|
|
InputLinks(0)=(LinkDesc="Set")
|
|
InputLinks(1)=(LinkDesc="Clear")
|
|
VariableLinks(0)=(ExpectedType=class'SeqVar_Object',LinkDesc="Trader Trigger",PropertyName="",MaxVars=1)
|
|
bCallHandler=false
|
|
} |