Advertisement
Guest User

Untitled

a guest
Jan 19th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include "InstanceBase.h"
  4.  
  5. struct SNetworkActorData
  6. {
  7. std::string m_stName;
  8.  
  9. CAffectFlagContainer m_kAffectFlags;
  10.  
  11. BYTE m_bType;
  12. DWORD m_dwVID;
  13. DWORD m_dwStateFlags;
  14. DWORD m_dwEmpireID;
  15. DWORD m_dwRace;
  16. DWORD m_dwMovSpd;
  17. DWORD m_dwAtkSpd;
  18. FLOAT m_fRot;
  19. LONG m_lCurX;
  20. LONG m_lCurY;
  21. LONG m_lSrcX;
  22. LONG m_lSrcY;
  23. LONG m_lDstX;
  24. LONG m_lDstY;
  25.  
  26.  
  27. DWORD m_dwServerSrcTime;
  28. DWORD m_dwClientSrcTime;
  29. DWORD m_dwDuration;
  30.  
  31. DWORD m_dwArmor;
  32. DWORD m_dwWeapon;
  33. DWORD m_dwHair;
  34.  
  35. DWORD m_dwOwnerVID;
  36.  
  37. short m_sAlignment;
  38. #ifdef ENABLE_TITLE_SYSTEM
  39. short m_sPrestige;
  40. #endif
  41. BYTE m_byPKMode;
  42. DWORD m_dwMountVnum;
  43.  
  44. DWORD m_dwGuildID;
  45. DWORD m_dwLevel;
  46.  
  47. SNetworkActorData();
  48.  
  49. void SetDstPosition(DWORD dwServerTime, LONG lDstX, LONG lDstY, DWORD dwDuration);
  50. void SetPosition(LONG lPosX, LONG lPosY);
  51. void UpdatePosition();
  52.  
  53. // NETWORK_ACTOR_DATA_COPY
  54. SNetworkActorData(const SNetworkActorData& src);
  55. void operator=(const SNetworkActorData& src);
  56. void __copy__(const SNetworkActorData& src);
  57. // END_OF_NETWORK_ACTOR_DATA_COPY
  58. };
  59.  
  60. struct SNetworkMoveActorData
  61. {
  62. DWORD m_dwVID;
  63. DWORD m_dwTime;
  64. LONG m_lPosX;
  65. LONG m_lPosY;
  66. float m_fRot;
  67. DWORD m_dwFunc;
  68. DWORD m_dwArg;
  69. DWORD m_dwDuration;
  70.  
  71. SNetworkMoveActorData()
  72. {
  73. m_dwVID=0;
  74. m_dwTime=0;
  75. m_fRot=0.0f;
  76. m_lPosX=0;
  77. m_lPosY=0;
  78. m_dwFunc=0;
  79. m_dwArg=0;
  80. m_dwDuration=0;
  81. }
  82. };
  83.  
  84. struct SNetworkUpdateActorData
  85. {
  86. DWORD m_dwVID;
  87. DWORD m_dwGuildID;
  88. DWORD m_dwArmor;
  89. DWORD m_dwWeapon;
  90. DWORD m_dwHair;
  91. DWORD m_dwMovSpd;
  92. DWORD m_dwAtkSpd;
  93. short m_sAlignment;
  94. #ifdef ENABLE_TITLE_SYSTEM
  95. short m_sPrestige;
  96. #endif
  97. BYTE m_byPKMode;
  98. DWORD m_dwMountVnum;
  99. DWORD m_dwStateFlags; // ş»·ˇ Create ¶§¸¸ ľ˛ŔĚ´Â şŻĽöŔÓ
  100. CAffectFlagContainer m_kAffectFlags;
  101.  
  102. SNetworkUpdateActorData()
  103. {
  104. m_dwGuildID=0;
  105. m_dwVID=0;
  106. m_dwArmor=0;
  107. m_dwWeapon=0;
  108. m_dwHair=0;
  109. m_dwMovSpd=0;
  110. m_dwAtkSpd=0;
  111. m_sAlignment=0;
  112. #ifdef ENABLE_TITLE_SYSTEM
  113. m_sPrestige=0;
  114. #endif
  115. m_byPKMode=0;
  116. m_dwMountVnum=0;
  117. m_dwStateFlags=0;
  118. m_kAffectFlags.Clear();
  119. }
  120. };
  121.  
  122. class CPythonCharacterManager;
  123.  
  124. class CNetworkActorManager : public CReferenceObject
  125. {
  126. public:
  127. CNetworkActorManager();
  128. virtual ~CNetworkActorManager();
  129.  
  130. void Destroy();
  131.  
  132. void SetMainActorVID(DWORD dwVID);
  133.  
  134. void RemoveActor(DWORD dwVID);
  135. void AppendActor(const SNetworkActorData& c_rkNetActorData);
  136. void UpdateActor(const SNetworkUpdateActorData& c_rkNetUpdateActorData);
  137. void MoveActor(const SNetworkMoveActorData& c_rkNetMoveActorData);
  138.  
  139. void SyncActor(DWORD dwVID, LONG lPosX, LONG lPosY);
  140. void SetActorOwner(DWORD dwOwnerVID, DWORD dwVictimVID);
  141.  
  142. void Update();
  143.  
  144. protected:
  145. void __OLD_Update();
  146.  
  147. void __UpdateMainActor();
  148.  
  149. bool __IsVisiblePos(LONG lPosX, LONG lPosY);
  150. bool __IsVisibleActor(const SNetworkActorData& c_rkNetActorData);
  151. bool __IsMainActorVID(DWORD dwVID);
  152.  
  153. void __RemoveAllGroundItems();
  154. void __RemoveAllActors();
  155. void __RemoveDynamicActors();
  156. void __RemoveCharacterManagerActor(SNetworkActorData& rkNetActorData);
  157.  
  158. SNetworkActorData* __FindActorData(DWORD dwVID);
  159.  
  160. CInstanceBase* __AppendCharacterManagerActor(SNetworkActorData& rkNetActorData);
  161. CInstanceBase* __FindActor(SNetworkActorData& rkNetActorData);
  162. CInstanceBase* __FindActor(SNetworkActorData& rkNetActorData, LONG lDstX, LONG lDstY);
  163.  
  164. CPythonCharacterManager& __GetCharacterManager();
  165.  
  166. protected:
  167. DWORD m_dwMainVID;
  168.  
  169. LONG m_lMainPosX;
  170. LONG m_lMainPosY;
  171.  
  172. std::map<DWORD, SNetworkActorData> m_kNetActorDict;
  173. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement