Esempio n. 1
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();
    }
Esempio n. 2
0
    private void SetButton(enGuildInfo_WindowType type, _enGuildMemberState state, bool IsMine)
    {
        m_DismissButtonLabel.text = StringTableManager.GetData(6301);

        //m_AttendanceButton.gameObject.SetActive(false);             // 출석버튼.


        m_RejectButton.SetActive(false);                            // 길드가입 거절버튼(길드장 전용).
        m_ApprovalButton.SetActive(false);                          // 길드가입 수락버튼(길드장 전용).
        m_DeleteButton.SetActive(false);                            // 길드원 추방버튼.
        m_DismissButton.SetActive(false);                           // 부길드장 해임 버튼(길드장 전용).
        m_DelegationButton.SetActive(false);                        // 길드장 위임버튼(길드장 전용).
        m_AppointButton.SetActive(false);                           // 부길드장 임명버튼(길드장 전용).

        if (IsMine == true)
        {
            m_HomeButton.gameObject.SetActive(false);                    // 방문버튼.
            //m_HomeButton.state = ButtonState.Off;
        }
        else
        {
            m_HomeButton.gameObject.SetActive(true);                    // 방문버튼.
            m_HomeButton.state = ButtonState.On;
        }

        if (type == enGuildInfo_WindowType.MyGuild)
        {
        }
        else if (type == enGuildInfo_WindowType.GuildModify)
        {
            if (UserInfo.Instance.CharGuildState == _enGuildMemberState.eGuildMemberState_Captain)
            {
                if (state == _enGuildMemberState.eGuildMemberState_SubCaptain || state == _enGuildMemberState.eGuildMemberState_AbleSubCaptain)
                {
                    m_DismissButton.SetActive(true);
                }
            }

            if (state == _enGuildMemberState.eGuildMemberState_Request)
            {
                m_ApprovalButton.SetActive(true);
                m_RejectButton.SetActive(true);
            }
            else if (state == _enGuildMemberState.eGuildMemberState_AbleMember || state == _enGuildMemberState.eGuildMemberState_Member)
            {
                m_DeleteButton.SetActive(true);
            }
        }
        else if (type == enGuildInfo_WindowType.GuildCaptain_Delegation)
        {
            m_HomeButton.gameObject.SetActive(false);
            m_DelegationButton.SetActive(true);
        }
        else if (type == enGuildInfo_WindowType.GuildSubCaptain_Appointment)
        {
            m_HomeButton.gameObject.SetActive(false);
            m_AppointButton.SetActive(true);
        }
    }
Esempio n. 3
0
    public void OnGuildOrderSubCaptain(GameObject go)
    {
        if (go != null)
        {
            SoundManager.Instance.PlayFX(enSoundFXUI.BUTTON_MEDIUM);
        }

        m_enGuildInfoWindowType = enGuildInfo_WindowType.GuildSubCaptain_Appointment;
        OpenGuildDelegationPopup(enSystemMessageFlag.YES);
    }
Esempio n. 4
0
    /// <summary>
    /// 길드장 위임 버튼.
    /// </summary>
    /// <param name="go"></param>
    public void OnGuildDelegation(GameObject go)
    {
        if (go != null)
        {
            SoundManager.Instance.PlayFX(enSoundFXUI.BUTTON_MEDIUM);
        }

        if (UserInfo.Instance.Gold < (ulong)m_iGuildDelegateCountGold)
        {
            SystemPopupWindow.Instance.SetSystemPopup(enSystemPopupType.Ok, StringTableManager.GetData(4300), StringTableManager.GetData(6296));
            return;
        }

        m_enGuildInfoWindowType = enGuildInfo_WindowType.GuildCaptain_Delegation;
        string str = string.Format(StringTableManager.GetData(6291), m_iGuildDelegateCountGold);

        SystemPopupWindow.Instance.OpenSystemPopUp(enSystemPopupType.YesNo, StringTableManager.GetData(4300), str, OpenGuildDelegationPopup);
    }
Esempio n. 5
0
    //===================================================================================
    //
    // Method
    //
    //===================================================================================
    public void Init(enGuildInfo_WindowType type, ulong kGuildKey, CGuildMember member)
    {
        m_DelegationButtonLabel.text = StringTableManager.GetData(6294);     // 6294	길드장 위임
        m_AppointButtonLabel.text    = StringTableManager.GetData(6298);     // 6298	부길드장 임명

        m_BgMeSprite.gameObject.SetActive(false);
        m_CaptainCrown.gameObject.SetActive(false);
        m_SubCaptainCrown.gameObject.SetActive(false);

        m_kGuildKey  = kGuildKey;
        m_MemberInfo = member;

        m_NameLabel.text = m_MemberInfo.kCharName;

        m_LevelLabel.text = string.Format("{0} {1}", StringTableManager.GetData(12), m_MemberInfo.kCharLevel);  // 12번 텍스트 LV

        DATA_VIP VipData = CDATA_VIP.Get(m_MemberInfo.kCharVIPLevel);

        if (VipData != null)
        {
            m_VipRankSprite.spriteName = VipData.szGradeImg;
        }
        m_VipRankLabel.text = string.Format(StringTableManager.GetData(4984), (int)m_MemberInfo.kCharVIPLevel);

        DATA_CREATURE_NEWVER CreatureData = CDATA_CREATURE_NEWVER.Get(m_MemberInfo.kLeaderCreatureID);

        if (CreatureData != null)
        {
            int iCreatureTID = CDATA_CREATURE_NEWVER.Get(m_MemberInfo.kLeaderCreatureID).m_iCreatureTID;
            DATA_CREATURE_NEWVER pCreatureData = UtilFunc.GetCreatureDataByTID(iCreatureTID);
            m_CreatureSprite.sprite2D = UIResourceMgr.CreateSprite(BUNDLELIST.TEXTURE_ICON_CREATUREHEAD, pCreatureData.m_szIcon);
        }

        // 공물형태가 무엇인지?
        {
            // 6856	무료 공물
            _GoddnessTributeFreeLabel.text = StringTableManager.GetData(6856);
            _GoddnessTributeFreeObj.SetActive(false);
            _GoddnessTributeGoodObj.SetActive(false);
            _GoddnessTributeExtraObj.SetActive(false);

            _attendanceReward.state = ButtonState.Off;

            DateTime MemberAttendanceTime = m_MemberInfo.kGuildAttendanceTime.GetDateTime();
            if (MemberAttendanceTime.Date >= TimeManager.Instance.GetServerTime().Date&&
                (m_MemberInfo.kBuffKind != DATA_GUILD_TRIBUTE._enTributeEnum.None && m_MemberInfo.kBuffKind != DATA_GUILD_TRIBUTE._enTributeEnum._enTributeEnum_Max))
            {
                _attendanceReward.state = ButtonState.On;

                DATA_GUILD_TRIBUTE._enTributeEnum GuildBuffKind = m_MemberInfo.kBuffKind;
                DATA_GUILD_TRIBUTE GuildTributeData             = CDATA_GUILD_TRIBUTE.Get(GuildBuffKind);
                if (GuildTributeData == null)
                {
                    return;     // error
                }
                _attendanceReward.SetOnLabel(string.Format(StringTableManager.GetData(8679), GuildTributeData.iKeyAmount));

                int iCount = CDATA_GUILD_MAIN.GetCount();
                for (int i = 0; i < iCount; ++i)
                {
                    DATA_GUILD_MAIN GuildMainData = CDATA_GUILD_MAIN.GetByIndex(i);
                    if (GuildMainData == null)
                    {
                        continue;
                    }

                    if (GuildMainData.enTributeFree == GuildBuffKind)
                    {
                        _GoddnessTributeFreeObj.SetActive(true);
                        break;
                    }
                    else if (GuildMainData.enTributeGood == GuildBuffKind)
                    {
                        _GoddnessTributeGoodObj.SetActive(true);
                        break;
                    }
                    else if (GuildMainData.enTributeExtra == GuildBuffKind)
                    {
                        _GoddnessTributeExtraObj.SetActive(true);
                        break;
                    }
                }
            }
        }

        if (type == enGuildInfo_WindowType.MyGuild)
        {
            _ContributionTitleLabel.gameObject.SetActive(true);
            _ContributionPointLabel.gameObject.SetActive(true);
            _attendanceReward.gameObject.SetActive(true);

            // 6905    기여도
            _ContributionTitleLabel.text = StringTableManager.GetData(6905);
            _ContributionPointLabel.text = m_MemberInfo.kUserTributeExp.ToString();     // 기여도 점수.
        }
        else
        {
            _ContributionTitleLabel.gameObject.SetActive(false);
            _ContributionPointLabel.gameObject.SetActive(false);
            _attendanceReward.gameObject.SetActive(false);
        }

        if (m_MemberInfo.kAccessState == _enGuildMemberAccessState.eAccess_Yes)
        {
            _MemberLogOffObj.SetActive(false);

            // 3473	접속중
            m_LastConnectLabel.text = string.Format(StringTableManager.GetData(3473));
        }
        else
        {
            if (UserInfo.Instance.CharNo == m_MemberInfo.kCharNo)
            {
                _MemberLogOffObj.SetActive(false);

                // 3473	접속중
                m_LastConnectLabel.text = string.Format(StringTableManager.GetData(3473));
            }
            else
            {
                if (m_kGuildKey == UserInfo.Instance.GuildKey)
                {
                    // 내가 속한 길드일때만 길드원의 접속여부를 확인한다.
                    _MemberLogOffObj.SetActive(true);
                }
                else
                {
                    _MemberLogOffObj.SetActive(false);
                }

                System.TimeSpan timeresult = TimeManager.Instance.GetServerTime() - m_MemberInfo.kLastLogonTime.GetDateTime();
                if (timeresult.Days > 0)
                {
                    // 6589    {0} 일 전.
                    m_LastConnectLabel.text = string.Format(StringTableManager.GetData(6589), timeresult.Days);
                }
                else if (timeresult.Hours > 0)
                {
                    // 6590    {0} 시간 전.
                    m_LastConnectLabel.text = string.Format(StringTableManager.GetData(6590), timeresult.Hours);
                }
                else
                {
                    // 6591    {0} 시간 미만.
                    m_LastConnectLabel.text = string.Format(StringTableManager.GetData(6591), "1");
                }
            }
        }

        if (m_MemberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_Captain)
        {
            m_CaptainCrown.gameObject.SetActive(true);
        }
        else if (m_MemberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_SubCaptain || m_MemberInfo.kMemberState == _enGuildMemberState.eGuildMemberState_AbleSubCaptain)
        {
            m_SubCaptainCrown.gameObject.SetActive(true);
        }

        bool IsMine = false;        // 내 캐릭인지

        if (m_MemberInfo.kCharNo == UserInfo.Instance.CharNo)
        {
            m_BgMeSprite.gameObject.SetActive(true);
            IsMine = true;
        }

        SetButton(type, m_MemberInfo.kMemberState, IsMine);
    }