示例#1
0
 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;
         }
     }
 }
示例#2
0
    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);
                }
            }
        }
    }
示例#3
0
    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();
        }
    }
示例#4
0
    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);
        }
    }