コード例 #1
0
ファイル: MyGuild.cs プロジェクト: sakura68/portfolio
    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();
    }
コード例 #2
0
ファイル: MyGuildMain.cs プロジェクト: sakura68/portfolio
    /// <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);
    }
コード例 #3
0
    //===================================================================================
    //
    // 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();
    }
コード例 #4
0
ファイル: GuildModify.cs プロジェクト: sakura68/portfolio
    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));
        }
    }
コード例 #5
0
ファイル: MyGuild.cs プロジェクト: sakura68/portfolio
    /// <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();
    }
コード例 #6
0
ファイル: GuildModify.cs プロジェクト: sakura68/portfolio
    /// <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();
    }
コード例 #7
0
ファイル: GuildCreate.cs プロジェクト: sakura68/portfolio
    /// <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));
    }