public void GuildDetailInfoAck(CGuildDetail kGuildDetailInfo) { m_GuildDetailInfo = kGuildDetailInfo; SetMyGuildInfo(m_GuildDetailInfo); SetMyGuildMember(m_GuildDetailInfo.kGuildKey, m_GuildDetailInfo.vMembers); }
private void SetMyGuildInfo(CGuildDetail guildDetail) { m_GuildDeleteButton.SetActive(false); m_GuildOrderCaptainButton.SetActive(false); // 길드장 위임버튼. m_GuildOrderSubCaptainButton.SetActive(false); // 부길드장 임명버튼. m_GuildEmblemSprite.sprite2D = UIResourceMgr.CreateSprite(BUNDLELIST.TEXTURE_ICON_GUILDEMBLEM, string.Format("GuildEmblem{0}", guildDetail.kGuildMark.ToString("D2"))); m_GuildNameLabel.text = guildDetail.kGuildName; DATA_GUILD_MAIN GuildMainData = CDATA_GUILD_MAIN.Get(guildDetail.kGuildLevel); if (GuildMainData != null) { // string num : 12 -> LV m_GuildLevelLabel.text = string.Format("{0} {1}", StringTableManager.GetData(12), GuildMainData.iGuildLv); } CGuildMember captainInfo = null; int iCount = guildDetail.vMembers.Count; for (int i = 0; i < iCount; ++i) { CGuildMember memberInfo = guildDetail.vMembers[i]; if (memberInfo == null) { continue; } if (memberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_Captain) { captainInfo = memberInfo; } if (memberInfo.kCharNo == UserInfo.Instance.CharNo) { m_MyMemberInfo = memberInfo; UserInfo.Instance.GuildKey = guildDetail.kGuildKey; UserInfo.Instance.GuildName = guildDetail.kGuildName; UserInfo.Instance.CharGuildState = m_MyMemberInfo.kMemberState; } } if (captainInfo != null) { m_GuildCaptainLabel.text = captainInfo.kCharName; } SetJoinMethodButton(guildDetail.kJoinMethod); SetNoticeOrDescButton(enNoticeAndDesc.Notice); // 공지사항이 디폴트. if (m_MyMemberInfo != null) { if (m_MyMemberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_Captain) { m_GuildDeleteButton.SetActive(true); m_GuildOrderCaptainButton.SetActive(true); m_GuildOrderSubCaptainButton.SetActive(true); } } }
//=================================================================================== // // Method // //=================================================================================== public void SetDelegationMember(enGuildInfo_WindowType type, CGuildDetail kGuildDetailInfo) { Clear(); m_GuildDetailInfo = kGuildDetailInfo; _vGuildMembers vGuildMembers = m_GuildDetailInfo.vMembers; if (type == enGuildInfo_WindowType.GuildCaptain_Delegation) // 길드장 위임이면. { m_TitleLabel.text = StringTableManager.GetData(6294); for (int i = 0; i < vGuildMembers.Count; ++i) { CGuildMember member = vGuildMembers[i]; if (member == null) { continue; } if (member.kMemberState == _enGuildMemberState.eGuildMemberState_AbleSubCaptain || member.kMemberState == _enGuildMemberState.eGuildMemberState_AbleMember) { GuildInformationItem memberItem = UIResourceMgr.CreatePrefab <GuildInformationItem>(BUNDLELIST.PREFABS_UI_GUILD, m_GuildMemberGrid.transform, "GuildInformationItem"); memberItem.Init(type, m_GuildDetailInfo.kGuildKey, member); m_DelegationMemberList.Add(memberItem); } } } else if (type == enGuildInfo_WindowType.GuildSubCaptain_Appointment) // 부길드장 임명이면. { m_TitleLabel.text = StringTableManager.GetData(6298); for (int i = 0; i < vGuildMembers.Count; ++i) { CGuildMember member = vGuildMembers[i]; if (member == null) { continue; } if (member.kMemberState == _enGuildMemberState.eGuildMemberState_AbleMember) { GuildInformationItem memberItem = UIResourceMgr.CreatePrefab <GuildInformationItem>(BUNDLELIST.PREFABS_UI_GUILD, m_GuildMemberGrid.transform, "GuildInformationItem"); memberItem.Init(type, m_GuildDetailInfo.kGuildKey, member); m_DelegationMemberList.Add(memberItem); } } } if (m_DelegationMemberList.Count < 1) // 조건에 해당하는 길드원이 없으면. { _DelegationMemberEmptyLabel.gameObject.SetActive(true); } else { _DelegationMemberEmptyLabel.gameObject.SetActive(false); } m_GuildMemberGrid.Reposition(); m_GuildMemberScrollView.ResetPosition(); }
/// <summary> /// 가입하지 않은 길드 정보 패킷 받음. /// </summary> /// <param name="stAck"></param> public void SetGuildInfomation(_stGuildDetailInfoAck stAck) { Clear(); m_GuildDetailInfo = stAck.kGuildDetailInfo; // 6254 길드원 ({0} / {1}) m_GuildMemberCountLabel.text = string.Format(StringTableManager.GetData(6254), m_GuildDetailInfo.kCurrMemberCount, m_GuildDetailInfo.kMaxMemberCount); SetOtherGuildInfo(m_GuildDetailInfo); SetOtherGuildMember(m_GuildDetailInfo.kGuildKey, m_GuildDetailInfo.vMembers); }
//=================================================================================== // // Method // //=================================================================================== public void Init(MyGuildMain parent, CGuildDetail kGuildDetailInfo) { m_iGuildWaitingCount = (int)CDATA_FIXED_CONSTANTS.Get(DATA_FIXED_CONSTANTS._enConstant.Guild_Waiting_Count).Value; m_iGuildMarkChangeCountDia = (int)CDATA_FIXED_CONSTANTS.Get(DATA_FIXED_CONSTANTS._enConstant.Guild_MarkChange_Count_Dia).Value; m_iGuildNotifyCount = (int)CDATA_FIXED_CONSTANTS.Get(DATA_FIXED_CONSTANTS._enConstant.Guild_Notify_Count).Value; // 길드 공지글 글자 수. m_iGuildIntroStringCount = (int)CDATA_FIXED_CONSTANTS.Get(DATA_FIXED_CONSTANTS._enConstant.Guild_IntroString_Count).Value; // 길드 소개글 글자 수. m_ParentWindow = parent; if (m_GuildOrderCaptainButton != null) { UIEventListener.Get(m_GuildOrderCaptainButton).onClick = m_ParentWindow.OnGuildDelegation; } if (m_GuildOrderSubCaptainButton != null) { UIEventListener.Get(m_GuildOrderSubCaptainButton).onClick = m_ParentWindow.OnGuildOrderSubCaptain; } m_GuildDetailInfo = kGuildDetailInfo; _originGuildJoinMethod = m_GuildDetailInfo.kJoinMethod; m_WindowTitleLabel.text = StringTableManager.GetData(6276); m_EmblemChangeLabel.text = StringTableManager.GetData(6595); // 6595 길드 마크 변경. m_NoticeButton.SetLabel(StringTableManager.GetData(6255)); m_DescButton.SetLabel(StringTableManager.GetData(6249)); m_GuildOrderCaptainButtonLabel.text = StringTableManager.GetData(6294); m_GuildOrderSubCaptainButtonLabel.text = StringTableManager.GetData(6298); m_GuildDeleteButtonLabel.text = StringTableManager.GetData(6304); m_FreeJoinButton.SetLabel(StringTableManager.GetData(6233)); m_ApprovalJoinButton.SetLabel(StringTableManager.GetData(6239)); byte kCurrMemberCount = m_GuildDetailInfo.kCurrMemberCount; byte kMaxMemberCount = m_GuildDetailInfo.kMaxMemberCount; // 6254 길드원 ({0} / {1}) //m_GuildMemberCountLabel.text = string.Format(StringTableManager.GetData(6254), kCurrMemberCount, kMaxMemberCount); SetMyGuildInfo(m_GuildDetailInfo); SetMyGuildMember(m_GuildDetailInfo.kGuildKey, m_GuildDetailInfo.vMembers); // 길드 공지사항이나 소개글을 쓸수 있는 인풋을 막는다. m_NoticeOrDescInput.gameObject.SetActive(m_bNoticeAndDescModifiy); if (m_GuildMemberButton != null) { string szLabeltext = string.Format(StringTableManager.GetData(6254), kCurrMemberCount, kMaxMemberCount); m_GuildMemberButton.SetLabel(szLabeltext); m_GuildMemberButton.state = ButtonState.On; } }
//=================================================================================== // // Method // //=================================================================================== public void GuildDetailInfoAck(CGuildDetail kGuildDetailInfo) { m_GuildDetailInfo = kGuildDetailInfo; byte kCurrMemberCount = m_GuildDetailInfo.kCurrMemberCount; byte kMaxMemberCount = m_GuildDetailInfo.kMaxMemberCount; string szLabeltext = string.Format(StringTableManager.GetData(6254), kCurrMemberCount, kMaxMemberCount); m_GuildMemberButton.SetLabel(szLabeltext); _MyGuild.GuildDetailInfoAck(m_GuildDetailInfo); }
/// <summary> /// 길드 가입요청 수락& 거절 패킷 받음. /// </summary> public void GuildJoinRequestAnswer(_stGuildJoinRequestAnswerAck stAck, CGuildMember member, CGuildDetail GuildDetailInfo) { bool isJoinRequest = false; for (int i = 0; i < m_MemberList.Count;) { GuildInformationItem infoItem = m_MemberList[i]; if (infoItem.MemberInfo.kCharNo == stAck.kDestCharNo) { DestroyImmediate(infoItem.gameObject); m_MemberList.Remove(infoItem); } else { ++i; if (infoItem.MemberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_Request) { isJoinRequest = true; } } } m_GuildMemberButton.SetEvent(isJoinRequest); if (isJoinRequest == false) { UserInfo.Instance.otherNew.GuildAlram = _enGuildAlram.eGuildNewMark_None; } if (stAck.kAnswer == _enGuildJoinRequestAnswer.eGuildJoinRequestAnswer_YES) { // 수락이면 길드원으로 다시 생성. GuildInformationItem memberItem = UIResourceMgr.CreatePrefab <GuildInformationItem>(BUNDLELIST.PREFABS_UI_GUILD, m_GuildMemberGrid.transform, "GuildInformationItem"); memberItem.Init(enGuildInfo_WindowType.GuildModify, stAck.kGuildKey, member); m_MemberList.Add(memberItem); } else if (stAck.kAnswer == _enGuildJoinRequestAnswer.eGuildJoinRequestAnswer_NO) { // 거절이면 삭제된 데이터 대입. m_GuildDetailInfo = GuildDetailInfo; } string szLabeltext = string.Format(StringTableManager.GetData(6254), GuildDetailInfo.kCurrMemberCount, GuildDetailInfo.kMaxMemberCount); m_GuildMemberButton.SetLabel(szLabeltext); SortMemberList(); }
private void SetOtherGuildInfo(CGuildDetail kGuildDetailInfo) { m_GuildMarkSprite.sprite2D = UIResourceMgr.CreateSprite(BUNDLELIST.TEXTURE_ICON_GUILDEMBLEM, string.Format("GuildEmblem{0}", m_GuildDetailInfo.kGuildMark.ToString("D2"))); m_GuildNameLabel.text = m_GuildDetailInfo.kGuildName; DATA_GUILD_MAIN GuildMainData = CDATA_GUILD_MAIN.Get(m_GuildDetailInfo.kGuildLevel); if (GuildMainData != null) { // string num : 12 -> LV m_GuildLevelLabel.text = string.Format("{0} {1}", StringTableManager.GetData(12), GuildMainData.iGuildLv); } CGuildMember captainInfo = null; int iCount = m_GuildDetailInfo.vMembers.Count; for (int i = 0; i < iCount; ++i) { CGuildMember memberInfo = m_GuildDetailInfo.vMembers[i]; if (memberInfo == null) { continue; } if (memberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_Captain) { captainInfo = memberInfo; } } if (captainInfo != null) { m_GuildCaptainLabel.text = captainInfo.kCharName; } if (m_GuildDetailInfo.kJoinMethod == _enGuildJoinMethod.eGuildJoinMethod_Free) { m_GuildJoinMethodLabel.text = StringTableManager.GetData(6233); } else if (m_GuildDetailInfo.kJoinMethod == _enGuildJoinMethod.eGuildJoinMethod_Approval) { m_GuildJoinMethodLabel.text = StringTableManager.GetData(6239); } m_GuildDescLabel.text = m_GuildDetailInfo.kGuildDesc; }
//=================================================================================== // // Method // //=================================================================================== public void Init(CGuildDetail guildDetail) { // 6752 봉헌 _TitleLabel.text = StringTableManager.GetData(6752); // 6896 봉헌을 통한 여신의 가호 효과는 모험지역에서만 적용됩니다. _BottomLabel.text = StringTableManager.GetData(6896); // grid sort setting { _FreeTributeGrid.sorting = UIGrid.Sorting.Custom; _FreeTributeGrid.onCustomSort = SortByCustomType; _GoodTributeGrid.sorting = UIGrid.Sorting.Custom; _GoodTributeGrid.onCustomSort = SortByCustomType; _ExtraTributeGrid.sorting = UIGrid.Sorting.Custom; _ExtraTributeGrid.onCustomSort = SortByCustomType; } _MyGuildLv = guildDetail.kGuildLevel; SetGoddnessData(guildDetail.kGuildLevel); DATA_GUILD_MAIN GuildMainTableData = CDATA_GUILD_MAIN.Get(guildDetail.kGuildLevel); if (GuildMainTableData != null) { // 8289 길드 레벨과 맞지 않는 봉헌은 이용할 수 없습니다. (이용 가능 봉헌 : Lv.{0}) _BottomLevelMissMatchLabel.text = string.Format(StringTableManager.GetData(8289), GuildMainTableData.iGuildLv); } if (_FreeTributeTooltipButton != null) { _FreeTributeTooltipButton.gameObject.SetActive(false); } if (_GoodTributeTooltipButton != null) { _GoodTributeTooltipButton.gameObject.SetActive(false); } if (_ExtraTributeTooltipButton != null) { _ExtraTributeTooltipButton.gameObject.SetActive(false); } }
/// <summary> /// 길드 가입요청 수락& 거절 패킷 받음. /// </summary> public void GuildJoinRequestAnswer(_stGuildJoinRequestAnswerAck stAck, CGuildMember member, CGuildDetail GuildDetailInfo) { int iCount = m_MemberList.Count; for (int i = 0; i < iCount; ++i) { GuildInformationItem infoItem = m_MemberList[i]; if (infoItem == null) { continue; } if (infoItem.MemberInfo.kCharNo == stAck.kDestCharNo) { DestroyImmediate(infoItem.gameObject); m_MemberList.Remove(infoItem); break; } } if (stAck.kAnswer == _enGuildJoinRequestAnswer.eGuildJoinRequestAnswer_YES) { // 수락이면 길드원으로 다시 생성. GuildInformationItem memberItem = UIResourceMgr.CreatePrefab <GuildInformationItem>(BUNDLELIST.PREFABS_UI_GUILD, m_GuildMemberGrid.transform, "GuildInformationItem"); memberItem.Init(enGuildInfo_WindowType.GuildModify, stAck.kGuildKey, member); m_MemberList.Add(memberItem); } else if (stAck.kAnswer == _enGuildJoinRequestAnswer.eGuildJoinRequestAnswer_NO) { // 거절이면 삭제된 데이터 대입. m_GuildDetailInfo = GuildDetailInfo; } // 6587 {0} / {1} 명 m_TodayAttendanceCountLabel.text = string.Format(StringTableManager.GetData(6587), GuildDetailInfo.kAttendanceCount, GuildDetailInfo.kCurrMemberCount); SortMemberList(); }
private void SetMyGuildInfo(CGuildDetail guildDetail) { m_GuildLeaveButton.SetActive(false); m_GuildModifyButton.SetActive(false); m_GuildSubCaptainButtonObj.SetActive(false); // 부길드장이 사용하는 버튼. m_CommissionCheckButton.gameObject.SetActive(true); // 6587 {0} / {1} 명 m_TodayAttendanceCountLabel.text = string.Format(StringTableManager.GetData(6587), guildDetail.kAttendanceCount, guildDetail.kCurrMemberCount); m_GuildMarkSprite.sprite2D = UIResourceMgr.CreateSprite(BUNDLELIST.TEXTURE_ICON_GUILDEMBLEM, string.Format("GuildEmblem{0}", guildDetail.kGuildMark.ToString("D2"))); m_GuildNameLabel.text = guildDetail.kGuildName; DATA_GUILD_MAIN GuildMainData = CDATA_GUILD_MAIN.Get(guildDetail.kGuildLevel); if (GuildMainData != null) { // string num : 12 -> LV m_GuildLevelLabel.text = string.Format("{0} {1}", StringTableManager.GetData(12), GuildMainData.iGuildLv); float GuildExpPercentage = guildDetail.kGuildExp / (float)GuildMainData.iGexp; _GuildLevelGageSprite.fillAmount = GuildExpPercentage; _GuildLevelGageLabel.text = string.Format("{0}%", (GuildExpPercentage * 100).ToString("F2")); } bool isRequestMember = false; CGuildMember captainInfo = null; int iCount = guildDetail.vMembers.Count; for (int i = 0; i < iCount; ++i) { CGuildMember memberInfo = guildDetail.vMembers[i]; if (memberInfo == null) { continue; } if (memberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_Captain) { captainInfo = memberInfo; } else if (memberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_Request) { isRequestMember = true; } if (memberInfo.kCharNo == UserInfo.Instance.CharNo) { m_MyMemberInfo = memberInfo; UserInfo.Instance.GuildKey = guildDetail.kGuildKey; UserInfo.Instance.GuildName = guildDetail.kGuildName; UserInfo.Instance.CharGuildState = m_MyMemberInfo.kMemberState; } } if (captainInfo != null) { m_GuildCaptainLabel.text = captainInfo.kCharName; } if (guildDetail.kJoinMethod == _enGuildJoinMethod.eGuildJoinMethod_Free) { m_GuildJoinMethodLabel.text = StringTableManager.GetData(6233); } else if (guildDetail.kJoinMethod == _enGuildJoinMethod.eGuildJoinMethod_Approval) { m_GuildJoinMethodLabel.text = StringTableManager.GetData(6239); } SetJoinMethodButton(guildDetail.kJoinMethod); SetNoticeOrDescButton(enNoticeAndDesc.Notice); // 공지사항이 디폴트. if (m_MyMemberInfo != null) { if (m_MyMemberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_Captain) // 길드장. { m_GuildModifyButton.SetActive(true); m_CommissionCheckButton.gameObject.SetActive(false); if (isRequestMember == true) { UserInfo.Instance.otherNew.GuildAlram = _enGuildAlram.eGuildNewMark_NewMember; } } else if (m_MyMemberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_SubCaptain || // 부길드장. m_MyMemberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_AbleSubCaptain) { m_GuildSubCaptainButtonObj.SetActive(true); m_GuildSubCaptainLeaveButton.SetActive(true); m_GuildSubCaptainModifyButton.SetActive(true); if (isRequestMember == true) { UserInfo.Instance.otherNew.GuildAlram = _enGuildAlram.eGuildNewMark_NewMember; } } else // 길드원. { m_GuildLeaveButton.SetActive(true); UserInfo.Instance.otherNew.GuildAlram = _enGuildAlram.eGuildNewMark_None; } SetCommissionCheckButton(m_MyMemberInfo.kMemberState); } }
/// <summary> /// 길드 창설 버튼. /// </summary> /// <param name="go"></param> private void OnCreateGuild(GameObject go) { if (go != null) { SoundManager.Instance.PlayFX(enSoundFXUI.BUTTON_MEDIUM); } string str = string.Empty; if (string.IsNullOrEmpty(m_GuildNameInput.value) == true) { //길드 이름을 입력해주세요.(스트링 ID: 6271) str = StringTableManager.GetData(6271); } else if (m_bDuplicateCheck == false) { // 길드 이름을 중복 확인 해주세요. str = StringTableManager.GetData(6583); } else if (m_bEmblemCheck == false) { // 길드 마크를 선택해 주세요 (스트링 ID : 6272) str = StringTableManager.GetData(6267); } else if (string.IsNullOrEmpty(m_GuildDescInput.value) == true) { //소개글을 입력해주세요. (스트링 ID: 6273) str = StringTableManager.GetData(6273); } else if (UserInfo.Instance.Level < m_iGuildCreateLevel) { // 플레이어의 레벨이 10이상이 되어야 길드를 창설 할 수 있습니다. (스트링 ID: 6274) str = StringTableManager.GetData(6274); } else if (UserInfo.Instance.Gold < (ulong)m_iGuildCreateCountGold) { //길드 창설 비용이 부족합니다. (스트링 ID: 6275) str = StringTableManager.GetData(6275); } else if (string.Equals(m_ServerCheckGuildName, m_GuildNameInput.value) == false) // 체크버튼 누른 후 클라에서 길드이름 다시 바꿨을때. { // 길드 이름을 중복 확인 해주세요. str = StringTableManager.GetData(6583); m_bDuplicateCheck = false; } if (string.IsNullOrEmpty(str) == false) { SystemPopupWindow.Instance.SetSystemPopup(enSystemPopupType.Ok, StringTableManager.GetData(3954), str); return; } _stGuildCreateReq stGuildCreateReq = new _stGuildCreateReq(); CGuildDetail GuildDetail = new CGuildDetail(); GuildDetail.kGuildName = m_GuildNameInput.value.Trim(); GuildDetail.kGuildMark = m_kEmblemNumber; GuildDetail.kJoinMethod = m_JoinType; GuildDetail.kGuildDesc = m_GuildDescInput.value.TrimEnd(); _vGuildMembers vGuildMembers = new _vGuildMembers(); GuildDetail.vMembers = vGuildMembers; stGuildCreateReq.kGuildDetailInfo = GuildDetail; CNetManager.Instance.SendPacket(CNetManager.Instance.GuildProxy.GuildCreate, stGuildCreateReq, typeof(_stGuildCreateAck)); }