Files
Sun1602/Client/GameClient/State/StateCollect.h
T
2022-10-26 12:25:11 +08:00

44 lines
1.1 KiB
C++

#pragma once
enum eCollectState
{
eCollectState_Start = 0,
eCollectState_Loop = 1,
eCollectState_End = 2,
eCollectState_Max,
};
class StateBase;
class StateCollect :
public StateBase
{
StateCollect(void);
public:
~StateCollect(void);
__forceinline static StateCollect* GetInstance() { static StateCollect d; return &d; };
virtual int GetStateKind() { return STATE::IDLE; }
virtual BOOL CanTransite(Object* pOwner, DWORD CurTime, StateBase* pToTransiteState);
virtual STATECHANGE::TYPE OnStart(Object* pOwner, DWORD CurTime);
virtual STATEPROCESS::TYPE OnProcess(Object* pOwner, DWORD CurTime,DWORD dwTick);
virtual STATECHANGE::TYPE OnEnd(Object* pOwner, DWORD CurTime);
static void SendCollectActionSyn(DWORD object_key, WzVector player_position);
static void SendCollectSuccessSyn();
static void SendCollectCancelSyn(TCHAR* debug_message);
protected:
WzID m_wiAniCode[eCollectState_Max];
WzID m_wiSucEffectCode;
WzID m_wiStartEffectCode;
bool m_bSuccess;
bool m_bMouseCancel;
bool m_bStampMode;
static bool is_send_action_syn_;
};