using System; using System.Collections.Generic; using System.Text; using Games.GlobeDefine; using GCGame; using GCGame.Table; using Module.Log; using UnityEngine; using UnityEngine.UI; public class RoleViewLogic : MonoBehaviour { private static RoleViewLogic m_Instance; public UITagPanel _TagPanel; public static RoleViewLogic Instance() { return m_Instance; } private void OnEnable() { m_Instance = this; _TagPanel.ShowPage(0); OnAttrPage(0); InitServerLevel(); HideToggleMark(0); UpdateModel(); } private void OnDestroy() { m_Instance = null; } public void OnTagPage(int page) { switch (page) { case 0: OnAttrPage(0); break; case 1: InitJifenPanel(); break; } HideToggleMark(page); } public void HideToggleMark(int _Index) { for (var index = 0; index < bgList.Count; index++) { bgList[index].SetActive(index == _Index ? false : true); markList[index].SetActive(index == _Index ? true : false); } } public void CloseWindow() { UIManager.CloseUI(UIInfo.RoleView); } #region 快捷加血加蓝道具 public void MyAutoBtnClick() { UIManager.ShowUI(UIInfo.AutoUseMedicPanel); } #endregion #region Toggle public List bgList; public List markList; #endregion #region Attrs public enum RoleViewSimple { LEVEL, //等级 PROFESSION, //职业 ABILITYLEVEL, //修为 CURHP, //血量 CURMP, // MAXHP, //血上限 0 MAXMP, //蓝上限 MAXXP, //战意上限 PYSATTACK, //物理攻击 MAGATTACK, //魔法攻击 PYSDEF, //物理防御 MAGDEF, //魔法防御 HIT, //命中 DODGE, //闪避 CRITICAL, //暴击 DECRITICAL, //爆抗 STRIKE, //穿透 DUCTICAL, //韧性 CRITIADD, //暴击伤害加成 CRITIMIS, //暴击伤害减免 INGDEF, //无视防御 REDUCEDAM, //伤害减免 MOVESPEED, //移动速度 ATTACKSPEED, //攻击速度 CUREAMOUNT, //治疗量 CONSTITU, //体质 MORFIB, //精力 STRENGTH, //力量 INTELLENG, //智力 AGILE //敏捷 } public enum RoleViewDetail { MAXHP, //血上限 0 MAXMP, //蓝上限 MAXXP, //战意上限 PYSATTACK, //物理攻击 MAGATTACK, //魔法攻击 PYSDEF, //物理防御 MAGDEF, //魔法防御 HIT, //命中 DODGE, //闪避 CRITICAL, //暴击 DECRITICAL, //爆抗 STRIKE, //穿透 DUCTICAL, //韧性 CRITIADD, //暴击伤害加成 CRITIMIS, //暴击伤害减免 INGDEF, //无视防御 REDUCEDAM, //伤害减免 MOVESPEED, //移动速度 ATTACKSPEED, //攻击速度 CUREAMOUNT, //治疗量 CONSTITU, //体质 MORFIB, //精力 STRENGTH, //力量 INTELLENG, //智力 AGILE, //敏捷 DIZZYENHANCE, //眩晕增强 DIZZYEDEF, //眩晕抗性 SILENTENHANCE, //沉默增强 SILENTDEF, //沉默抗性 IMMOBENHANCE, //定身 IMMOBDEF, //抗定身 REPELENHANCE, //击退增强 REPELDEF, //抗击退 POLYMORPHENHANCE, //变羊增强 POLYMORPHDEF, //抗变羊 HMENHANCE, //昏迷增强 HMDEF, //抗昏迷 SMENHANCE, //失明增强 SMDEF, //抗失明 SHENHANCE, //石化增强 SHDEF, //抗石化 DGDEF, //电抗 DGIGNDEF, //忽视电抗 HUOGDEF, //火抗 HUOGIGNDEF, //忽视火炕 DUGDEF, //毒抗 DUGIGNDEF, //忽视毒抗 BGDEF, //冰抗 BGIGNDEF, //忽视冰抗 FGDEF, //风抗 FGIGNDEF, //忽视风抗 GGDEF, //光抗 GGIGNDEF, //忽视光抗 HUANGDEF, // 抗幻弓 HUANGIFNDEF, //忽视幻抗 HLDEF, // 抗混乱 HLIGNDEF, //忽视幻抗 HLENCHANCE, //混乱增强 PKVAL, //PK值 ACTVAL, //活力值 LUCKYVAL, //幸运值 DGATTACK, //点攻 HUOATTACK, //火攻 DUGATTACK, //毒攻 BGATTACK, //冰攻 FGATTACK, //风攻 GGATTACK, //光攻 HUANGATTACK, //幻攻 VOCDAMAGERATE_TianJi, // 对天机伤害提升比 VOCDAMAGERATE_LiuShan, // 对六扇伤害提升比 VOCDAMAGERATE_ShuShan, // 对蜀山伤害提升比 VOCDAMAGERATE_XuanNv, // 对玄女伤害提升比 HEADEXP, //迎头经验 LEVEL, //等级 PROFESSION, //职业 ABILITYLEVEL, //修为 CURHP, //血量 CURMP // 当前法力 } #endregion Attrs #region Attr Panel public Text m_NameLabel; public Text m_TitleLabel; public Text m_CombatValueLable; public Text m_LevelValueLable; public Text m_GUIDValueLable; public Text m_HPValueLable; public Text m_MPValueLable; public Text m_ExpValueLable; public Text m_ExExpValueLable; public Slider m_HPSprite; public Slider m_HP2Sprite; public Slider m_MPSprite; public Slider m_ExpSprite; public Slider m_OffLineExpSprite; public Text _RoleLevel; public Text _CapLevel; public UIContainerBase _SimpleAttrs; public AttrDescPanel _AttrDescPanel; public UIContainerBase _DetailMainAttrs; public UIContainerBase _DetailBaseAttrs; public UIContainerBase _DetailSpecilAttrs; public UIContainerBase _DetailEffectAttrs; public UIContainerBase _DetailExAttrs; public UICameraTexture _UICameraTexture; private bool m_bIsNeedUpdateSimpleAttr = true; private bool m_bIsNeedUpdateDetailAttr = true; private string m_GUIDStr; public List _PanelList; public List _MarkIconList; public int curSelectPage = -1; public void OnAttrPage(int page) { curSelectPage = page; for (var index = 0; index < _PanelList.Count; index++) { _MarkIconList[index].SetActive(index == page); _PanelList[index].SetActive(page == index); } switch (page) { case 0: ReqSimpleAttr(); break; case 1: ReqDetailAttr(); break; } } public void ReqSimpleAttr() { // 发包请求数据 var _mainPlayer = Singleton.GetInstance().MainPlayer; //if (_mainPlayer != null && m_bIsNeedUpdateSimpleAttr) //战斗力不相同时 才去重新发包请求最新数据 { var askPak = (CG_ASK_ROLE_DATA) PacketDistributed.CreatePacket(MessageID.PACKET_CG_ASK_ROLE_DATA); askPak.SetUserguid(_mainPlayer.GUID); askPak.SetDatatype(0); askPak.SendPacket(); m_bIsNeedUpdateSimpleAttr = false; } UpdateModel(); } public void ReqDetailAttr() { // 发包请求数据 var _mainPlayer = Singleton.GetInstance().MainPlayer; //if (_mainPlayer != null && m_bIsNeedUpdateDetailAttr) //战斗力不相同时 才去重新发包请求最新数据 { var askPak = (CG_ASK_ROLE_DATA) PacketDistributed.CreatePacket(MessageID.PACKET_CG_ASK_ROLE_DATA); askPak.SetUserguid(_mainPlayer.GUID); askPak.SetDatatype(1); askPak.SendPacket(); m_bIsNeedUpdateDetailAttr = false; } UpdateModel(); } public void OnCombatChange() { m_bIsNeedUpdateDetailAttr = true; if (_TagPanel.GetShowingPage() == 0) { // 战斗力发生变化 重新发包请求最新数据 var _mainPlayer = Singleton.GetInstance().MainPlayer; if (_mainPlayer != null) { var askPak = (CG_ASK_ROLE_DATA) PacketDistributed.CreatePacket(MessageID.PACKET_CG_ASK_ROLE_DATA); askPak.SetUserguid(_mainPlayer.GUID); askPak.SendPacket(); m_bIsNeedUpdateDetailAttr = false; } } } public void UpdateRoleDataPacket(GC_RET_ROLE_DATA packet) { var _mainPlayer = Singleton.GetInstance().MainPlayer; _RoleLevel.text = _mainPlayer.BaseAttr.Level + ""; var attrList = new List(); if (packet.Datatype == 0) { // 基础属性 attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.CONSTITU, packet.propList[(int) RoleViewSimple.CONSTITU])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.MORFIB, packet.propList[(int) RoleViewSimple.MORFIB])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.STRENGTH, packet.propList[(int) RoleViewSimple.STRENGTH])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.INTELLENG, packet.propList[(int) RoleViewSimple.INTELLENG])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.AGILE, packet.propList[(int) RoleViewSimple.AGILE])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.MAXHP, packet.propList[(int) RoleViewSimple.MAXHP])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.MAXMP, packet.propList[(int) RoleViewSimple.MAXMP])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.PYSATTACK, packet.propList[(int) RoleViewSimple.PYSATTACK])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.MAGATTACK, packet.propList[(int) RoleViewSimple.MAGATTACK])); attrList.Add( new RoleViewAttrPair.AttrPair(PropID.PropertyID.HIT, packet.propList[(int) RoleViewSimple.HIT])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.LEVEL, packet.propList[(int) RoleViewSimple.LEVEL])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.CUREAMOUNT, packet.propList[(int)RoleViewSimple.CUREAMOUNT])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.PYSDEF, packet.propList[(int) RoleViewSimple.PYSDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.MAGDEF, packet.propList[(int) RoleViewSimple.MAGDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DODGE, packet.propList[(int) RoleViewSimple.DODGE])); _SimpleAttrs.InitContentItem(attrList, null, null, OnAttrClick); } else { // 重要/主要属性 attrList.Clear(); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.PROPUSER_EXP, _mainPlayer.BaseAttr.Exp)); //Tab_LevelUp curTabLevelup = TableManager.GetLevelUpByID(_mainPlayer.BaseAttr.Level, 0); //if (curTabLevelup != null) //{ // var maxExp = long.Parse(curTabLevelup.ExpNeed); // attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.LEVEL_UP_EXP, maxExp)); //} //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.ACTVAL, packet.propList[(int)RoleViewDetail.ACTVAL])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.PKVAL, packet.propList[(int) RoleViewDetail.PKVAL])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.LUCKYVAL, packet.propList[(int) RoleViewDetail.LUCKYVAL])); _DetailMainAttrs.InitContentItem(attrList, null, null, OnAttrClick); // 基础属性 attrList.Clear(); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.MAXHP, packet.propList[(int) RoleViewDetail.MAXHP])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.MAXMP, packet.propList[(int) RoleViewDetail.MAXMP])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.PYSATTACK, packet.propList[(int) RoleViewDetail.PYSATTACK])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.MAGATTACK, packet.propList[(int) RoleViewDetail.MAGATTACK])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.CUREAMOUNT, packet.propList[(int)RoleViewDetail.CUREAMOUNT])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.PYSDEF, packet.propList[(int) RoleViewDetail.PYSDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.MAGDEF, packet.propList[(int) RoleViewDetail.MAGDEF])); attrList.Add( new RoleViewAttrPair.AttrPair(PropID.PropertyID.HIT, packet.propList[(int) RoleViewDetail.HIT])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DODGE, packet.propList[(int) RoleViewDetail.DODGE])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.CRITICAL, packet.propList[(int) RoleViewDetail.CRITICAL])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DECRITICAL, packet.propList[(int) RoleViewDetail.DECRITICAL])); _DetailBaseAttrs.InitContentItem(attrList, null, null, OnAttrClick); // 特殊属性 attrList.Clear(); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.STRIKE, packet.propList[(int) RoleViewDetail.STRIKE])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DUCTICAL, packet.propList[(int) RoleViewDetail.DUCTICAL])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.CRITIADD, packet.propList[(int) RoleViewDetail.CRITIADD])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.CRITIMIS, packet.propList[(int) RoleViewDetail.CRITIMIS])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.INGDEF, packet.propList[(int) RoleViewDetail.INGDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.REDUCEDAM, packet.propList[(int) RoleViewDetail.REDUCEDAM])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.VOCDAMAGERATE, CharacterDefine.PROFESSION.TIANJI, packet.propList[(int) RoleViewDetail.VOCDAMAGERATE_TianJi])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.VOCDAMAGERATE, CharacterDefine.PROFESSION.LIUSHAN, packet.propList[(int) RoleViewDetail.VOCDAMAGERATE_LiuShan])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.VOCDAMAGERATE, CharacterDefine.PROFESSION.SHUSHAN, packet.propList[(int) RoleViewDetail.VOCDAMAGERATE_ShuShan])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.VOCDAMAGERATE, CharacterDefine.PROFESSION.XUANNV, packet.propList[(int) RoleViewDetail.VOCDAMAGERATE_XuanNv])); _DetailSpecilAttrs.InitContentItem(attrList, null, null, OnAttrClick); // 效果属性 attrList.Clear(); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DIZZYENHANCE, packet.propList[(int) RoleViewDetail.DIZZYENHANCE])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DIZZYEDEF, packet.propList[(int) RoleViewDetail.DIZZYEDEF])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.SILENTENHANCE, packet.propList[(int)RoleViewDetail.SILENTENHANCE])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.SILENTDEF, packet.propList[(int)RoleViewDetail.SILENTDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.IMMOBENHANCE, packet.propList[(int) RoleViewDetail.IMMOBENHANCE])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.IMMOBDEF, packet.propList[(int) RoleViewDetail.IMMOBDEF])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.REPELENHANCE, packet.propList[(int)RoleViewDetail.REPELENHANCE])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.REPELDEF, packet.propList[(int)RoleViewDetail.REPELDEF])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.POLYMORPHENHANCE, packet.propList[(int)RoleViewDetail.POLYMORPHENHANCE])); // attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.POLYMORPHDEF, packet.propList[(int)RoleViewDetail.POLYMORPHDEF])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HMENHANCE, packet.propList[(int)RoleViewDetail.HMENHANCE])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HMDEF, packet.propList[(int)RoleViewDetail.HMDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.SMENHANCE, packet.propList[(int) RoleViewDetail.SMENHANCE])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.SMDEF, packet.propList[(int) RoleViewDetail.SMDEF])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.SHENHANCE, packet.propList[(int)RoleViewDetail.SHENHANCE])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.SHDEF, packet.propList[(int)RoleViewDetail.SHDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HLENHANCE, packet.propList[(int) RoleViewDetail.HLENCHANCE])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HLDEF, packet.propList[(int) RoleViewDetail.HLDEF])); _DetailEffectAttrs.InitContentItem(attrList, null, null, OnAttrClick); // 元素属性 attrList.Clear(); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DGDEF, packet.propList[(int) RoleViewDetail.DGDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DGIGNDEF, packet.propList[(int) RoleViewDetail.DGIGNDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HUOGDEF, packet.propList[(int) RoleViewDetail.HUOGDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HUOGIGNDEF, packet.propList[(int) RoleViewDetail.HUOGIGNDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DUGDEF, packet.propList[(int) RoleViewDetail.DUGDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DUGIGNDEF, packet.propList[(int) RoleViewDetail.DUGIGNDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.BGDEF, packet.propList[(int) RoleViewDetail.BGDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.BGIGNDEF, packet.propList[(int) RoleViewDetail.BGIGNDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.FGDEF, packet.propList[(int) RoleViewDetail.FGDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.FGIGNDEF, packet.propList[(int) RoleViewDetail.FGIGNDEF])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.GGDEF, packet.propList[(int)RoleViewDetail.GGDEF])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.GGIGNDEF, packet.propList[(int)RoleViewDetail.GGIGNDEF])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HUANGDEF, packet.propList[(int)RoleViewDetail.HUANGDEF])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HUANGIFNDEF, packet.propList[(int)RoleViewDetail.HUANGIFNDEF])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DUGATTACK, packet.propList[(int) RoleViewDetail.DUGATTACK])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HUOATTACK, packet.propList[(int) RoleViewDetail.HUOATTACK])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.BGATTACK, packet.propList[(int) RoleViewDetail.BGATTACK])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.DGATTACK, packet.propList[(int) RoleViewDetail.DGATTACK])); attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.FGATTACK, packet.propList[(int) RoleViewDetail.FGATTACK])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.GGATTACK, packet.propList[(int)RoleViewDetail.GGATTACK])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HUANGATTACK, packet.propList[(int)RoleViewDetail.HUANGATTACK])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HLDEF, packet.propList[(int)RoleViewDetail.HLDEF])); //attrList.Add(new RoleViewAttrPair.AttrPair(PropID.PropertyID.HUANGIFNDEF, packet.propList[(int)RoleViewDetail.HLIGNDEF])); _DetailExAttrs.InitContentItem(attrList, null, null, OnAttrClick); } } // 属性点击回调,显示属性说明 public void OnAttrClick(UIBase attrInfoItem) { if (attrInfoItem != null) { var selectAttr = attrInfoItem as RoleViewAttrPair; if (selectAttr != null) { var info = selectAttr._InitInfo as RoleViewAttrPair.AttrPair; if (info != null) _AttrDescPanel.ShowAttr((int) info._PropID, selectAttr.transform); } } } public void UpdateAttrRightView() { //战斗力 //m_CombatValueLable.text = m_nCombatValue.ToString(); //等级 //m_LevelValueLable.text = m_nLevel.ToString(); //职业名 var _mainPlayer = Singleton.GetInstance().MainPlayer; //name m_NameLabel.text = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.RoleName; //title m_TitleLabel.text = GameManager.gameManager.PlayerDataPool.TitleInvestitive.GetCurrentTitle(); //GUID m_GUIDStr = Utils.GetPlayerStringGuid(); m_GUIDValueLable.text = StrDictionary.GetClientDictionaryString("#{6740}", m_GUIDStr); //血 m_HPValueLable.text = string.Format("{0}/{1}/{2}", Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.HP), Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.MaxHP), Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.CurMaxHP)); m_HPSprite.value = _mainPlayer.BaseAttr.HP / (float) _mainPlayer.BaseAttr.MaxHP; m_HP2Sprite.value = _mainPlayer.BaseAttr.MaxHP / (float) _mainPlayer.BaseAttr.CurMaxHP; //蓝 m_MPValueLable.text = string.Format("{0}/{1}", Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.MP), Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.MaxMP)); m_MPSprite.value = _mainPlayer.BaseAttr.MP / (float) _mainPlayer.BaseAttr.MaxMP; //经验 var curTabLevelup = TableManager.GetLevelUpByID(_mainPlayer.BaseAttr.Level); if (null == curTabLevelup) return; var maxExp = long.Parse(curTabLevelup.ExpNeed); m_ExpValueLable.text = string.Format("{0}/{1}", Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.Exp), Utils.ConvertLargeNumToString(maxExp)); m_ExpSprite.value = _mainPlayer.BaseAttr.Exp / (float) maxExp; m_ExExpValueLable.text = Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.HeadExp); //UpdateLevelBtn(); } private string DecimalToTwentySixSB(int num) { var result = new StringBuilder(); while (num > 0) { var remainder = num % 26; result.Append((char) (remainder + 97)); //A -> 65 num /= 26; } for (var index = 0; index < result.Length / 2; index++) { var temp = result[index]; result[index] = result[result.Length - index - 1]; result[result.Length - index - 1] = temp; } var str = result.ToString(); return str; } public void UpdateCurAttr() { var _mainPlayer = Singleton.GetInstance().MainPlayer; if (_mainPlayer != null) { //血 m_HPValueLable.text = string.Format("{0}/{1}/{2}", Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.HP), Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.MaxHP), Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.CurMaxHP)); m_HPSprite.value = _mainPlayer.BaseAttr.HP / (float) _mainPlayer.BaseAttr.MaxHP; m_HP2Sprite.value = _mainPlayer.BaseAttr.MaxHP / (float) _mainPlayer.BaseAttr.CurMaxHP; //蓝 m_MPValueLable.text = string.Format("{0}/{1}", Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.MP), Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.MaxMP)); m_MPSprite.value = _mainPlayer.BaseAttr.MP / (float) _mainPlayer.BaseAttr.MaxMP; //经验 var curTabLevelup = TableManager.GetLevelUpByID(_mainPlayer.BaseAttr.Level); if (null == curTabLevelup) return; var maxExp = long.Parse(curTabLevelup.ExpNeed); m_ExpValueLable.text = string.Format("{0}/{1}", Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.Exp), Utils.ConvertLargeNumToString(maxExp)); m_ExpSprite.value = _mainPlayer.BaseAttr.Exp / (float) maxExp; m_ExExpValueLable.text = Utils.ConvertLargeNumToString(_mainPlayer.BaseAttr.HeadExp); //UpdateLevelBtn(); } } public void UpdateModel() { var mainPlayer = Singleton.GetInstance().MainPlayer; if (mainPlayer == null) return; _UICameraTexture.InitPlayerModel(mainPlayer); //新增 禁用升级按钮 //_BtnLevelUp.enabled = false; } #endregion #region title public void OnTitleClick() { UIManager.ShowUI(UIInfo.TitleView); } public void OnBtnCopyGuid() { CommonUtility.ToCopyClip(m_GUIDStr); } public void AfterLoadTitleItem() { } #endregion #region jifen public UIContainerBase _JifenShops; public void InitJifenPanel() { var jifenInfos = new List(); //获取全部的积分信息 var m_AllRoleIntegral = TableManager.GetRoleIntegral().Values; foreach (var roleIntegral in m_AllRoleIntegral) { var jifenInfo = new RoleViewJifenItem.JifenInfo(); jifenInfo.name = roleIntegral.IntegralName; jifenInfo.IntegralShopId = roleIntegral.IntegralShopId; var shop = TableManager.GetSystemShopByID(roleIntegral.IntegralShopId); if (shop != null) { var curConsumeType = shop.GetMoneyTypebyIndex(0); var consumeSubType = shop.GetMoneySubTypebyIndex(0); switch (curConsumeType) { case (int) CONSUM_TYPE.MONEY: { switch (consumeSubType) { case (int) MONEYTYPE.MONEYTYPE_COIN: jifenInfo.value = GameManager.gameManager.PlayerDataPool.Money.GetMoney_Coin(); break; case (int) MONEYTYPE.MONEYTYPE_YUANBAO: jifenInfo.value = GameManager.gameManager.PlayerDataPool.Money.GetMoney_YuanBao(); break; case (int) MONEYTYPE.MONEYTYPE_YUANBAO_BIND: jifenInfo.value = GameManager.gameManager.PlayerDataPool.Money.GetMoney_YuanBaoBind(); break; case (int) MONEYTYPE.MONEYTYPE_COIN_BIND: jifenInfo.value = GameManager.gameManager.PlayerDataPool.Money.GetMoney_CoinBind(); break; case (int) MONEYTYPE.MONEYTYPE_USERCHALLENGE: jifenInfo.value = GameManager.gameManager.PlayerDataPool.Money.GetMoney_ChallengeScore(); break; case (int) MONEYTYPE.MONEYTYPE_SNATCHSCORE: jifenInfo.value = GameManager.gameManager.PlayerDataPool.Money.GetMoney_SnatchScore(); break; } } break; case (int) CONSUM_TYPE.PROPVAL: jifenInfo.value = GameManager.gameManager.PlayerDataPool.GetPropInt((PropID.PropertyID) consumeSubType); break; case (int) CONSUM_TYPE.SCORE: if ((int) SCORE_TYPE.GUILD_SCORE == consumeSubType) jifenInfo.value = GameManager.gameManager.PlayerDataPool.GuildInfo.GuildContribute; break; } } else { jifenInfo.value = 0; } jifenInfo.shopId = roleIntegral.IntegralShopId; jifenInfo.icon = roleIntegral.IntegralIcon; //jifenInfo.dayValue = roleIntegral.Value[0].IntegralDayLimit; //需要同步已经兑换的次数 //jifenInfo.dayMax = roleIntegral.Value[0].IntegralDayLimit; //每天限制兑换的次数 jifenInfos.Add(jifenInfo); } _JifenShops.InitContentItem(jifenInfos); } #endregion #region Server level public Button _BtnLevelUp; private bool _IsMaxLvCap; private int _CurLvCap = 69; private int _CurLvExBuff; private DateTime _NextLvCapRemain; private int _LevelCap = 0; private int _nextlvlcapremain; private void InitServerLevel() { var packet = (CG_REQ_SERVER_LVL_CAP) PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_SERVER_LVL_CAP); packet.Noparam = 1; packet.SendPacket(); //UpdateLevelBtn(); } //public NewRanlnfoItem NewRanlnfoItem; public void UpdateServerLevel(GC_RET_SERVER_LVL_CAP packet) { _IsMaxLvCap = packet.Ismaxlvlcap > 0; _CurLvCap = packet.Curlvlcap; _CapLevel.text = _CurLvCap + ""; //_LevelCap = packet.nextlvlcapremain; _nextlvlcapremain = packet.Nextlvlcapremain; _CurLvExBuff = packet.Myexpbuff; LogModule.DebugLog("packet.Nextlvlcapremain:" + packet.Nextlvlcapremain); LogModule.DebugLog("server time:" + GlobalData.ServerAnsiTime); _NextLvCapRemain = Utils.GetServerDateTime(packet.Nextlvlcapremain); } //public void UpdateLevelBtn() //{ ////隐藏升级按钮 //if (_BtnLevelUp.isActiveAndEnabled) // _BtnLevelUp.gameObject.SetActive(false); //Tab_LevelUp curTabLevelup = TableManager.GetLevelUpByID(GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level, 0); //if (null == curTabLevelup) //{ // return; //} //var maxExp = long.Parse(curTabLevelup.ExpNeed); //if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Exp < maxExp) // _BtnLevelUp.gameObject.SetActive(false); //else // _BtnLevelUp.gameObject.SetActive(true); //} public void OnBtnServerLvClick() { #region 废弃代码 //string serverTip = StrDictionary.GetClientDictionaryString("#{4800}", _CurLvExBuff, _CurLvCap, _nextlvlcapremain + ""); //MessageBoxLogic.OpenOKBox(serverTip); //List LevelCapList = new List(); //foreach (var serverLv in TableManager.GetServerLvlCap().Values) //{ // LevelCapList.Add(serverLv.LevelCap); // Debug.LogError(GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level + " 是玩家当前等级吗?"); // if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level <= LevelCapList[0]) // { // Debug.LogError(LevelCapList[0] + " 是 89 吗?"); // } // string serverTip = StrDictionary.GetClientDictionaryString("#{4800}", _CurLvExBuff, _CurLvCap, serverLv.LevelCap + ""); // MessageBoxLogic.OpenOKBox(serverTip); //} #endregion if (_nextlvlcapremain < 50) { var serverTip = StrDictionary.GetClientDictionaryString("#{4801}", _CurLvExBuff, _CurLvCap); MessageBoxLogic.OpenOKBox(serverTip); } else { //string dataTime = string.Format("{0:yyyy年MM月dd日 HH:mm}", _NextLvCapRemain); var serverTip = StrDictionary.GetClientDictionaryString("#{4800}", _CurLvExBuff, _CurLvCap, _nextlvlcapremain + 1 + ""); MessageBoxLogic.OpenOKBox(serverTip); } } #region 手动升级 废弃 /// /// 手动升级 /// //public void OnBtnLevelUp() //{ // Tab_LevelUp curTabLevelup = TableManager.GetLevelUpByID(GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level, 0); // if (null == curTabLevelup) // { // return; // } // var nextLevelNeedExp = long.Parse(curTabLevelup.ExpNeed); // var hasFind = false; // foreach (var serverLv in TableManager.GetServerLvlCap().Values) // { // if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level == serverLv.LevelCap - 1) // { // hasFind = true; // if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Exp < nextLevelNeedExp) // { // GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{4807}")); // return; // } // MessageBoxLogic.OpenOKCancelBox(serverLv.GetLvUpStrbyIndex(0), "", OnBtnLevelUpOk); // return; // } // else if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level == serverLv.LevelCap) // { // hasFind = true; // if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Exp < nextLevelNeedExp) // { // GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{4807}")); // return; // } // MessageBoxLogic.OpenOKCancelBox(serverLv.GetLvUpStrbyIndex(1), "", OnBtnLevelUpOk); // return; // } // } // //没有达到封印等级提示 // if (!hasFind) // GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{4806}")); //} #endregion public void OnBtnLevelUpOk() { var packet = (CG_REQ_LVL_UP) PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_LVL_UP); packet.Noparam = 1; packet.SendPacket(); } public void OnBtnHelp(int helpMsgID) { MessageHelpLogic.ShowHelpMessage(helpMsgID); } #endregion }