Exemple #1
0
    /// <summary>
    /// 길드가입 신청 패킷 받음.
    /// </summary>
    public void GuildJoinRequest(_stGuildJoinRequestAck stAck)
    {
        // 추천길드 목록에서 가입신청 한 길드를 지움.
        int iCount = m_RecommendGuildList.Count;

        for (int i = 0; i < iCount; ++i)
        {
            GuildListitem item = m_RecommendGuildList[i];
            if (item == null)
            {
                continue;
            }

            if (item.kGuildKey == stAck.kGuildKey)
            {
                DestroyImmediate(item.gameObject);
                m_RecommendGuildList.Remove(item);
                break;
            }
        }

        GuildListitem JoinRequestItem = UIResourceMgr.CreatePrefab <GuildListitem>(BUNDLELIST.PREFABS_UI_GUILD, m_JoinRequestGrid.transform, "GuildListitem");

        JoinRequestItem.Init(this);
        JoinRequestItem.SetGuildInfo(m_SelectGuildInfo, GuildListitem.enGuildListItem_Type.JoinRequest);
        m_JoinRequestGuildList.Add(JoinRequestItem);

        m_JoinRequestGuildCountLabel.text = string.Format("{0}  {1} / {2}", StringTableManager.GetData(6244), m_JoinRequestGuildList.Count, m_iGuildWaitingCount);

        ResetPosition();
    }
Exemple #2
0
    public void CreateRecommendGuildList(_stGuildRecommendListAck stAck)
    {
        stAck.vRecommendGuildList.Sort((a, b) => a.kGuildName.CompareTo(b.kGuildName));

        RecommendListClear();

        // 추천 길드.
        ulong GuildKey        = UserInfo.Instance.GuildKey;
        int   iRecommendCount = stAck.vRecommendGuildList.Count;

        for (int i = 0; i < iRecommendCount; ++i)
        {
            CGuild RecommendGuild = stAck.vRecommendGuildList[i];
            if (RecommendGuild == null)
            {
                continue;
            }

            if (GuildKey == RecommendGuild.kGuildKey)
            {
                continue;
            }

            GuildListitem RecommendItem = UIResourceMgr.CreatePrefab <GuildListitem>(BUNDLELIST.PREFABS_UI_GUILD, m_RecommendGrid.transform, "GuildListitem");
            RecommendItem.Init(this);
            RecommendItem.SetGuildInfo(RecommendGuild, GuildListitem.enGuildListItem_Type.Recommend);

            m_RecommendGuildList.Add(RecommendItem);
        }

        ResetPosition();
    }
Exemple #3
0
    /// <summary>
    /// 길드가입 요청 취소패킷 받음.
    /// </summary>
    /// <param name="stAck"></param>
    public void GuildJoinRequestCancel(_stGuildJoinRequestCancelAck stAck)
    {
        // 가입 신청 대기중인 길드 목록에서 지우고
        int iJoinRequestCount = m_JoinRequestGuildList.Count;

        for (int i = 0; i < iJoinRequestCount; ++i)
        {
            GuildListitem item = m_JoinRequestGuildList[i];
            if (item == null)
            {
                continue;
            }

            if (item.kGuildKey == stAck.kGuildKey)
            {
                DestroyImmediate(item.gameObject);
                m_JoinRequestGuildList.Remove(item);
                break;
            }
        }

        bool bInclude        = false;
        int  iRecommendCount = m_RecommendGuildList.Count;

        for (int i = 0; i < iRecommendCount; ++i)
        {
            GuildListitem item = m_RecommendGuildList[i];
            if (item == null)
            {
                continue;
            }

            if (item.kGuildKey == stAck.kGuildKey)
            {
                // 추천길드 목록에 포함되어 있다.
                bInclude = true;
                break;
            }
        }

        if (bInclude == false)
        {
            // 추천길드 목록에 없으면 추가.
            GuildListitem RecommendItem = UIResourceMgr.CreatePrefab <GuildListitem>(BUNDLELIST.PREFABS_UI_GUILD, m_RecommendGrid.transform, "GuildListitem");
            RecommendItem.Init(this);
            RecommendItem.SetGuildInfo(m_SelectGuildInfo, GuildListitem.enGuildListItem_Type.Recommend);
            m_RecommendGuildList.Add(RecommendItem);
        }

        m_JoinRequestGuildCountLabel.text = string.Format("{0}  {1} / {2}", StringTableManager.GetData(6244), m_JoinRequestGuildList.Count, m_iGuildWaitingCount);

        ResetPosition();
    }
Exemple #4
0
    /// <summary>
    /// 길드 검색 패킷 받음.
    /// </summary>
    public void GuildSearch(_stGuildSearchAck stAck)
    {
        RecommendListClear();

        // 추천길드 목록에 검색 길드 정보 추가.
        GuildListitem RecommendItem = UIResourceMgr.CreatePrefab <GuildListitem>(BUNDLELIST.PREFABS_UI_GUILD, m_RecommendGrid.transform, "GuildListitem");

        RecommendItem.Init(this);
        RecommendItem.SetGuildInfo(stAck.kGuildInfo, GuildListitem.enGuildListItem_Type.Recommend);
        m_RecommendGuildList.Add(RecommendItem);

        ResetPosition();
    }
Exemple #5
0
    /// <summary>
    /// 길드가입 체크.
    /// </summary>
    /// <returns></returns>
    public bool GuildJoinCheck(CGuild GuildInfo)
    {
        int iJoinRequestCount = m_JoinRequestGuildList.Count;

        if (iJoinRequestCount >= m_iGuildWaitingCount)
        {
            // 더 이상 길드 가입 신청을 할 수 없습니다.
            StartCoroutine(GuildJoinCheckPopup(6242));
            return(false);
        }

        for (int i = 0; i < iJoinRequestCount; ++i)
        {
            GuildListitem item = m_JoinRequestGuildList[i];
            if (item == null)
            {
                continue;
            }

            if (item.kGuildKey == GuildInfo.kGuildKey)
            {
                // 이미 길드 가입을 신청 하였습니다.
                StartCoroutine(GuildJoinCheckPopup(6253));
                return(false);
            }
        }

        // 이미 가입 신청한 길드면 추천길드 목록에서 제거.
        int iRecommendCount = m_RecommendGuildList.Count;

        for (int i = 0; i < iRecommendCount; ++i)
        {
            GuildListitem item = m_RecommendGuildList[i];
            if (item == null)
            {
                continue;
            }

            if (item.kGuildKey == GuildInfo.kGuildKey)
            {
                DestroyImmediate(item.gameObject);
                m_RecommendGuildList.Remove(item);

                ResetPosition();
                break;
            }
        }

        return(true);
    }
Exemple #6
0
    private void RecommendListClear()
    {
        int iCount = m_RecommendGuildList.Count;

        for (int i = 0; i < iCount; ++i)
        {
            GuildListitem item = m_RecommendGuildList[i];
            if (item == null)
            {
                continue;
            }

            DestroyImmediate(item.gameObject);
        }

        m_RecommendGuildList.Clear();
    }
Exemple #7
0
    /// <summary>
    /// 가입하지 않은 길드 정보를 요청할때
    /// 길드목록을 갱신하지 않은 상태에서 길드가 해체되었을때.
    /// 가입신청 대기중인 목록과 추천목록에서 길드정보를 삭제한다.
    /// </summary>
    /// <param name="stAck"></param>
    public void GuildDetailInfoDelete(ulong kGuildKey)
    {
        // 가입 신청 대기중인 길드 목록에서 지우고
        int iJoinRequestCount = m_JoinRequestGuildList.Count;

        for (int i = 0; i < iJoinRequestCount; ++i)
        {
            GuildListitem item = m_JoinRequestGuildList[i];
            if (item == null)
            {
                continue;
            }

            if (item.kGuildKey == kGuildKey)
            {
                DestroyImmediate(item.gameObject);
                m_JoinRequestGuildList.Remove(item);
                break;
            }
        }

        int iRecommendCount = m_RecommendGuildList.Count;

        for (int i = 0; i < iRecommendCount; ++i)
        {
            GuildListitem item = m_RecommendGuildList[i];
            if (item == null)
            {
                continue;
            }

            if (item.kGuildKey == kGuildKey)
            {
                DestroyImmediate(item.gameObject);
                m_RecommendGuildList.Remove(item);
                break;
            }
        }

        m_JoinRequestGuildCountLabel.text = string.Format("{0}  {1} / {2}", StringTableManager.GetData(6244), m_JoinRequestGuildList.Count, m_iGuildWaitingCount);

        ResetPosition();
    }
Exemple #8
0
    public void CreateJoinRequestGuildList(_stGuildRecommendListAck stAck)
    {
        // 길드 가입 신청 개수의 리스팅 순서는 초성 기준으로 "영문 ABC -> 한글 가나다" 순으로 정렬 된다.
        stAck.vJoinRequestGuildList.Sort((a, b) => a.kGuildName.CompareTo(b.kGuildName));

        JoinRequestListClear();

        int iJoinRequestCount = stAck.vJoinRequestGuildList.Count;

        m_JoinRequestGuildCountLabel.text = string.Format("{0}  {1} / {2}", StringTableManager.GetData(6244), iJoinRequestCount, m_iGuildWaitingCount);

        if (iJoinRequestCount > 0)
        {
            _NoJoinRequestLabel.gameObject.SetActive(false);

            // 내가 가입 신청한 길드.
            for (int i = 0; i < iJoinRequestCount; ++i)
            {
                CGuild JoinRequestGuild = stAck.vJoinRequestGuildList[i];
                if (JoinRequestGuild == null)
                {
                    continue;
                }

                GuildListitem JoinRequestItem = UIResourceMgr.CreatePrefab <GuildListitem>(BUNDLELIST.PREFABS_UI_GUILD, m_JoinRequestGrid.transform, "GuildListitem");
                JoinRequestItem.Init(this);
                JoinRequestItem.SetGuildInfo(JoinRequestGuild, GuildListitem.enGuildListItem_Type.JoinRequest);

                m_JoinRequestGuildList.Add(JoinRequestItem);
            }
        }
        else
        {
            _NoJoinRequestLabel.gameObject.SetActive(true);
        }

        ResetPosition();
    }