Files
sbox-public/engine/Definitions/common/SceneSystem/CSceneAnimatableObject.def
s&box team 71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00

121 lines
3.6 KiB
Modula-2

#include "scenesystem/sceneanimatableobject.h"
delegate SboxAnimationEventCallback;
delegate SboxAnimTagEventCallback;
delegate SboxAnimGraphChangedCallback;
[Handle:Sandbox.SceneModel]
native class CSceneAnimatableObject as NativeEngine.CSceneAnimatableObject : CSceneObject
{
void SetWorldSpaceRenderBoneTransform( int nBoneIndex, Transform pRenderWorldTransform );
Transform GetWorldSpaceRenderBoneTransform( int nBoneIndex );
Transform GetWorldSpaceRenderBoneTransform( string boneName );
Transform GetWorldSpaceRenderBonePreviousTransform( int nBoneIndex );
Transform GetWorldSpaceRenderBonePreviousTransform( string boneName );
Transform GetLocalSpaceRenderBoneTransform( int nBoneIndex );
Transform GetLocalSpaceRenderBoneTransform( string boneName );
Transform GetWorldSpaceAnimationTransform( int nBoneIndex );
void Update( float dt );
void MergeFrom( CSceneAnimatableObject other );
void SetBindPose();
void CalculateWorldSpaceBones();
void FinishUpdate();
void ResetGraphParameters();
Transform GetParentSpaceBone( int index );
void SetParentSpaceBone( int index, Transform tx );
void InitAnimGraph( SboxAnimGraphChangedCallback pAnimGraphChangedCallback );
void SetAnimGraph( string graphName );
void SetAnimGraph( HAnimationGraph hGraph );
HAnimationGraph GetAnimGraph();
void SBox_SetFlexOverride( StringToken name, float flWeight );
void SBox_SetFlexOverride( int flexId, float flWeight );
float SBox_GetFlexOverride( int flexId );
float SBox_GetFlexOverride( StringToken name );
void SBox_ClearFlexOverride();
void DirectPlayback_PlaySequence( string pSequenceName );
void DirectPlayback_PlaySequence( string pSequenceName, Vector3 vTargetPos, float flFacingHeading, float flInterpTime );
void DirectPlayback_CancelSequence();
float DirectPlayback_GetSequenceCycle();
string DirectPlayback_GetSequence();
void DirectPlayback_SetSequenceStartTime( float flStartTime );
float DirectPlayback_GetSequenceDuration();
bool SBox_GetAttachment( StringToken name, bool worldspace, cref out Transform tx );
void SetShouldUseAnimGraph( bool bEnabled );
bool GetShouldUseAnimGraph();
string GetSequence();
void SetSequence( string pSequenceName );
float GetSequenceDuration();
float GetSequenceCycle();
void SetSequenceCycle( float flCycle );
void SetSequenceLooping( bool bLooping );
bool IsSequenceFinished();
void SetSequenceBlending( bool bBlending );
float GetPlaybackRate();
void SetPlaybackRate( float flPlaybackRate );
int GetParameterInt( string name );
Float GetParameterFloat( string name );
Vector3 GetParameterVector3( string name );
Rotation GetParameterRotation( string name );
//
// Anim Events
//
int PendingAnimationEvents();
void RunAnimationEvents( SboxAnimationEventCallback callback );
void DispatchTagEvents( SboxAnimTagEventCallback callback );
//
// Bone Overrides
//
void ClearPhysicsBones();
void SetPhysicsBone( ushort bone, Transform transform );
Transform GetRootMotion();
float m_flDeltaTime;
inline bool HasPhysicsBones()
{
return self->m_PhysicsBoneTransform.Count() > 0;
}
IAnimParameterInstance GetAnimParameter( string name );
IAnimParameterInstance GetAnimParameter( int index );
BBox m_worldBounds;
BBox m_localBounds;
}
native class IAnimParameterInstance as NativeEngine.IAnimParameterInstance
{
void SetValue( bool val );
void SetValue( int val );
void SetValue( float val );
void SetValue( Vector3 val );
void SetValue( Rotation val );
inline void SetEnumValue( int val )
{
self->SetValue( CAnimEnum( (AnimEnumValue_t)val ) );
}
CUtlString GetName();
bool IsAutoReset();
NativeEngine.AnimParamType GetParameterType();
}