⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guildmanager.h

📁 墨香最新私服
💻 H
字号:
// GuildManager.h: interface for the CGuildManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GUILDMANAGER_H__FE162F77_2547_40A8_8C25_54C49BC0ED05__INCLUDED_)
#define AFX_GUILDMANAGER_H__FE162F77_2547_40A8_8C25_54C49BC0ED05__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define GUILDMGR CGuildManager::GetInstance()
#define OnErr(pPlayer, Protocol, errstate) \
if(errstate) { SendNackMsg(pPlayer, Protocol, errstate); return;}

class CGuild;
class CGuildMark;
class CItemSlot;

class CGuildManager  
{
	CYHHashTable<CGuild> m_GuildRoomHashTable;
	CYHHashTable<CGuildMark> m_GuildMarkTable;
	CYHHashTable<ITEM_OPTION_INFO> m_ItemOptionList;

	MONEYTYPE m_LevelUpInfo[MAX_GUILD_STEP];
	CGuildManager();
	BOOL IsVaildGuildName(char* GuildName);

	BYTE DoBreakUp(DWORD GuildIdx);
	void RegistMarkSyn(DWORD GuildIdx, char* ImgData, DWORD PlayerIdx);
	void RequestMark(CPlayer* pPlayer, MARKNAMETYPE MarkName);
	int convertCharToInt(char c);
	BYTE HexToByte(char* pStr);
	void LoadLevelUpInfo();
	MONEYTYPE GetLevelUpMoney(BYTE GuildLevel);
	BOOL CanEntryGuild(char* date);
public:
	GETINSTANCE(CGuildManager);	
	virtual ~CGuildManager();

	void NetworkMsgParse( BYTE Protocol, void* pMsg );
	
	CGuild* RegistGuild(GUILDINFO* pGuildInfo, MONEYTYPE GuildMoney);
	void RegistGuildItem(DWORD GuildIdx, ITEMBASE* Guilditem);
	void LoadMembers(GUILDMEMBERINFO_ID* pInfo);
	void LoadMark(MARKNAMETYPE MarkName, char* pImgData);
	
	void UserLogIn(CPlayer* pPlayer);

	void CreateGuildSyn(CPlayer* pPlayer, char* GuildName, char* Intro);
	void CreateGuildResult(LEVELTYPE MasterLvl, GUILDINFO* pGuildInfo);
	
	void BreakUpGuildSyn(CPlayer* pMaster);
	void BreakUpGuildResult(CPlayer* pMaster, DWORD GuildIdx, char* EntryDate);

	void DeleteMemberSyn(CPlayer* pMaster, DWORD MemberIDX);
	BYTE DoDeleteMember(DWORD GuildIDX, DWORD MemberIDX, BYTE bType, char* EntryDay);
	void DeleteMemberResult(DWORD GuildIDX, DWORD MemberIDX, char* EntryDay);
	
	void AddMemberSyn(CPlayer* pMaster, DWORD TargetIdx);
	void AddMemberResult(CPlayer* pTarget, DWORD MasterIdx);
	
	CGuild* GetGuild(DWORD GuildIdx);
	CGuildMark* GetMark(MARKNAMETYPE MarkName);

	void SendNackMsg(CPlayer* pPlayer, BYTE Protocol, BYTE errstate);
	
	void SecedeSyn(CPlayer* pPlayer);
	void SecedeResult(DWORD GuildIdx, DWORD MemberIDX, char* EntryDay);
	
	void SendChatMsg(DWORD GuildIdx, DWORD PlayerIdx, char* pMsg);
	
	void RegistMarkResult(CPlayer* pPlayer, DWORD GuildIdx, MARKNAMETYPE MarkName, char * pImgData);
	void DoRegistMark(CGuild* pGuild, MARKNAMETYPE MarkName, char* imgData);

	void DeleteMark(MARKNAMETYPE MarkName);
	void MarkChange(CPlayer* pPlayer, DWORD GuildIdx, MARKNAMETYPE MarkName);

	void LevelUpSyn(CPlayer* pPlayer);
	
	void SendGuildEntryDate(CPlayer* pPlayer, char* day);
	
	void ChangeMemberRank(CPlayer* pMaster, DWORD MemberIdx, BYTE Rank);

	void GiveNickNameSyn(CPlayer* pMaster, DWORD TargetId, char* NickName);
	
	CItemSlot* GetSlot(DWORD GuildIdx);
	void GuildWarehouseInfo(CPlayer* pPlayer, BYTE TabNum);
	void LeaveWareHouse(CPlayer* pPlayer, BYTE TabNum);
	
	void AddGuildItemOption(ITEM_OPTION_INFO * pInfo);
	void RemoveGuildItemOption(DWORD dwOptionIdx);
	ITEM_OPTION_INFO * GetItemOption(DWORD dwOptionIdx);
	
	void PutInMoneyGuild(CPlayer* pPlayer, DWORD Money);
	void PutOutMoneyGuild(CPlayer* pPlayer, DWORD Money);
};

#endif // !defined(AFX_GUILDMANAGER_H__FE162F77_2547_40A8_8C25_54C49BC0ED05__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -