Esempio n. 1
0
    /// <summary>
    /// 관리의 멤버들 생성
    /// </summary>
    private void Creat_memberElement()
    {
        foreach (var member in Dic_ExistClanMember)
        {
            UIItem_MemberElement _element = UI_Manager.Getsingleton.CreatUI(UIITEM.ITEM_CLANMEMBERELEMENT, Lst_TrContent[(int)ClanUI_Type.Manage]) as UIItem_MemberElement;
            _element.Set_Element(member.Value, member.Value.CnRank == (byte)CLAN_MEMBER_TYPE.MASTER);

            Lst_MemberElement.Add(_element);
        }

        Sort_memberList(Lst_MemberElement);
    }
Esempio n. 2
0
    /// <summary>
    /// 관리의 멤버들 정보 갱신 (시간 정보, 및 이름변경 , 함께 기능)
    /// </summary>
    void Refresh_memberElement()
    {
        //Lst_MemberElement 리스트를 dic으로 변환후 dic의 데이터안에 Dic_ExistClanMember 키값에 잇는지 체크 => 즉Dic_ExistClanMember 데이터중에  Lst_MemberElement 가 없는 거 반환
        var noCreatedEle = Dic_ExistClanMember.Where(n => !Lst_MemberElement.ToDictionary(g => g.clan_member.MemIdx, g => g.clan_member).ContainsKey(n.Value.MemIdx));

        if (noCreatedEle.Count() > 0)
        {
            foreach (var ele in noCreatedEle)
            {
                UIItem_MemberElement _element = UI_Manager.Getsingleton.CreatUI(UIITEM.ITEM_CLANMEMBERELEMENT, Lst_TrContent[(int)ClanUI_Type.Manage]) as UIItem_MemberElement;
                _element.Set_Element(ele.Value, ele.Value.CnRank == (byte)CLAN_MEMBER_TYPE.MASTER);

                Lst_MemberElement.Add(_element);
            }
        }


        //클랜탈퇴, 클랜강퇴 등 사라진 멤버에 대해 기존생성된 elememt 삭제 해준다
        var deletedEle = Lst_MemberElement.Where(n => !Dic_ExistClanMember.ContainsKey(n.clan_member.MemIdx));

        if (deletedEle.Count() > 0)
        {
            for (int i = 0; i < deletedEle.ToList().Count; i++)
            {
                Destroy(deletedEle.ToList()[i].gameObject);
                Lst_MemberElement.Remove(deletedEle.ToList()[i]);
            }
        }


        //member 데이터 다시받고 element 정보 갱신한다.

        for (int i = 0; i < Lst_MemberElement.Count; i++)
        {
            foreach (var member in Dic_ExistClanMember)
            {
                if (Lst_MemberElement[i].clan_member.MemIdx == member.Value.MemIdx)
                {
                    Lst_MemberElement[i].Set_Element(member.Value, member.Value.CnRank == (byte)CLAN_MEMBER_TYPE.MASTER);
                }
            }
        }

        //정렬 다시한다
        Sort_memberList(Lst_MemberElement);
    }
Esempio n. 3
0
    /// <summary>
    /// 특정 element 하나만 삭제
    /// </summary>
    public void ClearElementOne(int tapIdx, UIItem_MemberElement element_)
    {
        List <UIItem_MemberElement> _getMemberElement = null;

        //List<UIItem_BoardElement> _getBoardElement = null;
        if (tapIdx == 0)
        {
            var _delElement = from el in Lst_MemberElement
                              where el.Equals(element_)
                              select el;

            _getMemberElement = _delElement.ToList();
        }
        else if (tapIdx == 1)
        {
            var _delElement = from el in Lst_MemberElement
                              where el.Equals(element_)
                              select el;

            _getMemberElement = _delElement.ToList();
        }

        for (int i = 0; i < _getMemberElement.Count; i++)
        {
            if (tapIdx == 0)
            {
                Lst_MemberElement.Remove(_getMemberElement[i]);
            }
            //else if (tapIdx == 1)
            //	Lst_BoardElement.Remove(_getMemberElement[i]);

            // element 파괴 하고 ui_manager에있는 컬랙션 remove
            Destroy(_getMemberElement[i].gameObject);
            UI_Manager.Getsingleton.Lst_UiItem.Remove(_getMemberElement[i]);
        }
    }