少年修仙传客户端代码仓库
lcy
2024-12-16 a39c35fc6449430cd02bccb681c4a0a880e46cd9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, October 24, 2017
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
 
namespace vnxbqy.UI
{
 
    public class TeammateInteractPanel : MonoBehaviour
    {
 
        [SerializeField] Button m_ViewBaseInfo;
        [SerializeField] Button m_AddFriend;
        [SerializeField] Button m_SetCaptainer;
        [SerializeField] Button m_AddFairy;
        [SerializeField] Button m_Chat;
 
        int playerId = 0;
        public event Action<bool> activeOrDeActiveEvent;
 
        TeamModel model { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
        FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel<FriendsModel>(); } }
 
        public void Init(int _playerId)
        {
            playerId = _playerId;
            var mySelf = _playerId == PlayerDatas.Instance.baseData.PlayerID;
            if (!mySelf)
            {
                var isFriend = friendsModel.GetFirendInfo((uint)_playerId, (int)GroupType.Friend) != null;
                m_AddFriend.SetActive(!isFriend);
 
                var isFairyMember = PlayerDatas.Instance.fairyData.GetMember(_playerId) != null;
                m_AddFairy.SetActive(false);//暂时没有仙盟邀请
 
                m_ViewBaseInfo.SetActive(true);
                m_SetCaptainer.SetActive(model.myTeam.iamCaptainer);
            }
        }
 
        public void UnInit()
        {
 
        }
 
        private void ViewBaseInfo()
        {
            ModelCenter.Instance.GetModel<RoleParticularModel>().ViewRoleEquip(playerId);
            this.SetActive(false);
        }
 
        private void AddFriend()
        {
            friendsModel.OnClickAddFriend((uint)playerId);
            this.SetActive(false);
        }
 
        private void FairyInvite()
        {
            this.SetActive(false);
        }
 
        private void SetCaptainer()
        {
            model.RequestSetCaptainer(playerId);
            this.SetActive(false);
        }
 
        private void Chat()
        {
            Teammate mate;
            if (model.myTeam.TryGetMemberByPlayerId(playerId, out mate))
            {
                if (mate.online)
                {
                    if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Friend))
                    {
                        FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.Friend);
                    }
                    else
                    {
                        var playerId = (uint)mate.id;
                        var playerName = mate.mateName;
                        var job = (byte)mate.job;
                        var face = (int)mate.face;
                        var facePic = (int)mate.facePic;
                        var playerLv = (ushort)mate.level;
                        var realmLv = (ushort)mate.realm;
                        var onLine = mate.online;
 
                        friendsModel.SetPlayerShortInfo(playerId, playerName, job, playerLv, realmLv, (byte)(onLine ? 1 : 0), true);
 
                        WindowCenter.Instance.Close<TeamFrameWin>();
                        WindowCenter.Instance.Open<MainInterfaceWin>();
                    }
                }
                else
                {
                    SysNotifyMgr.Instance.ShowTip("Friend_OffLine");
                }
            }
        }
 
        private void Awake()
        {
            m_ViewBaseInfo.AddListener(ViewBaseInfo);
            m_AddFriend.AddListener(AddFriend);
            m_SetCaptainer.AddListener(SetCaptainer);
            m_AddFairy.AddListener(FairyInvite);
            m_Chat.AddListener(Chat);
        }
 
        private void OnEnable()
        {
            if (activeOrDeActiveEvent != null)
            {
                activeOrDeActiveEvent(true);
            }
        }
 
        private void OnDisable()
        {
            if (activeOrDeActiveEvent != null)
            {
                activeOrDeActiveEvent(false);
            }
        }
 
    }
 
}