public void SetMagicInfo(MagicWeaponInfo _info) { data = _info; //法宝图片 if (magicIcon != null) { EquipmentInfo magicInfo = new EquipmentInfo(_info.MagicId, EquipmentBelongTo.PREVIEW); if (magicInfo != null) { magicIcon.spriteName = magicInfo.IconName; } } if (nameLabel != null) { nameLabel.text = _info.Name; } //法宝名字 if (!_info.EquActive && nameLabel != null && magicIcon != null) { nameLabel.color = Color.gray; magicIcon.IsGray = UISpriteEx.ColorGray.Gray; } else { nameLabel.color = Color.yellow; magicIcon.IsGray = UISpriteEx.ColorGray.normal; } if (toggleTemper.value) { //淬炼标签 if (magicTag != null) { magicTag.text = _info.RefineStageTag; } } else if (toggleAddSoul.value) { //注灵标签 if (magicTag != null) { magicTag.text = _info.AddSoulStageTag; } } }
public void SetMagicAttributeChange(MagicWeaponInfo _info) { data = _info; int attributeNum = 0; //////淬炼 if (toggleTemper.value && _info.EquActive) { promoteButton.gameObject.SetActive(true); addSoulButton.gameObject.SetActive(false); //是否升阶成功 if (oldLev < GameCenter.magicWeaponMng.newRefineLev && isRefinePromote) { isAddLev = true; isRefinePromote = false; } //淬炼升星成功 if (oldStar < GameCenter.magicWeaponMng.newRefineStar && isRefinePromote) { isAddStar = true; isRefinePromote = false; } attributeNum = _info.RefineAttributeType.Count; //淬炼属性 for (int i = 0; i < attributeList.Count; i++) { if (i < _info.RefineAttributeType.Count && attributeList[i] != null) { attributeList[i].text = "[00ff00]" + _info.RefineAttributeType[i] + ":"; attributeList[i].gameObject.SetActive(true); } else { attributeList[i].gameObject.SetActive(false); } } //淬炼属性值 for (int i = 0; i < numList.Count; i++) { if (i < _info.RefineAttributeNum.Count && numList[i] != null) { numList[i].text = "+" + _info.RefineAttributeNum[i]; numList[i].gameObject.SetActive(true); } else { numList[i].gameObject.SetActive(false); } } //淬炼增加的属性数值 for (int i = 0; i < addNumList.Count; i++) { if (i < _info.RefineAddAttribute.Count && _info.RefineAddAttribute[i] >= 0 && addNumList[i] != null) { addNumList[i].text = "+" + _info.RefineAddAttribute[i]; addNumList[i].gameObject.SetActive(true); } else if (i < _info.RefineAddAttribute.Count && _info.RefineAddAttribute[i] < 0) { addNumList[i].text = _info.RefineAddAttribute[i].ToString(); addNumList[i].gameObject.SetActive(true); } else { addNumList[i].gameObject.SetActive(false); } } //战力增加(错误提示) if (_info.RefineAddFightPower > 0 && isAddStar) { MessageST mst = new MessageST(); mst.messID = 28; mst.words = new string[1] { _info.RefineAddFightPower.ToString() }; GameCenter.messageMng.AddClientMsg(mst); isAddStar = false; } else if (isAddStar)//战力减少 { MessageST mst = new MessageST(); mst.messID = 29; mst.words = new string[1] { _info.RefineAddFightPower.ToString() }; GameCenter.messageMng.AddClientMsg(mst); isAddStar = false; } //百分比显示 if (numLabel != null) { numLabel.text = _info.RefineRandomExp + "/100"; } //经验条 if (expSlider != null) { expSlider.value = (float)_info.RefineRandomExp / 100; } //到达满级最后一颗星隐藏掉 //if (_info.RefineLev == GameCenter.magicWeaponMng.MaxMagicLev() && _info.RefineStar == GameCenter.magicWeaponMng.MaxMagicStar()) // starList[starList.Count - 1].gameObject.SetActive(false); //else // starList[starList.Count - 1].gameObject.SetActive(true); //亮星 for (int i = 0; i < starList.Count; i++) { if (i < _info.RefineStar) { starList[i].IsGray = UISpriteEx.ColorGray.normal; } else { starList[i].IsGray = UISpriteEx.ColorGray.Gray; } } //全部亮一下 //if (_info.RefineLev > 1 && _info.RefineStar == 0 && _info.RefineRandomExp == 0 && isAddLev) //{ // for (int i = 0; i < starList.Count; i++) // { // starList[i].IsGray = UISpriteEx.ColorGray.normal; // } // CancelInvoke("HideStar"); // Invoke("HideStar", 0.5f); // isAddLev = false; //} //消耗品名 if (consumName != null) { StringBuilder build = new StringBuilder(); consumName.text = build.Append("[u][b][00ff00]").Append(_info.ConsumeNameList[1]).ToString(); } //消耗数量 if (consumNum[0] != null) { consumNum[0].text = _info.ConsumeCoinNum + "/" + ((ulong)_info.ConsumeCoinNum > GetAllCoin() ? "[ff0000]" : "[ffffff]") + GetAllCoin() + "[-]"; } if (consumNum[1] != null) { int num = GameCenter.inventoryMng.GetNumberByType(_info.ConsumeItemId); consumNum[1].text = _info.ConsumeItemNum + "/" + (_info.ConsumeItemNum > num ? "[ff0000]" : "[ffffff]") + num + "[-]"; } if (skillLabel != null) { skillLabel.gameObject.SetActive(false); } //元宝 if (consumYb != null) { ulong ybNum = GameCenter.mainPlayerMng.MainPlayerInfo.TotalDiamondCount; consumYb.text = _info.ConsumePrice + "/" + ((ulong)_info.ConsumePrice > ybNum ? "[ff0000]" : "[ffffff]") + ybNum; } } //////注灵(法宝等阶大于一阶时开启) else if (toggleAddSoul.value && _info.RefineLev > 1) { promoteButton.gameObject.SetActive(false); addSoulButton.gameObject.SetActive(true); //是否升阶成功 if (oldLev < GameCenter.magicWeaponMng.newAddSoulLev && isAddSoulPromote) { isAddLev = true; isAddSoulPromote = false; } //注灵升星成功 if (oldStar < GameCenter.magicWeaponMng.newAddSoulStar && isAddSoulPromote) { isAddStar = true; isAddSoulPromote = false; } attributeNum = _info.AddSoulAttributeType.Count; //注灵属性 for (int i = 0; i < attributeList.Count; i++) { if (i < _info.AddSoulAttributeType.Count && attributeList[i] != null) { attributeList[i].text = "[00ff00]" + _info.AddSoulAttributeType[i] + ":"; attributeList[i].gameObject.SetActive(true); } else { attributeList[i].gameObject.SetActive(false); } } //注灵属性值 for (int i = 0; i < numList.Count; i++) { if (i < _info.AddSoulAttributeNum.Count && numList[i] != null) { numList[i].text = "+" + _info.AddSoulAttributeNum[i]; numList[i].gameObject.SetActive(true); } else { numList[i].gameObject.SetActive(false); } } //注灵增加的属性数值 for (int i = 0; i < addNumList.Count; i++) { if (i < _info.AddSoulAddAttribute.Count && _info.AddSoulAddAttribute[i] >= 0 && addNumList[i] != null) { addNumList[i].text = "+" + _info.AddSoulAddAttribute[i]; addNumList[i].gameObject.SetActive(true); } else if (i < _info.AddSoulAddAttribute.Count && _info.AddSoulAddAttribute[i] < 0) { addNumList[i].text = _info.AddSoulAddAttribute[i].ToString(); addNumList[i].gameObject.SetActive(true); } else { addNumList[i].gameObject.SetActive(false); } } //战力增加(错误提示) if (_info.AddSoulAddFightPower > 0 && isAddStar) { MessageST mst = new MessageST(); mst.messID = 28; mst.words = new string[1] { _info.AddSoulAddFightPower.ToString() }; GameCenter.messageMng.AddClientMsg(mst); isAddStar = false; } else if (isAddStar)//战力减少 { MessageST mst = new MessageST(); mst.messID = 29; mst.words = new string[1] { _info.AddSoulAddFightPower.ToString() }; GameCenter.messageMng.AddClientMsg(mst); isAddStar = false; } //百分比显示 if (numLabel != null) { numLabel.text = _info.AddSoulExp + "/100"; } //经验条 if (expSlider != null) { expSlider.value = (float)_info.AddSoulExp / 100; } //到达满级最后一颗星隐藏掉 //if (_info.AddSoulLev == GameCenter.magicWeaponMng.MaxMagicLev() && _info.AddSoulLev == GameCenter.magicWeaponMng.MaxMagicStar()) // starList[starList.Count - 1].gameObject.SetActive(false); //else // starList[starList.Count - 1].gameObject.SetActive(true); //亮星 for (int i = 0; i < starList.Count; i++) { if (i < _info.AddSoulStar) { starList[i].IsGray = UISpriteEx.ColorGray.normal; } else { starList[i].IsGray = UISpriteEx.ColorGray.Gray; } } //全部亮一下 //if (_info.AddSoulLev > 1 && _info.AddSoulStar == 0 && _info.AddSoulExp == 0 && isAddLev) //{ // for (int i = 0; i < starList.Count; i++) // { // starList[i].IsGray = UISpriteEx.ColorGray.normal; // } // CancelInvoke("HideStar"); // Invoke("HideStar", 0.5f); // isAddLev = false; //} //消耗品 if (consumName != null) { consumName.text = "[u][b][00ff00]" + _info.AddSoulConsumeNameList[1]; } //消耗数量 if (consumNum[0] != null) { consumNum[0].text = _info.AddSoulConsumeCoinNum + "/" + ((ulong)_info.AddSoulConsumeCoinNum > GetAllCoin() ? "[ff0000]" : "[ffffff]") + GetAllCoin() + "[-]"; } if (consumNum[1] != null) { int num = GameCenter.inventoryMng.GetNumberByType(_info.AddSoulConsumeItemId); consumNum[1].text = _info.AddSoulConsumeItemNum + "/" + (_info.AddSoulConsumeItemNum > num ? "[ff0000]" : "[ffffff]") + num + "[-]"; } //元宝 if (consumYb != null) { ulong ybNum = GameCenter.mainPlayerMng.MainPlayerInfo.TotalDiamondCount; consumYb.text = _info.AddSoulConsumePrice + "/" + ((ulong)_info.AddSoulConsumePrice > ybNum ? "[ff0000]" : "[ffffff]") + ybNum; } skillLabel.gameObject.SetActive(true); // 技能 if (skillDesLabel != null) { skillDesLabel.text = _info.SkillDes; } } //上升箭头 for (int i = 0; i < addSp.Count; i++) { //到达满级 if (toggleTemper.value && _info.RefineLev == GameCenter.magicWeaponMng.maxLev && _info.RefineStar == GameCenter.magicWeaponMng.maxStar) { addSp[i].gameObject.SetActive(false); } else if (toggleAddSoul.value && _info.AddSoulLev == GameCenter.magicWeaponMng.maxLev && _info.AddSoulStar == GameCenter.magicWeaponMng.maxStar) { addSp[i].gameObject.SetActive(false); } else { if (addSp[i] != null && i < attributeNum) { addSp[i].gameObject.SetActive(true); } else { addSp[i].gameObject.SetActive(false); } } } }
protected void S2C_GetMagicData(Pt _msg) { //Debug.logger.Log("接收pt_magic_weapons_state_d309 协议"); pt_magic_weapons_state_d309 msg = _msg as pt_magic_weapons_state_d309; if (msg != null) { for (int i = 0, max = msg.magic_weapons.Count; i < max; i++) { magic_weapons_state data = msg.magic_weapons[i]; //Debug.Log("类型 " + data.type + "激活 " + data.active_state + "佩戴 " + data.equ_state + "等级 " + data.strenth_lev + "星级 " + data.strenth_star); //保存最新的等级 newRefineLev = data.strenth_lev; newAddSoulLev = data.zhuling_lev; newRefineStar = data.strenth_star; newAddSoulStar = data.zhuling_star; if (magicInfoDic.ContainsKey(data.type)) { MagicWeaponInfo info = magicInfoDic[data.type] as MagicWeaponInfo; if (info != null) { info.Update(data); if (info.EquState) { CurMagicWeaponInfo = info; } else if (CurMagicWeaponInfo != null && !CurMagicWeaponInfo.EquState) { CurMagicWeaponInfo = null; } } else { Debug.Log("法宝信息为空!"); } } else { //如果原列表中没有这个数据,直接以服务端数据构造,添加到列表中去 MagicWeaponInfo info = new MagicWeaponInfo(data); if (info.EquState) { CurMagicWeaponInfo = info; } magicInfoDic[info.Type] = info; } } if (isFirst) { maxLev = MaxMagicLev(); maxStar = MaxMagicStar(); SetMagicRedPoint(); isFirst = false; } } //进度变化事件 if (isAddExp && OnProgressChange != null) { OnProgressChange(); isAddExp = false; } //抛出法宝属性变化的事件 if (OnMagicTypeUpdate != null) { OnMagicTypeUpdate(); } }
public void SetMagicAttribute(MagicWeaponInfo _info) { info = _info; //法宝名字 if (nameLabel != null) { nameLabel.text = _info.Name; } if (activeName != null) { activeName.text = "[u]" + _info.Name; } int attributeNum = 0; ////淬炼 if (toggleTemper.value) { //注灵按钮不可见 addSoulButton.gameObject.SetActive(false); //提升按钮可见 if (_info.EquActive) { promoteButton.gameObject.SetActive(true); } else { promoteGo.SetActive(false); attrubuteGo.SetActive(true); } //淬炼战斗力 if (powerLabel != null) { powerLabel.text = "" + _info.RefineFightPower; } attributeNum = _info.RefineAttributeType.Count; //淬炼属性 for (int i = 0; i < attributeList.Count; i++) { if (i < _info.RefineAttributeType.Count && attributeList[i] != null) { attributeList[i].text = "[00ff00]" + _info.RefineAttributeType[i] + ":"; attributeList[i].gameObject.SetActive(true); } else { attributeList[i].gameObject.SetActive(false); } } //淬炼属性数值 for (int i = 0; i < numList.Count; i++) { if (i < _info.RefineAttributeNum.Count && numList[i] != null) { numList[i].text = "+" + _info.RefineAttributeNum[i]; numList[i].gameObject.SetActive(true); } else { numList[i].gameObject.SetActive(false); } } if (_info.EquActive) { //淬炼增加的属性数值 for (int i = 0; i < addAttriList.Count; i++) { if (i < _info.RefineAddAttribute.Count && _info.RefineAddAttribute[i] >= 0 && addAttriList[i] != null) { addAttriList[i].text = "+" + _info.RefineAddAttribute[i]; } else if (i < _info.RefineAddAttribute.Count && _info.RefineAddAttribute[i] < 0) { addAttriList[i].text = _info.RefineAddAttribute[i].ToString(); } else { addAttriList[i].gameObject.SetActive(false); } } } } ////注灵 else if (toggleAddSoul.value) { //注灵按钮可见 if (_info.RefineLev > 1) { addSoulButton.gameObject.SetActive(true); } else { addSoulButton.gameObject.SetActive(false); //错误提示(注灵在法宝2阶时开启) GameCenter.messageMng.AddClientMsg(140); promoteGo.SetActive(false); attrubuteGo.SetActive(true); } //提升按钮不可见 promoteButton.gameObject.SetActive(false); //注灵战斗力 if (powerLabel != null) { powerLabel.text = "" + _info.AddSoulFightPower; } attributeNum = _info.AddSoulAttributeType.Count; //注灵属性 for (int i = 0; i < attributeList.Count; i++) { if (i < _info.AddSoulAttributeType.Count && attributeList[i] != null) { attributeList[i].text = "[00ff00]" + _info.AddSoulAttributeType[i] + ":"; attributeList[i].gameObject.SetActive(true); } else { attributeList[i].gameObject.SetActive(false); } } //注灵数值 for (int i = 0; i < numList.Count; i++) { if (i < _info.AddSoulAttributeNum.Count && numList[i] != null) { numList[i].text = "+" + _info.AddSoulAttributeNum[i]; numList[i].gameObject.SetActive(true); } else { numList[i].gameObject.SetActive(false); } } //注灵增加的属性数值 if (_info.EquActive) { for (int i = 0; i < addAttriList.Count; i++) { if (i < _info.AddSoulAddAttribute.Count && _info.AddSoulAddAttribute[i] >= 0 && addAttriList[i] != null) { addAttriList[i].text = "+" + _info.AddSoulAddAttribute[i]; } else if (i < _info.AddSoulAddAttribute.Count && _info.AddSoulAddAttribute[i] < 0) { addAttriList[i].text = _info.AddSoulAddAttribute[i].ToString(); } else { addAttriList[i].gameObject.SetActive(false); } } } } //属性上升箭头 for (int i = 0; i < addSp.Count; i++) { //淬炼满级 if (toggleTemper.value && _info.RefineLev == GameCenter.magicWeaponMng.maxLev && _info.RefineStar == GameCenter.magicWeaponMng.maxStar) { addSp[i].gameObject.SetActive(false); addAttriList[i].gameObject.SetActive(false); } //注灵满级 else if (toggleAddSoul.value && _info.AddSoulLev == GameCenter.magicWeaponMng.maxLev && _info.AddSoulStar == GameCenter.magicWeaponMng.maxStar) { addSp[i].gameObject.SetActive(false); addAttriList[i].gameObject.SetActive(false); } else { if (addSp[i] != null && _info.EquActive && i < attributeNum) { addSp[i].gameObject.SetActive(true); addAttriList[i].gameObject.SetActive(true); } else { addSp[i].gameObject.SetActive(false); addAttriList[i].gameObject.SetActive(false); } } } if (skillIcon != null) { skillIcon.spriteName = _info.SkillIcon; } //技能图片 if (skillIcon != null && _info.EquActive) { skillIcon.IsGray = UISpriteEx.ColorGray.normal; } else { skillIcon.IsGray = UISpriteEx.ColorGray.Gray; } //技能描述 if (skillLabel != null) { skillLabel.text = _info.SkillDes; } //激活条件信息 if (activeInfo != null && _info.EquActive) { activeInfo.gameObject.SetActive(false); } else { activeInfo.gameObject.SetActive(true); } }