using System.Collections.Generic; using MoleMole.Config; using UnityEngine; using UnityEngine.UI; using proto; namespace MoleMole { public class MonoAvatarIcon : MonoBehaviour { private const string _border_path_jixie = "SpriteOutput/AvatarIcon/AvatarAttrJiXie"; private const string _border_path_shengwu = "SpriteOutput/AvatarIcon/AvatarAttrShengWu"; private const string _border_path_yineng = "SpriteOutput/AvatarIcon/AvatarAttrYiNeng"; private AvatarDataItem _avatarData; private bool _isSelected; public static string bg_path_jixie = "SpriteOutput/AvatarIcon/AttrJiXie"; public static string bg_path_shengwu = "SpriteOutput/AvatarIcon/AttrShengWu"; public static string bg_path_yineng = "SpriteOutput/AvatarIcon/AttrYiNeng"; private EndlessAvatarHp _avatarHp; public void SetupView(AvatarDataItem avatarDataItem, bool isSelected, EndlessAvatarHp avatarHP = null) { _avatarData = avatarDataItem; _avatarHp = avatarHP; base.transform.Find("Panel").gameObject.SetActive(false); base.transform.Find("BG").GetComponent().sprite = GetBGSprite(); base.transform.Find("Frame").GetComponent().sprite = GetBorderSprite(); base.transform.Find("Icon").GetComponent().sprite = Miscs.GetSpriteByPrefab(_avatarData.IconPath); base.transform.Find("PopUp").gameObject.SetActive(_avatarData.CanStarUp); base.transform.Find("LockImg").gameObject.SetActive(!_avatarData.UnLocked); List memberList = Singleton.Instance.playerData.GetMemberList((StageType)1); bool active = memberList.Count > 0 && memberList.Contains(_avatarData.avatarID); bool flag = memberList.Count > 0 && _avatarData.avatarID == memberList[0]; base.transform.Find("FlagImg").gameObject.SetActive(active); base.transform.Find("FlagImg").GetComponent().color = ((!flag) ? MiscData.GetColor("TotalWhite") : MiscData.GetColor("Yellow")); base.transform.Find("AvatarStar").gameObject.SetActive(_avatarData.UnLocked); if (_avatarData.UnLocked) { SetAvatarStar(); } base.transform.Find("LvText").GetComponent().text = ((!_avatarData.UnLocked) ? LocalizationGeneralLogic.GetText("Menu_AvatarLocked") : ("Lv." + _avatarData.level)); base.transform.Find("HPRemain").gameObject.SetActive(avatarHP != null); base.transform.Find("Icon").GetComponent().color = MiscData.GetColor("TotalWhite"); base.transform.Find("FlashHint").gameObject.SetActive(false); base.transform.Find("LvText").gameObject.SetActive(true); SetUpAvatarDispatched(Singleton.Instance.IsAvatarDispatched(_avatarData.avatarID)); if (avatarHP != null) { base.transform.Find("HPRemain").GetComponent().SetAvatarHPData(_avatarHp, EndlessAvatarDieCallBack); } SetupSelectedView(isSelected); } public void SetupSelectedView(bool isSelected) { _isSelected = isSelected; base.transform.Find("Button").GetComponent