43 lines
1.5 KiB
Ucode
43 lines
1.5 KiB
Ucode
|
//=============================================================================
|
||
|
// KFAnim_RandomScripted
|
||
|
//=============================================================================
|
||
|
// A custom random node that allows game code to "suggest" the next anim.
|
||
|
// This is unreliable and not synchronized with other game clients, but it
|
||
|
// is synchronized with another anims in this node. For reliable actions use
|
||
|
// SpecialMoves and AnimNodeSlots instead.
|
||
|
//=============================================================================
|
||
|
// Killing Floor 2
|
||
|
// Copyright (C) 2015 Tripwire Interactive LLC
|
||
|
//=============================================================================
|
||
|
|
||
|
class KFAnim_RandomScripted extends KFAnim_Random
|
||
|
native(Anim);
|
||
|
|
||
|
/** If set, this nodes first child is a taunt/challenge animation */
|
||
|
var() bool bHasTauntAnim;
|
||
|
|
||
|
cpptext
|
||
|
{
|
||
|
/** Notification to this blend that a child UAnimNodeSequence has reached the end and stopped playing. Not called if child has bLooping set to true or if user calls StopAnim. */
|
||
|
virtual void OnChildAnimEnd(UAnimNodeSequence* Child, FLOAT PlayedTime, FLOAT ExcessTime);
|
||
|
}
|
||
|
|
||
|
/** Queue up a specific child by index. If this child is only scripted it should have Chance=0 */
|
||
|
function QueueAnimChild(INT ChildIndex, optional float MaxWaitTime=3.f)
|
||
|
{
|
||
|
PendingChildIndex = ChildIndex;
|
||
|
}
|
||
|
|
||
|
/** For simplicity always assume taunt walks are at index 0 */
|
||
|
function QueueTauntWalk()
|
||
|
{
|
||
|
if ( bHasTauntAnim )
|
||
|
{
|
||
|
QueueAnimChild(0);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
defaultproperties
|
||
|
{
|
||
|
}
|
||
|
|