using System.Collections; 
 | 
using System.Collections.Generic; 
 | 
using UnityEngine; 
 | 
using UnityEngine.UI; 
 | 
  
 | 
/// <summary> 
 | 
/// 公会大厅 成员调整,踢出 
 | 
/// </summary> 
 | 
public class GuildMemberOPCell : CellView 
 | 
{ 
 | 
    [SerializeField] Button kickBtn; 
 | 
    [SerializeField] Button opearteJobBtn; 
 | 
  
 | 
    [SerializeField] Button normalJobBtn; 
 | 
    [SerializeField] Button leaderJobBtn; 
 | 
    [SerializeField] Button viceLeaderJobBtn; 
 | 
    [SerializeField] Button eliteJobBtn; 
 | 
  
 | 
    bool showBtn = false; 
 | 
    public void Display(int index, bool _showBtn) 
 | 
    { 
 | 
        var playerID = PlayerDatas.Instance.fairyData.memberIDList[index]; 
 | 
        var playerInfo = PlayerDatas.Instance.fairyData.GetMember(playerID); 
 | 
        var config = FamilyConfig.Get(PlayerDatas.Instance.fairyData.fairy.FamilyLV); 
 | 
  
 | 
        showBtn = _showBtn; 
 | 
  
 | 
        opearteJobBtn.AddListener(() => 
 | 
        { 
 | 
            showBtn = !showBtn; 
 | 
            UpdateBtn(); 
 | 
        }); 
 | 
  
 | 
        UpdateBtn(); 
 | 
  
 | 
        normalJobBtn.AddListener(() => 
 | 
        { 
 | 
            ChangeFMLV(playerInfo, 0); 
 | 
        }); 
 | 
  
 | 
        eliteJobBtn.AddListener(() => 
 | 
        { 
 | 
            ChangeFMLV(playerInfo, 1); 
 | 
        }); 
 | 
  
 | 
  
 | 
        viceLeaderJobBtn.AddListener(() => 
 | 
        { 
 | 
            if (PlayerDatas.Instance.fairyData.deputyLeaderPlayerIDList.Count >= config.DeputyLeaderMax) 
 | 
            { 
 | 
                SysNotifyMgr.Instance.ShowTip("GuildSys10"); 
 | 
                return; 
 | 
            } 
 | 
            ChangeFMLV(playerInfo, 2); 
 | 
        }); 
 | 
  
 | 
        leaderJobBtn.AddListener(() => 
 | 
        { 
 | 
            if (PlayerDatas.Instance.fairyData.mine.FmLV != 3) 
 | 
                return; 
 | 
            if (playerInfo.FmLV != 2) 
 | 
            { 
 | 
                SysNotifyMgr.Instance.ShowTip("GuildSys12"); 
 | 
                return; 
 | 
            } 
 | 
  
 | 
            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), 
 | 
            Language.Get("Guild_28", playerInfo.Name), (bool isOK) => 
 | 
                { 
 | 
                    if (isOK) 
 | 
                    { 
 | 
                        GuildManager.Instance.SendChangeMemberLV(playerInfo.PlayerID, 3); 
 | 
                        SysNotifyMgr.Instance.ShowTip("GuildSys13"); 
 | 
                        GuildManager.Instance.memberOPIndex = -1; 
 | 
                    } 
 | 
                }); 
 | 
        }); 
 | 
  
 | 
  
 | 
        kickBtn.AddListener(() => 
 | 
        { 
 | 
            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), 
 | 
            Language.Get("Guild_33", playerInfo.Name), (bool isOK) => 
 | 
                { 
 | 
                    if (isOK) 
 | 
                    { 
 | 
                        GuildManager.Instance.KickMember(playerID); 
 | 
                        GuildManager.Instance.memberOPIndex = -1; 
 | 
                    } 
 | 
                }); 
 | 
  
 | 
        }); 
 | 
  
 | 
    } 
 | 
  
 | 
    void UpdateBtn() 
 | 
    { 
 | 
        leaderJobBtn.SetActive(showBtn && PlayerDatas.Instance.fairyData.mine.FmLV == 3); 
 | 
        viceLeaderJobBtn.SetActive(showBtn && PlayerDatas.Instance.fairyData.mine.FmLV == 3); 
 | 
        eliteJobBtn.SetActive(showBtn && PlayerDatas.Instance.fairyData.mine.FmLV >= 2); 
 | 
        normalJobBtn.SetActive(showBtn && PlayerDatas.Instance.fairyData.mine.FmLV >= 2); 
 | 
    } 
 | 
  
 | 
  
 | 
    void ChangeFMLV(FairyMember playerInfo, int lv) 
 | 
    { 
 | 
        if (playerInfo.FmLV == lv) 
 | 
        { 
 | 
            SysNotifyMgr.Instance.ShowTip("GuildSys14"); 
 | 
            return; 
 | 
        } 
 | 
        ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), 
 | 
        Language.Get("Guild_31", playerInfo.Name, lv), (bool isOK) => 
 | 
            { 
 | 
                if (isOK) 
 | 
                { 
 | 
                    GuildManager.Instance.SendChangeMemberLV(playerInfo.PlayerID, lv); 
 | 
                    GuildManager.Instance.memberOPIndex = -1; 
 | 
                } 
 | 
            }); 
 | 
  
 | 
    } 
 | 
} 
 |