Seaside/SpyCustom/sdk/sceneentity_shared.h
2021-06-16 18:48:15 +03:00

96 lines
1.8 KiB
C++

#ifndef SCENEENTITY_SHARED_H
#define SCENEENTITY_SHARED_H
#ifdef _WIN32
#pragma once
#endif
#if defined( CLIENT_DLL )
#define CBaseFlex C_BaseFlex
#define CSceneEntity C_SceneEntity
#endif
#include "iscenetokenprocessor.h"
class CBaseFlex;
class CChoreoEvent;
class CChoreoScene;
class CChoreoActor;
class CSceneEntity;
class CSceneEventInfo
{
public:
CSceneEventInfo()
:
m_pEvent(0),
m_pScene(0),
m_pActor(0),
m_bStarted(false),
m_iLayer(-1),
m_iPriority(0),
m_nSequence(0),
m_bIsGesture(false),
m_flWeight(0.0f),
m_hTarget(),
m_bIsMoving(false),
m_bHasArrived(false),
m_flInitialYaw(0.0f),
m_flTargetYaw(0.0f),
m_flFacingYaw(0.0f),
m_nType(0),
m_flNext(0.0f),
m_bClientSide(false)
{
}
CChoreoEvent* m_pEvent;
CChoreoScene* m_pScene;
CChoreoActor* m_pActor;
bool m_bStarted;
public:
int m_iLayer;
int m_iPriority;
int m_nSequence;
bool m_bIsGesture;
float m_flWeight;
EHANDLE m_hTarget;
bool m_bIsMoving;
bool m_bHasArrived;
float m_flInitialYaw;
float m_flTargetYaw;
float m_flFacingYaw;
int m_nType;
float m_flNext;
bool m_bClientSide;
void InitWeight(CBaseFlex* pActor);
float UpdateWeight(CBaseFlex* pActor);
};
class CSceneTokenProcessor : public ISceneTokenProcessor
{
public:
const char* CurrentToken(void);
bool GetToken(bool crossline);
bool TokenAvailable(void);
void Error(PRINTF_FORMAT_STRING const char* fmt, ...);
void SetBuffer(char* buffer);
private:
const char* m_pBuffer;
char m_szToken[1024];
};
extern CSceneTokenProcessor g_TokenProcessor;
void Scene_Printf(PRINTF_FORMAT_STRING const char* pFormat, ...);
extern ConVar scene_clientflex;
#endif