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(); }
/// <summary> /// 길드장 위임 패킷 받음. /// </summary> /// <param name="stAck"></param> public void GuildOrderCaptain(_stGuildOrderCaptainAck stAck) { // 길드관리 창이 꺼지면 관리창에서 바뀐 정보를 다시 받는다. //_guildModifyWindow.CloseUI(); UIControlManager.instance.RemoveWindow(enUIType.GUILDMODIFY); m_GuildDelegationPopupWindow.CloseUI(); _vGuildMembers vGuildMembers = m_GuildDetailInfo.vMembers; for (int i = 0; i < vGuildMembers.Count; ++i) { CGuildMember member = vGuildMembers[i]; if (member == null) { continue; } // 길드원 정보에서 내 정보 변경. if (member.kCharNo == UserInfo.Instance.CharNo) { member.kMemberState = stAck.kUserMemberState; } // 위임한 길드원. if (member.kCharNo == stAck.kDestCharNo) { member.kMemberState = _enGuildMemberState.eGuildMemberState_Captain; } } _MyGuild.GuildDetailInfoAck(m_GuildDetailInfo); }
//=================================================================================== // // 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(); }
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 GuildOrderLeave(_stGuildOrderLeaveAck stAck) { string strCharName = string.Empty; int iCount = m_MemberList.Count; for (int i = 0; i < iCount; ++i) { GuildInformationItem member = m_MemberList[i]; if (member == null) { continue; } if (member.MemberInfo.kCharNo == stAck.kDestCharNo) { strCharName = member.MemberInfo.kCharName; DestroyImmediate(member.gameObject); m_MemberList.Remove(member); break; } } _vGuildMembers vGuildMembers = m_GuildDetailInfo.vMembers; for (int i = 0; i < vGuildMembers.Count; ++i) { CGuildMember member = vGuildMembers[i]; if (member == null) { continue; } if (member.kCharNo == stAck.kDestCharNo) { vGuildMembers.Remove(member); break; } } m_GuildMemberGrid.Reposition(); m_GuildMemberScrollView.ResetPosition(); }
/// <summary> /// 길드 추방 패킷 받음(길드장 전용). /// </summary> public void GuildOrderLeave(_stGuildOrderLeaveAck stAck) { int iCount = m_MemberList.Count; for (int i = 0; i < iCount; ++i) { GuildInformationItem member = m_MemberList[i]; if (member == null) { continue; } if (member.MemberInfo.kCharNo == stAck.kDestCharNo) { DestroyImmediate(member.gameObject); m_MemberList.Remove(member); break; } } _vGuildMembers vGuildMembers = m_GuildDetailInfo.vMembers; for (int i = 0; i < vGuildMembers.Count; ++i) { CGuildMember member = vGuildMembers[i]; if (member == null) { continue; } if (member.kCharNo == stAck.kDestCharNo) { vGuildMembers.Remove(member); break; } } string szLabeltext = string.Format(StringTableManager.GetData(6254), m_GuildDetailInfo.vMembers.Count, m_GuildDetailInfo.kMaxMemberCount); m_GuildMemberButton.SetLabel(szLabeltext); m_GuildMemberGrid.Reposition(); m_GuildMemberScrollView.ResetPosition(); }
/// <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)); }