public void SetMyGuildMember(ulong kGuildKey, _vGuildMembers vMembers) { Clear(); int iCount = vMembers.Count; for (int i = 0; i < iCount; ++i) { CGuildMember memberInfo = vMembers[i]; if (memberInfo == null) { continue; } if (memberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_None || memberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_Request) { continue; } GuildInformationItem memberItem = UIResourceMgr.CreatePrefab <GuildInformationItem>(BUNDLELIST.PREFABS_UI_GUILD, m_GuildMemberGrid.transform, "GuildInformationItem"); memberItem.Init(enGuildInfo_WindowType.MyGuild, kGuildKey, memberInfo); m_MemberList.Add(memberItem); } SortMemberList(); }
//=================================================================================== // // 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> 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(); }
public void SetMyGuildMember(ulong kGuildKey, _vGuildMembers vMembers) { Clear(); int iRequestCount = 0; int iCount = vMembers.Count; for (int i = 0; i < iCount; ++i) { CGuildMember memberInfo = vMembers[i]; if (memberInfo == null) { continue; } if (memberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_None) { continue; } if (memberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_Request) { iRequestCount++; } // 길드요청이 테이블값 이상이면 데이터가 존재해도 UI를 추가하지 않는다. if (iRequestCount > m_iGuildWaitingCount && memberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_Request) { continue; } GuildInformationItem memberItem = UIResourceMgr.CreatePrefab <GuildInformationItem>(BUNDLELIST.PREFABS_UI_GUILD, m_GuildMemberGrid.transform, "GuildInformationItem"); memberItem.Init(enGuildInfo_WindowType.GuildModify, kGuildKey, memberInfo); m_MemberList.Add(memberItem); } SortMemberList(); // 길드요청이 테이블값 이상이면 팝업띄움. if (iRequestCount > m_iGuildWaitingCount) { // 4300 알림. 6277 길드 가입 신청 대기 인원이 10명 이상입니다. \n 더 이상 길드 가입 신청을 받을 수 없습니다. SystemPopupWindow.Instance.SetSystemPopup(enSystemPopupType.Ok, StringTableManager.GetData(4300), StringTableManager.GetData(6277)); } }
/// <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(); }