init
This commit is contained in:
164
src/UserInterface/NetworkActorManager.h
Normal file
164
src/UserInterface/NetworkActorManager.h
Normal file
@@ -0,0 +1,164 @@
|
||||
#pragma once
|
||||
|
||||
#include "InstanceBase.h"
|
||||
|
||||
struct SNetworkActorData
|
||||
{
|
||||
std::string m_stName;
|
||||
|
||||
CAffectFlagContainer m_kAffectFlags;
|
||||
|
||||
BYTE m_bType;
|
||||
DWORD m_dwVID;
|
||||
DWORD m_dwStateFlags;
|
||||
DWORD m_dwEmpireID;
|
||||
DWORD m_dwRace;
|
||||
DWORD m_dwMovSpd;
|
||||
DWORD m_dwAtkSpd;
|
||||
FLOAT m_fRot;
|
||||
LONG m_lCurX;
|
||||
LONG m_lCurY;
|
||||
LONG m_lSrcX;
|
||||
LONG m_lSrcY;
|
||||
LONG m_lDstX;
|
||||
LONG m_lDstY;
|
||||
|
||||
|
||||
DWORD m_dwServerSrcTime;
|
||||
DWORD m_dwClientSrcTime;
|
||||
DWORD m_dwDuration;
|
||||
|
||||
DWORD m_dwArmor;
|
||||
DWORD m_dwWeapon;
|
||||
DWORD m_dwHair;
|
||||
|
||||
DWORD m_dwOwnerVID;
|
||||
|
||||
short m_sAlignment;
|
||||
BYTE m_byPKMode;
|
||||
DWORD m_dwMountVnum;
|
||||
|
||||
DWORD m_dwGuildID;
|
||||
DWORD m_dwLevel;
|
||||
|
||||
SNetworkActorData();
|
||||
|
||||
void SetDstPosition(DWORD dwServerTime, LONG lDstX, LONG lDstY, DWORD dwDuration);
|
||||
void SetPosition(LONG lPosX, LONG lPosY);
|
||||
void UpdatePosition();
|
||||
|
||||
// NETWORK_ACTOR_DATA_COPY
|
||||
SNetworkActorData(const SNetworkActorData& src);
|
||||
void operator=(const SNetworkActorData& src);
|
||||
void __copy__(const SNetworkActorData& src);
|
||||
// END_OF_NETWORK_ACTOR_DATA_COPY
|
||||
};
|
||||
|
||||
struct SNetworkMoveActorData
|
||||
{
|
||||
DWORD m_dwVID;
|
||||
DWORD m_dwTime;
|
||||
LONG m_lPosX;
|
||||
LONG m_lPosY;
|
||||
float m_fRot;
|
||||
DWORD m_dwFunc;
|
||||
DWORD m_dwArg;
|
||||
DWORD m_dwDuration;
|
||||
|
||||
SNetworkMoveActorData()
|
||||
{
|
||||
m_dwVID=0;
|
||||
m_dwTime=0;
|
||||
m_fRot=0.0f;
|
||||
m_lPosX=0;
|
||||
m_lPosY=0;
|
||||
m_dwFunc=0;
|
||||
m_dwArg=0;
|
||||
m_dwDuration=0;
|
||||
}
|
||||
};
|
||||
|
||||
struct SNetworkUpdateActorData
|
||||
{
|
||||
DWORD m_dwVID;
|
||||
DWORD m_dwGuildID;
|
||||
DWORD m_dwArmor;
|
||||
DWORD m_dwWeapon;
|
||||
DWORD m_dwHair;
|
||||
DWORD m_dwMovSpd;
|
||||
DWORD m_dwAtkSpd;
|
||||
short m_sAlignment;
|
||||
BYTE m_byPKMode;
|
||||
DWORD m_dwMountVnum;
|
||||
DWORD m_dwStateFlags; // º»·¡ Create ¶§¸¸ ¾²ÀÌ´Â º¯¼öÀÓ
|
||||
CAffectFlagContainer m_kAffectFlags;
|
||||
|
||||
SNetworkUpdateActorData()
|
||||
{
|
||||
m_dwGuildID=0;
|
||||
m_dwVID=0;
|
||||
m_dwArmor=0;
|
||||
m_dwWeapon=0;
|
||||
m_dwHair=0;
|
||||
m_dwMovSpd=0;
|
||||
m_dwAtkSpd=0;
|
||||
m_sAlignment=0;
|
||||
m_byPKMode=0;
|
||||
m_dwMountVnum=0;
|
||||
m_dwStateFlags=0;
|
||||
m_kAffectFlags.Clear();
|
||||
}
|
||||
};
|
||||
|
||||
class CPythonCharacterManager;
|
||||
|
||||
class CNetworkActorManager : public CReferenceObject
|
||||
{
|
||||
public:
|
||||
CNetworkActorManager();
|
||||
virtual ~CNetworkActorManager();
|
||||
|
||||
void Destroy();
|
||||
|
||||
void SetMainActorVID(DWORD dwVID);
|
||||
|
||||
void RemoveActor(DWORD dwVID);
|
||||
void AppendActor(const SNetworkActorData& c_rkNetActorData);
|
||||
void UpdateActor(const SNetworkUpdateActorData& c_rkNetUpdateActorData);
|
||||
void MoveActor(const SNetworkMoveActorData& c_rkNetMoveActorData);
|
||||
|
||||
void SyncActor(DWORD dwVID, LONG lPosX, LONG lPosY);
|
||||
void SetActorOwner(DWORD dwOwnerVID, DWORD dwVictimVID);
|
||||
|
||||
void Update();
|
||||
|
||||
protected:
|
||||
void __OLD_Update();
|
||||
|
||||
void __UpdateMainActor();
|
||||
|
||||
bool __IsVisiblePos(LONG lPosX, LONG lPosY);
|
||||
bool __IsVisibleActor(const SNetworkActorData& c_rkNetActorData);
|
||||
bool __IsMainActorVID(DWORD dwVID);
|
||||
|
||||
void __RemoveAllGroundItems();
|
||||
void __RemoveAllActors();
|
||||
void __RemoveDynamicActors();
|
||||
void __RemoveCharacterManagerActor(SNetworkActorData& rkNetActorData);
|
||||
|
||||
SNetworkActorData* __FindActorData(DWORD dwVID);
|
||||
|
||||
CInstanceBase* __AppendCharacterManagerActor(SNetworkActorData& rkNetActorData);
|
||||
CInstanceBase* __FindActor(SNetworkActorData& rkNetActorData);
|
||||
CInstanceBase* __FindActor(SNetworkActorData& rkNetActorData, LONG lDstX, LONG lDstY);
|
||||
|
||||
CPythonCharacterManager& __GetCharacterManager();
|
||||
|
||||
protected:
|
||||
DWORD m_dwMainVID;
|
||||
|
||||
LONG m_lMainPosX;
|
||||
LONG m_lMainPosY;
|
||||
|
||||
std::map<DWORD, SNetworkActorData> m_kNetActorDict;
|
||||
};
|
||||
Reference in New Issue
Block a user