using System.Collections; using System.Collections.Generic; using MoleMole.Config; using UnityEngine; using UnityEngine.UI; using proto; using Avatar = proto.Avatar; namespace MoleMole { public class AvatarDetailPageContext : BasePageContext { public const string LV_UP_TAB = "LvUpTab"; public const string WEAPON_TAB = "WeaponTab"; public const string STIGMATA_TAB = "StigmataTab"; public const string SKILL_TAB = "SkillTab"; public readonly AvatarDataItem avatarData; public readonly string defaultTab; private TabManager _tabManager; private int _showingSkillId; private MonoAvatarRotatePanel _avatarRotatePanel; private Transform _avatarModel; private bool _skillPopUpVisible; private bool _shouldShowSkillPointExchangeDialog; private AvatarDataItem _avatarBeforeLevelUp; public AvatarDetailPageContext(AvatarDataItem avatarData, string defaultTab = "LvUpTab") { config = new ContextPattern { contextName = "AvatarDetailPageContext", viewPrefabPath = "UI/Menus/Page/AvatarDetailPage" }; showSpaceShip = true; this.avatarData = avatarData; this.defaultTab = defaultTab; _tabManager = new TabManager(); _tabManager.onSetActive += OnTabSetActive; } public override bool OnNotify(Notify ntf) { if (ntf.type == NotifyTypes.SelectAvtarSkillIconChange) { return OnSelectedSkillChanged((int)ntf.body); } if (ntf.type == NotifyTypes.SubSkillStatusCacheUpdate) { return SetupSkillTab(); } if (ntf.type == NotifyTypes.SubSkillStatusCacheUpdate) { return RecordShouldShowSkillPointExchangeDialog(); } if (ntf.type == NotifyTypes.BeforeAvatarLevelUp) { return OnBeforeAvatarLevelUp((AvatarDataItem)ntf.body); } return false; } public override bool OnPacket(NetPacketV1 pkt) { switch (pkt.getCmdId()) { case 25: return OnGetAvatarDataRsp(pkt.getData()); case 30: return OnAvatarStarUpRsp(pkt.getData()); case 36: return OnAddAvatarExpByMaterialRsp(pkt.getData()); case 11: return OnGetMainDataRsp(pkt.getData()); case 55: return OnSkillPointExchangeRsp(pkt.getData()); case 53: return OnGetSkillPointExchangeInfoRsp(pkt.getData()); case 51: return OnAvatarSubSkillLevelUpRsp(pkt.getData()); case 32: return OnEquipmentPowerupRsp(pkt.getData()); default: return false; } } protected override void BindViewCallbacks() { BindViewCallback(base.view.transform.Find("TabBtns/LvUpTabBtn").GetComponent