少年修仙传客户端代码仓库
client_linchunjie
2018-08-23 522ca3468a56c88cb15eaa428eb7499d3dba386f
System/Team/TeammateBriefInfoBehaviour.cs
@@ -1,101 +1,101 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, October 25, 2017
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class TeammateBriefInfoBehaviour : MonoBehaviour
    {
        [SerializeField] ImageEx m_Icon;
        [SerializeField] Image m_LevelBG;
        [SerializeField] TextEx m_Level;
        [SerializeField] Transform m_Matching;
        TeamModel model { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
        Teammate teammate = null;
        public void Display(Teammate _mate)
        {
            teammate = _mate;
            model.matchingStateChangeEvent -= OnMatchMember;
            model.teammateLevelUpEvent -= OnTeammateLevelUp;
            model.teammateOnOffLineEvent -= OnTeammateOnOffLine;
            if (teammate != null)
            {
                m_Icon.gameObject.SetActive(true);
                m_LevelBG.gameObject.SetActive(true);
                m_Level.gameObject.SetActive(true);
                m_Matching.gameObject.SetActive(false);
                m_Icon.SetSprite(GeneralConfig.Instance.GetOtherJobHeadPortrait(teammate.job, 0));
                m_Icon.gray = !teammate.online;
                var isPickLevel = teammate.level > GeneralConfig.Instance.greatMasterStartLV;
                m_LevelBG.SetSprite(isPickLevel ? "keyNirvana" : "UnNirvana");
                m_Level.text = isPickLevel ? (GeneralConfig.Instance.greatMasterStartLV).ToString() : teammate.level.ToString();
                m_Level.colorType = teammate.id == (int)PlayerDatas.Instance.baseData.PlayerID ? TextColType.Green : TextColType.White;
                model.teammateLevelUpEvent += OnTeammateLevelUp;
                model.teammateOnOffLineEvent += OnTeammateOnOffLine;
            }
            else
            {
                m_LevelBG.gameObject.SetActive(false);
                m_Level.gameObject.SetActive(false);
                m_Icon.gameObject.SetActive(false);
                m_Matching.gameObject.SetActive(model.isMatching);
                model.matchingStateChangeEvent += OnMatchMember;
            }
        }
        public void Dispose()
        {
            teammate = null;
            model.matchingStateChangeEvent -= OnMatchMember;
            model.teammateLevelUpEvent -= OnTeammateLevelUp;
            model.teammateOnOffLineEvent -= OnTeammateOnOffLine;
        }
        private void OnTeammateLevelUp(int _playerId)
        {
            if (teammate == null || teammate.id != _playerId)
            {
                return;
            }
            var isPickLevel = teammate.level > GeneralConfig.Instance.greatMasterStartLV;
            m_LevelBG.SetSprite(isPickLevel ? "keyNirvana" : "UnNirvana");
            m_Level.text = isPickLevel ? (GeneralConfig.Instance.greatMasterStartLV).ToString() : teammate.level.ToString();
            m_Level.colorType = teammate.id == (int)PlayerDatas.Instance.baseData.PlayerID ? TextColType.Green : TextColType.White;
        }
        private void OnTeammateOnOffLine(int _playerId)
        {
            if (teammate == null || teammate.id != _playerId)
            {
                return;
            }
            m_Icon.gray = !teammate.online;
        }
        private void OnMatchMember()
        {
            m_Matching.gameObject.SetActive(model.isMatching);
            m_LevelBG.gameObject.SetActive(false);
            m_Level.gameObject.SetActive(false);
            m_Icon.gameObject.SetActive(false);
        }
    }
}
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, October 25, 2017
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class TeammateBriefInfoBehaviour : MonoBehaviour
    {
        [SerializeField] ImageEx m_Icon;
        [SerializeField] Image m_LevelBG;
        [SerializeField] TextEx m_Level;
        [SerializeField] Transform m_Matching;
        TeamModel model { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
        Teammate teammate = null;
        public void Display(Teammate _mate)
        {
            teammate = _mate;
            model.matchingStateChangeEvent -= OnMatchMember;
            model.teammateLevelUpEvent -= OnTeammateLevelUp;
            model.teammateOnOffLineEvent -= OnTeammateOnOffLine;
            if (teammate != null)
            {
                m_Icon.gameObject.SetActive(true);
                m_LevelBG.gameObject.SetActive(true);
                m_Level.gameObject.SetActive(true);
                m_Matching.gameObject.SetActive(false);
                m_Icon.SetSprite(GeneralConfig.Instance.GetOtherJobHeadPortrait(teammate.job, 0));
                m_Icon.gray = !teammate.online;
                var isPickLevel = teammate.level > GeneralConfig.Instance.greatMasterStartLV;
                m_LevelBG.SetSprite(isPickLevel ? "keyNirvana" : "UnNirvana");
                m_Level.text = isPickLevel ? (GeneralConfig.Instance.greatMasterStartLV).ToString() : teammate.level.ToString();
                m_Level.colorType = teammate.id == (int)PlayerDatas.Instance.baseData.PlayerID ? TextColType.Green : TextColType.White;
                model.teammateLevelUpEvent += OnTeammateLevelUp;
                model.teammateOnOffLineEvent += OnTeammateOnOffLine;
            }
            else
            {
                m_LevelBG.gameObject.SetActive(false);
                m_Level.gameObject.SetActive(false);
                m_Icon.gameObject.SetActive(false);
                m_Matching.gameObject.SetActive(model.isMatching);
                model.matchingStateChangeEvent += OnMatchMember;
            }
        }
        public void Dispose()
        {
            teammate = null;
            model.matchingStateChangeEvent -= OnMatchMember;
            model.teammateLevelUpEvent -= OnTeammateLevelUp;
            model.teammateOnOffLineEvent -= OnTeammateOnOffLine;
        }
        private void OnTeammateLevelUp(int _playerId)
        {
            if (teammate == null || teammate.id != _playerId)
            {
                return;
            }
            var isPickLevel = teammate.level > GeneralConfig.Instance.greatMasterStartLV;
            m_LevelBG.SetSprite(isPickLevel ? "keyNirvana" : "UnNirvana");
            m_Level.text = isPickLevel ? (GeneralConfig.Instance.greatMasterStartLV).ToString() : teammate.level.ToString();
            m_Level.colorType = teammate.id == (int)PlayerDatas.Instance.baseData.PlayerID ? TextColType.Green : TextColType.White;
        }
        private void OnTeammateOnOffLine(int _playerId)
        {
            if (teammate == null || teammate.id != _playerId)
            {
                return;
            }
            m_Icon.gray = !teammate.online;
        }
        private void OnMatchMember()
        {
            m_Matching.gameObject.SetActive(model.isMatching);
            m_LevelBG.gameObject.SetActive(false);
            m_Level.gameObject.SetActive(false);
            m_Icon.gameObject.SetActive(false);
        }
    }
}