using ET; using FairyGUI; using UI.RoleInfo; namespace GFGGame { public class RoleInfoView : BaseWindow { private UI_RoleInfoUI _ui; public override void Dispose() { if (_ui != null) { _ui.Dispose(); } _ui = null; base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_RoleInfoUI.PACKAGE_NAME; _ui = UI_RoleInfoUI.Create(); this.viewCom = _ui.target; isfullScreen = true; _ui.m_txtVersion.text = GameGlobal.version; _ui.m_txtSlogan.maxLength = GlobalCfgArray.globalCfg.maxSloganWordsCount; _ui.m_btnHelp.onClick.Add(OnClickBtnHelp); _ui.m_txtSlogan.onFocusOut.Add(OnFocuseOut); _ui.m_loaChangeName.onClick.Add(OnClickLoaChangeName); _ui.m_btnBack.onClick.Add(OnBtnBackClick); _ui.m_btnFieldGuide.onClick.Add(OnBtnFieldGuideClick); _ui.m_btnSkill.onClick.Add(OnBtnSkillClick); _ui.m_btnSetting.onClick.Add(OnBtnSettingClick); _ui.m_comHead.target.onClick.Add(OnComHeadClick); _ui.m_list.itemRenderer = RenderListItem; _ui.m_list.onClickItem.Add(OnListItemClick); _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("xc_bjbj"); } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.CHANGE_ROLE_NAME, UpdateRoleName); EventAgent.AddEventListener(ConstMessage.CHANGE_ROLE_HEAD, UpdateHead); } protected override void OnShown() { base.OnShown(); _ui.m_txtRoleName.text = RoleDataManager.roleName; _ui.m_txtLvl.text = "" + GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl); RoleLevelCfg roleLevelCfg = RoleLevelCfgArray.Instance.GetCfg(GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl)); if (roleLevelCfg.exp > 0) { _ui.m_txtExp.text = string.Format("{0}/{1}", GameGlobal.myNumericComponent.GetAsInt(NumericType.Exp), roleLevelCfg.exp); } else { _ui.m_txtExp.text = "已满级"; } _ui.m_txtSlogan.text = RoleDataManager.slogan; _ui.m_btnFieldGuide.title = string.Format("收集度:{0}%", RoleInfoManager.Instance.GetGuideProgress()); _ui.m_list.numItems = RoleInfoManager.Instance.photoDatas.Count; UpdateHead(); } protected override void OnHide() { base.OnHide(); } private void OnBtnBackClick() { ViewManager.GoBackFrom(typeof(RoleInfoView).FullName); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.CHANGE_ROLE_NAME, UpdateRoleName); EventAgent.AddEventListener(ConstMessage.CHANGE_ROLE_HEAD, UpdateHead); } private void UpdateRoleName() { _ui.m_txtRoleName.text = RoleDataManager.roleName; } private void UpdateHead() { ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(RoleDataManager.headId); _ui.m_comHead.m_loaIcon.url = ResPathUtil.GetHeadPath(headCfg.res); ItemCfg headBorderCfg = ItemCfgArray.Instance.GetCfg(RoleDataManager.headBorderId); _ui.m_comHead.m_loaBorder.url = ResPathUtil.GetHeadBorderPath(headBorderCfg.res); } private void RenderListItem(int index, GObject obj) { long pictureId = RoleInfoManager.Instance.photoDatas[index]; PoemPhotoData poemPhotoData = pictureId == 0 ? null : PoemPhotoDataManager.Instance.GetPersonalPhotoDataById(pictureId); UI_ListPhotoItem item = UI_ListPhotoItem.Proxy(obj); item.m_comPhoto.m_loaPhoto.texture = poemPhotoData == null ? null : poemPhotoData.Ntexture; item.target.data = index; UI_ListPhotoItem.ProxyEnd(); } private void OnListItemClick(EventContext context) { GObject obj = context.data as GObject; int index = (int)obj.data; ViewManager.Show(null, new object[] { typeof(RoleInfoView).FullName, index }); this.Hide(); } private void OnClickBtnHelp() { if (GameConfig.showGM >= 1) { ViewManager.Show(ViewName.GM_PANEL_VIEW); } else { ViewManager.Show(ViewName.LOG_VIEW); } } private async void OnFocuseOut() { _ui.m_txtSlogan.text = await RoleInfoSProxy.ReqModifySlogan(_ui.m_txtSlogan.text); } private void OnClickLoaChangeName() { ViewManager.Show(null, new object[] { typeof(RoleInfoView).FullName, this.viewData }); } private void OnBtnFieldGuideClick() { this.Hide(); ViewManager.Show(null, new object[] { typeof(RoleInfoView).FullName, this.viewData }); } private void OnBtnSkillClick() { ViewManager.Show(null, new object[] { typeof(RoleInfoView).FullName, this.viewData }); } private void OnBtnSettingClick() { ViewManager.Show(null, new object[] { typeof(RoleInfoView).FullName, this.viewData }); } private void OnComHeadClick() { ViewManager.Show(null, new object[] { typeof(RoleInfoView).FullName, this.viewData }); } } }