#ifndef __USER_INTERFACE_MANAGER_GUILD_H__ #define __USER_INTERFACE_MANAGER_GUILD_H__ //------------------------------------------------------------------------------ /** @class uiGuildMan interface manager for a party (C) 2005 ckbang */ #ifdef _NA_003923_20120217_GUILD_RENEWAL_UI_GUILD_MANAGER #else #include "uiGuildMan_def.h" #include "hero.h" #include "uiBaseMan.h" #include "uiChangeGuildName/uiChangeGuildName.h" typedef WORD QCODE; typedef GUILD_INFO stGUILD_INFO; typedef GUILD_MEMBER_INFO stGUILD_MEMBER_INFO; typedef std::vector VEC_GUILD_MEMBER; typedef VEC_GUILD_MEMBER::iterator VEC_GUILD_MEMBER_ITR; enum eMEMBER_SORT_TYPE { eSORT_NAME, eSORT_LV, eSORT_CLASS, eSORT_DUTY, eSORT_CONNETION, eSORT_MAX, }; class uiGuildMain; class uiGuildCreate; class uiGuildMenu; class uiGuildWindow; class uiGuildConvertGP; class uiGuildDonateUP; class uiGuildRightDelegation; class uiGuildDutyVest; class uiGuildMemberRightView; class uiGuildCorpsChange; class uiGuildCorpsChange; class uiGuildMarkCombination; class uiGuildMarkRegisteConfirm; class uiGuildNotice; class uiGuildRankup; class uiGuildAlliance; class uiGuildHostility; class uiGuildOneSideHostility; class uiGuildRelationAsk; class uiGuildAllianceRequest; class uiGuildWareHouse; class uiGuildWareHouseLog; class uiChangeGuildName; class uiGuildMan : public uiBaseMan { public: uiGuildMan(InterfaceManager *pUIMan); virtual ~uiGuildMan(); //-------------------------------------------------------------------------- // init/release // public: virtual void OnRelease(); virtual void OnReset(); virtual void OnInitialize(); virtual void InitPKBooleans(); void Clear(); void ClearNotice(); private: BOOL _LoadUI(); //-------------------------------------------------------------------------- // functions // public: bool CheckCreatCondition(); void SEND_CG_GUILD_DESTROY_SYN(); void SEND_CG_GUILD_INVITE_SYN( LPCTSTR szName ); void SEND_CG_GUILD_TOTALINFO_REQ_SYN(uiBase* base = NULL); void ShowGuildWindow(); void SEND_CG_GUILD_WAREHOUSE_OPEN_SYN(); void SEND_CG_GUILD_WAREHOUSE_CLOSE_SYN(); BOOL IsGuildWareHouseWindow(); BOOL IsGuildRankUpWindow(); void ShowGuildRankUpWindow(BOOL bVal); void SEND_CG_GUILD_WITHDRAW_SYN(); BOOL IsGuildMemberInfo(); void SEND_CG_GUILD_RANKUP_SYN(); void SEND_CG_GUILD_CONVERT_UP2GP_SYN(); void SEND_CG_GUILD_DONATE_UP_SYN(); bool IsGuildInfo(); const stGUILD_INFO& GetGuildInfo(); void SetGuildInfo(const stGUILD_INFO& guildInfo); void SetSilentGuildInfo(); void SetShowGuildMain(); const VEC_GUILD_MEMBER& GetGuildMembers(); bool _isEnableInvite(); bool _isEnableKick(); bool _isEnableNotice(); bool Invite(const TCHAR* pname); bool Kick(const TCHAR* pname); bool Withdraw(); //Å»Åð bool Notice(TCHAR* pmsg); bool IsShowWindow(); void CloseWin(); TCHAR* GetGuildName(); void SetGuildName(std::string & pszGuildName); void SetGuildName(char* ptszGuildName); TCHAR* GetGuildMasterName(); void SetGuildMasterName(char* ptszName); void SetGuildMasterName(std::string & pszName); BOOL IsGuildMember(TCHAR* ptszGuildName); //jjumbo Äɸ¯ÅÍ¸í ³Ö¾î¼­ °Ë»çÇÏ´ø°Í ±æµå¸í ³Ö¾î¼­ °Ë»çÇϵµ·Ï ¼öÁ¤ TCHAR* GetKickUser(); TCHAR* GetGuildNotice(); // Ä£±¸ °ü·Ã â Áß¿¡¼­ ¿­·Á Àִ â¿¡ Æ÷Ä¿½º¸¦ ÁØ´Ù void SetWindowFocus(); void SortMember(eMEMBER_SORT_TYPE byType); const GUILD_CORPS_TOTAL_INFO & GetCorpsTotalInfo(); void SEND_CG_GUILD_DESTROY_REAR_CAMP_SYN(); void Send_CW_FRIEND_STATUS_REQ(char* character_name, CHARGUID char_guid); void ShowGuildDestoryWindow(); int GetCorpMemberNum(int iCorps); void CloseAllOpenedGuildWindow(); void SetRelationNoneByGuildMember(); stGUILD_MEMBER_INFO* GetGuildMemberInfo(const TCHAR * pszName); stGUILD_MEMBER_INFO* const GetGuildMemberInfo(int index); inline HANDLE GetGuildMarkTexture(){ return m_hGuildMarkTexture;} void SEND_CG_GUILD_GUILDMARK_DELETE_SYN(); void SetGuildMarkBackGround(int iBackGround); void SetGuildMarkPattern(int iPattern); static void ProcessErrorCode(BYTE byErrorCode); private: void _addGuildMember(GUILD_MEMBER_INFO member); //-------------------------------------------------------------------------- // procedure // public: virtual void NetworkProc( MSG_BASE * pMsg ); virtual void NetworkProcWorld(MSG_BASE * pMsg ); public: BOOL GetbForSort(){return m_bForSort;} void SetbForSort(BOOL bVal){m_bForSort = bVal;} void SortAllianceCon(BOOL bOrder); void SortHostilityCon(BOOL bOrder, BOOL bState); //1:¼ÒÆÃ ¼ø¼­, 2:¼ÒÆÃ¿¡ »ç¿ëµÉ ¸â¹ö°ª(true == GuildName, false == State) void SortOneSideHostilityCon(BOOL bOrder); void DelRelationCon(); std::list& GetAllianceCon(){ return m_listGuildRelation_Alliance; } std::list& GetHostilityCon(){ return m_listGuildRelation_Hostility; } std::list& GetOneSideHostilityCon(){ return m_listGuildRelation_OneSideHostility; } uiBase* active_tab() const { return active_tab_; } void set_active_tab(uiBase* const val) { active_tab_ = val; } void ChangeTab(uiBase* ui_base); void ShowTab(); public: //±æµå ÇØ»ê ´ë±âÁßÀÎÁö È®ÀÎ ÇÒ¶§ »ç¿ë. eGUILD_DELCHK GetGuildDelChk(){return m_GuildInfo.m_GuildDestroyWaitFlag;} //-------------------------------------------------------------------------- // member vars // private: uiGuildMain* m_pUIGuildMain; uiGuildCreate* m_pUIGuildCreate; uiGuildMenu* m_pUIGuildMenu; uiGuildWindow* m_pUIGuildWindow; uiGuildConvertGP* m_pUIGuildConvertGP; uiGuildDonateUP* m_pUIGuildDonateUP; uiGuildRightDelegation* m_pUIGuildRightDelegation; uiGuildDutyVest* m_pUIGuildDutyVest; uiGuildMemberRightView* m_pUIGuildMemberRightView; uiGuildCorpsChange* m_pUiGuildCorpsChange; uiGuildCorpsChange* m_pUIGuildCorpsDestory; uiGuildMarkCombination* m_pUIGuildMarkCombination; uiGuildMarkRegisteConfirm* m_pUIGuildMakrRegisteConfirm; uiGuildNotice* m_pUIGuildNotice; uiGuildRankup* m_pUIGuildRankup; uiGuildAlliance* m_pUIGuildAlliance; uiGuildHostility* m_pUIGuildHostility; uiGuildOneSideHostility* m_pUIGuildOneSideHostility; uiGuildRelationAsk* m_pUIGuildRelationAsk; uiGuildAllianceRequest* m_pUIGuildAllianceRequest; uiGuildWareHouse* m_pUIGuildWareHouse; uiGuildWareHouseLog* m_pUIGuildWareHouseLog; uiChangeGuildName* m_pUIChangeGuildName; stGUILD_INFO m_GuildInfo; VEC_GUILD_MEMBER m_vMembers; bool m_bGuildInfo; bool m_bSilentGuildInfo; bool m_bShowGuildMain; bool m_bGuildMemberInfo; CTimerSimple m_timerGuildMemberInfoGet; util::_tstring m_strGuildName; util::_tstring m_strGuildMasterName; TCHAR m_tszKickMember[MAX_CHARNAME_LENGTH+1]; TCHAR m_tszNotice[MAX_GUILDNOTICE_LENGTH+1]; GUILD_CORPS_TOTAL_INFO m_GuildCorpsTotalInfo; HANDLE m_hGuildMarkTexture; BOOL m_bForSort; //¼ÒÆÃ°ü·Ã ¹öư ´©¸¦¶§¸¶´Ù On/Off std::list m_listGuildRelation_Alliance; std::list m_listGuildRelation_Hostility; std::list m_listGuildRelation_OneSideHostility; uiBase* active_tab_; uiBase* request_uibase_guild_totalinfo_; }; //------------------------------------------------------------------------------ /** */ inline TCHAR* uiGuildMan::GetKickUser() { return m_tszKickMember; } //------------------------------------------------------------------------------ /** */ inline TCHAR* uiGuildMan::GetGuildNotice() { return m_tszNotice; } //------------------------------------------------------------------------------ /** */ inline void uiGuildMan::ClearNotice() { ZeroMemory(m_tszNotice, sizeof(m_tszNotice)); } //------------------------------------------------------------------------------ /** */ inline TCHAR* uiGuildMan::GetGuildMasterName() { return const_cast(m_strGuildMasterName.c_str()); } //------------------------------------------------------------------------------ /** */ inline void uiGuildMan::SetGuildMasterName(std::string & pszName) { m_strGuildMasterName = pszName; } //------------------------------------------------------------------------------ /** */ inline void uiGuildMan::SetGuildMasterName(char* ptszName) { m_strGuildMasterName = ptszName; } //------------------------------------------------------------------------------ /** */ inline TCHAR* uiGuildMan::GetGuildName() { return const_cast(m_strGuildName.c_str()); } //------------------------------------------------------------------------------ inline void uiGuildMan::SetGuildName(std::string & pszGuildName) { m_strGuildName = pszGuildName; } //------------------------------------------------------------------------------ inline void uiGuildMan::SetGuildName(char* ptszGuildName) { TCHAR szTemp[256] = {0,}; StrnCopy(szTemp, ptszGuildName, MAX_GUILDNAME_LENGTH); szTemp[MAX_GUILDNAME_LENGTH] = 0; m_strGuildName = util::_tstring(szTemp); } //------------------------------------------------------------------------------ /** */ inline const stGUILD_INFO& uiGuildMan::GetGuildInfo() { return this->m_GuildInfo; } //------------------------------------------------------------------------------ /** */ inline void uiGuildMan::SetGuildInfo(const stGUILD_INFO& guildInfo) { memcpy ((stGUILD_INFO*)&m_GuildInfo, (stGUILD_INFO*)&guildInfo, sizeof(stGUILD_INFO)); this->m_bGuildInfo = true; SetGuildName((char*)guildInfo.m_tszGuildName); if (g_pHero) { g_pHero->SetGuildName((char*) guildInfo.m_tszGuildName, MAX_GUILDNAME_LENGTH); g_pHero->GetGuildRenderInfo().m_BackGroundIndex = guildInfo.m_BackGroundIdx; g_pHero->GetGuildRenderInfo().m_PatternIndex = guildInfo.m_PatternIdx; g_pHero->GetGuildRenderInfo().m_GuildGuid = guildInfo.m_GuildGuid; g_pHero->GetGuildRenderInfo().m_GuildGrade = guildInfo.m_GuildGrade; } } //------------------------------------------------------------------------------ /** */ inline const GUILD_CORPS_TOTAL_INFO & uiGuildMan::GetCorpsTotalInfo() { return this->m_GuildCorpsTotalInfo; } //------------------------------------------------------------------------------ /** */ inline bool uiGuildMan::IsGuildInfo() { return this->m_bGuildInfo; } //------------------------------------------------------------------------------ /** */ inline BOOL uiGuildMan::IsGuildMemberInfo() { return this->m_bGuildMemberInfo; } //------------------------------------------------------------------------------ /** */ inline const VEC_GUILD_MEMBER& uiGuildMan::GetGuildMembers() { return this->m_vMembers; } //------------------------------------------------------------------------------ /** */ inline void uiGuildMan::SetSilentGuildInfo() { this->m_bSilentGuildInfo = true; } //------------------------------------------------------------------------------ /** */ inline void uiGuildMan::SetShowGuildMain() { this->m_bShowGuildMain = true; } //------------------------------------------------------------------------------ /** */ BOOL inline uiGuildMan::IsGuildMember(TCHAR* ptszGuildName) { if( ! IsGuildInfo() ) return FALSE; if (!StrnCmp (GetGuildInfo().m_tszGuildName, ptszGuildName, MAX_CHARNAME_LENGTH)) { return TRUE; } else { return FALSE; } } #endif //_NA_003923_20120217_GUILD_RENEWAL_UI_GUILD_MANAGER //------------------------------------------------------------------------------ #endif // __USER_INTERFACE_MANAGER_GUILD_H__