forked from Tr0n/client
Solution refactoring and restructuring, removed Boost dependency, removed unused tools
This commit is contained in:
89
src/UserInterface/PythonPlayerEventHandler.h
Normal file
89
src/UserInterface/PythonPlayerEventHandler.h
Normal file
@ -0,0 +1,89 @@
|
||||
#pragma once
|
||||
|
||||
#include "../gamelib/ActorInstance.h"
|
||||
#include "../gamelib/FlyHandler.h"
|
||||
|
||||
#include "PythonNetworkStream.h"
|
||||
#include "InstanceBase.h"
|
||||
|
||||
class CPythonPlayerEventHandler : public CActorInstance::IEventHandler
|
||||
{
|
||||
public:
|
||||
static CPythonPlayerEventHandler& GetSingleton();
|
||||
|
||||
public:
|
||||
virtual ~CPythonPlayerEventHandler();
|
||||
|
||||
virtual void OnSyncing(const SState& c_rkState);
|
||||
virtual void OnWaiting(const SState& c_rkState);
|
||||
virtual void OnMoving(const SState& c_rkState);
|
||||
virtual void OnMove(const SState& c_rkState);
|
||||
virtual void OnStop(const SState& c_rkState);
|
||||
virtual void OnWarp(const SState& c_rkState);
|
||||
virtual void OnClearAffects();
|
||||
virtual void OnSetAffect(UINT uAffect);
|
||||
virtual void OnResetAffect(UINT uAffect);
|
||||
virtual void OnAttack(const SState& c_rkState, WORD wMotionIndex);
|
||||
virtual void OnUseSkill(const SState& c_rkState, UINT uMotSkill, UINT uArg);
|
||||
virtual void OnUpdate();
|
||||
virtual void OnChangeShape();
|
||||
virtual void OnHit(UINT uSkill, CActorInstance& rkActorVictim, BOOL isSendPacket);
|
||||
|
||||
void FlushVictimList();
|
||||
|
||||
protected:
|
||||
CPythonPlayerEventHandler();
|
||||
|
||||
protected:
|
||||
struct SVictim
|
||||
{
|
||||
DWORD m_dwVID;
|
||||
long m_lPixelX;
|
||||
long m_lPixelY;
|
||||
};
|
||||
|
||||
protected:
|
||||
std::vector<SVictim> m_kVctkVictim;
|
||||
|
||||
DWORD m_dwPrevComboIndex;
|
||||
DWORD m_dwNextWaitingNotifyTime;
|
||||
DWORD m_dwNextMovingNotifyTime;
|
||||
TPixelPosition m_kPPosPrevWaiting;
|
||||
|
||||
private:
|
||||
class CNormalBowAttack_FlyEventHandler_AutoClear : public IFlyEventHandler
|
||||
{
|
||||
public:
|
||||
CNormalBowAttack_FlyEventHandler_AutoClear() {}
|
||||
virtual ~CNormalBowAttack_FlyEventHandler_AutoClear() {}
|
||||
|
||||
void Set(CPythonPlayerEventHandler * pParent, CInstanceBase * pInstMain, CInstanceBase * pInstTarget);
|
||||
void SetTarget(CInstanceBase* pInstTarget);
|
||||
|
||||
virtual void OnSetFlyTarget();
|
||||
virtual void OnShoot(DWORD dwSkillIndex);
|
||||
|
||||
virtual void OnNoTarget() { /*Tracenf("Shoot : target<65><74> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.");*/ }
|
||||
virtual void OnExplodingOutOfRange() { /*Tracenf("Shoot : <20><><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.");*/ }
|
||||
virtual void OnExplodingAtBackground() { /*Tracenf("Shoot : <20><><EFBFBD>濡 <20>¾ҽ<C2BE><D2BD>ϴ<EFBFBD>.");*/ }
|
||||
virtual void OnExplodingAtAnotherTarget(DWORD dwSkillIndex, DWORD dwVID);
|
||||
virtual void OnExplodingAtTarget(DWORD dwSkillIndex);
|
||||
|
||||
protected:
|
||||
CPythonPlayerEventHandler * m_pParent;
|
||||
CInstanceBase * m_pInstMain;
|
||||
CInstanceBase * m_pInstTarget;
|
||||
} m_NormalBowAttack_FlyEventHandler_AutoClear;
|
||||
|
||||
public:
|
||||
IFlyEventHandler * GetNormalBowAttackFlyEventHandler(CInstanceBase* pInstMain, CInstanceBase* pInstTarget)
|
||||
{
|
||||
m_NormalBowAttack_FlyEventHandler_AutoClear.Set(this,pInstMain,pInstTarget);
|
||||
return &m_NormalBowAttack_FlyEventHandler_AutoClear;
|
||||
}
|
||||
|
||||
void ChangeFlyTarget(CInstanceBase* pInstTarget)
|
||||
{
|
||||
m_NormalBowAttack_FlyEventHandler_AutoClear.SetTarget(pInstTarget);
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user