コード例 #1
0
    private void LevelUpShenQiSkill()
    {
        if (m_ShenQiItem == null)
        {
            GUIData.AddNotifyData2Client(false, "#{4966}");
            return;
        }
        if (m_ShenQiItem.IsValid() == false)
        {
            GUIData.AddNotifyData2Client(false, "#{4966}");
            return;
        }
        Tab_ShenQiInfo _ShenQiInfo = TableManager.GetShenQiInfoByID(m_ShenQiItem.DataID, 0);

        if (_ShenQiInfo == null)
        {
            GUIData.AddNotifyData2Client(false, "#{4966}");
            return;
        }
        //技能信息
        int SkillInfIndex = (int)ShenQiDyData.SkillId;

        if (SkillInfIndex >= 0 && SkillInfIndex < m_ShenQiItem.DynamicData.Length)
        {
            Tab_SkillEx _skillEx = TableManager.GetSkillExByID(m_ShenQiItem.DynamicData[(int)ShenQiDyData.SkillId], 0);
            if (_skillEx != null)
            {
                Tab_ShenQiSkillInfo _ShenQiSkillInfo = TableManager.GetShenQiSkillInfoByID(m_ShenQiItem.DynamicData[(int)ShenQiDyData.SkillId], 0);
                if (_ShenQiSkillInfo != null)
                {
                    //技能已达上限
                    if (_ShenQiSkillInfo.NextSkillId == -1)
                    {
                        GUIData.AddNotifyData2Client(false, "#{4964}");
                        return;
                    }
                    //技能上限
                    if (_skillEx.Level >= _ShenQiInfo.MaxSkillLev)
                    {
                        GUIData.AddNotifyData2Client(false, "#{4947}");
                        return;
                    }
                    int nSuiPianNum    = _ShenQiSkillInfo.NeedItemNum;
                    int nSuiPianOwnNum = GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(_ShenQiSkillInfo.NeedItemId);
                    if (nSuiPianNum > nSuiPianOwnNum)
                    {
                        GUIData.AddNotifyData2Client(false, "#{4946}");
                        return;
                    }
                    //发包升级
                    CG_SHENQI_SKILLLEVELUP packet = (CG_SHENQI_SKILLLEVELUP)PacketDistributed.CreatePacket(MessageID.PACKET_CG_SHENQI_SKILLLEVELUP);
                    packet.ShenqiGuid = m_ShenQiItem.Guid;
                    packet.SendPacket();
                }
            }
        }
    }
コード例 #2
0
    void UpdateLockShowInfo()
    {
        if (m_ShenQiItem == null)
        {
            m_ShowLockInfLable.text = StrDictionary.GetClientDictionaryString("#{4965}", 0, 0);
            return;
        }
        if (m_ShenQiItem.IsValid() == false)
        {
            m_ShowLockInfLable.text = StrDictionary.GetClientDictionaryString("#{4965}", 0, 0);
            return;
        }
        Tab_ShenQiInfo _ShenQiInfo = TableManager.GetShenQiInfoByID(m_ShenQiItem.DataID, 0);

        if (_ShenQiInfo != null)
        {
            m_ShowLockInfLable.text = StrDictionary.GetClientDictionaryString("#{4965}", m_nLockNum, m_nLockNum * _ShenQiInfo.LockNeedItemNum);
        }
        else
        {
            m_ShowLockInfLable.text = StrDictionary.GetClientDictionaryString("#{4965}", 0, 0);
        }
    }
コード例 #3
0
    //显示装备属性
    public void ShowAttr(GameItem item, bool bUnEquiped = false)
    {
        ClearInfo();
        //获得身上对应槽位的装备
        int      slotindex    = item.GetEquipSlotIndex();
        GameItem compareEquip = GameManager.gameManager.PlayerDataPool.EquipPack.GetItem(slotindex);

        Tab_EquipAttr line = TableManager.GetEquipAttrByID(item.DataID, 0);

        if (line != null)
        {
            int index = 0;
            //血上限
            if (line.HP > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.HP, "HP");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAXHP);
                m_AttrValue[index].text = strColor + string.Format("+{0}", (int)(line.HP * item.GetAttrFactorRefix()));
                m_AttrWhole[index].SetActive(true);
                //强化
                SetEnchanceAndStarAttr(item, index, line.HP);
                ++index;
            }
            //血上限(百分比)
            if (line.HPPer > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.HPPer, "HPPer");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAXHP);
                m_AttrValue[index].text = strColor + string.Format("+{0}%", (int)(line.HPPer * 100));
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //蓝上限
            if (line.MP > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.MP, "MP");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAXMP);
                m_AttrValue[index].text = strColor + string.Format("+{0}", (int)(line.MP * item.GetAttrFactorRefix()));
                m_AttrWhole[index].SetActive(true);
                //强化
                SetEnchanceAndStarAttr(item, index, line.MP);
                ++index;
            }
            //蓝上限(百分比)
            if (line.MPPer > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.MPPer, "MPPer");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAXMP);
                m_AttrValue[index].text = strColor + string.Format("+{0}%", (int)(line.MPPer * 100));
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //物理攻击
            if (line.PhysicsAttack > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.PhysicsAttack, "PhysicsAttack");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.PYSATTACK);
                m_AttrValue[index].text = strColor + string.Format("+{0}", (int)(line.PhysicsAttack * item.GetAttrFactorRefix()));
                m_AttrWhole[index].SetActive(true);
                //强化
                SetEnchanceAndStarAttr(item, index, line.PhysicsAttack);
                ++index;
            }
            //物理攻击(百分比)
            if (line.PhysicsAttackPer > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.PhysicsAttackPer, "PhysicsAttackPer");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.PYSATTACK);
                m_AttrValue[index].text = strColor + string.Format("+{0}%", (int)(line.PhysicsAttackPer * 100));
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //法术攻击
            if (line.MagicAttack > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.MagicAttack, "MagicAttack");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAGATTACK);
                m_AttrValue[index].text = strColor + string.Format("+{0}", (int)(line.MagicAttack * item.GetAttrFactorRefix()));
                m_AttrWhole[index].SetActive(true);
                //强化
                SetEnchanceAndStarAttr(item, index, line.MagicAttack);
                ++index;
            }
            //法术攻击(百分比)
            if (line.MagicAttackPer > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.MagicAttackPer, "MagicAttackPer");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAGATTACK);
                m_AttrValue[index].text = strColor + string.Format("+{0}%", (int)(line.MagicAttackPer * 100));
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //物理防御
            if (line.PhysicsDefence > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.PhysicsDefence, "PhysicsDefence");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.PYSDEF);
                m_AttrValue[index].text = strColor + string.Format("+{0}", (int)(line.PhysicsDefence * item.GetAttrFactorRefix()));
                m_AttrWhole[index].SetActive(true);
                //强化
                SetEnchanceAndStarAttr(item, index, line.PhysicsDefence);
                ++index;
            }
            //物理防御(百分比)
            if (line.PhysicsDefencePer > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.PhysicsDefencePer, "PhysicsDefencePer");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.PYSDEF);
                m_AttrValue[index].text = strColor + string.Format("+{0}%", (int)(line.PhysicsDefencePer * 100));
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //法术防御
            if (line.MagicDefence > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.MagicDefence, "MagicDefence");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAGDEF);
                m_AttrValue[index].text = strColor + string.Format("+{0}", (int)(line.MagicDefence * item.GetAttrFactorRefix()));
                m_AttrWhole[index].SetActive(true);
                //强化
                SetEnchanceAndStarAttr(item, index, line.MagicDefence);
                ++index;
            }
            //法术防御(百分比)
            if (line.MagicDefencePer > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.MagicDefencePer, "MagicDefencePer");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAGDEF);
                m_AttrValue[index].text = strColor + string.Format("+{0}%", (int)(line.MagicDefencePer * 100));
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //攻击速度
            if (line.AttackSpeed > 0 && index < m_Attr.Length && index >= 0)
            {
                //策划要求 隐藏装备攻速属性
                //m_Attr[index].text = string.Format("{0}+{1}", ConvertAttrToString(COMBATATTE.ATTACKSPEED), line.AttackSpeed);
                //m_Attr[index].gameObject.SetActive(true);
                ////策划要求 攻速不受强化和打星影响
                //++index;
            }
            //攻击速度(百分比)
            if (line.AttackSpeedPer > 0 && index < m_Attr.Length && index >= 0)
            {
                //策划要求 隐藏装备攻速属性
                //m_Attr[index].text = string.Format("{0}+{1}%", ConvertAttrToString(COMBATATTE.ATTACKSPEED), line.AttackSpeedPer * 100);
                //m_Attr[index].gameObject.SetActive(true);
                //++index;
            }
            //全攻击
            if (line.AllAttack > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.AllAttack, "AllAttack");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString((COMBATATTE)1000);
                m_AttrValue[index].text = strColor + string.Format("+{0}", (int)(line.AllAttack * item.GetAttrFactorRefix()));
                m_AttrWhole[index].SetActive(true);
                //强化
                SetEnchanceAndStarAttr(item, index, line.AllAttack);
                ++index;
            }
            //全攻击(百分比)
            if (line.AllAttackPer > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.AllAttackPer, "AllAttackPer");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString((COMBATATTE)1000);
                m_AttrValue[index].text = strColor + string.Format("+{0}%", (int)(line.AllAttackPer * 100));
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //全防御
            if (line.AllDefence > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.AllDefence, "AllDefence");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString((COMBATATTE)1001);
                m_AttrValue[index].text = strColor + string.Format("+{0}", (int)(line.AllDefence * item.GetAttrFactorRefix()));
                m_AttrWhole[index].SetActive(true);
                //强化
                SetEnchanceAndStarAttr(item, index, line.AllDefence);
                ++index;
            }
            //全防御(百分比)
            if (line.AllDefencePer > 0 && index < m_Attr.Length && index >= 0)
            {
                string strColor = GetAttrColor(bUnEquiped, compareEquip, line.AllDefencePer, "AllDefencePer");
                m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString((COMBATATTE)1001);
                m_AttrValue[index].text = strColor + string.Format("+{0}%", (int)(line.AllDefencePer * 100));
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            // delete cut lines
            //if (index >= 1)
            //{
            //    if ((index - 1) >= 0 && (index - 1) < m_CutLine.Length)
            //    {
            //        m_CutLine[index - 1].SetActive(true);
            //    }

            //}
            //附加属性
            for (int attrIndex = 0; attrIndex < line.getAddAttrTypeCount(); ++attrIndex)
            {
                int   attrType  = line.GetAddAttrTypebyIndex(attrIndex);
                float attrValue = line.GetAddAttrValuebyIndex(attrIndex);
                if ((attrType >= (int)COMBATATTE.MAXHP && attrType < (int)COMBATATTE.COMBATATTE_MAXNUM) || attrType == 1000 || attrType == 1001)
                {
                    if (attrValue > 0)
                    {
                        if (index < m_Attr.Length && index >= 0)
                        {
                            //策划要求隐藏装备攻速属性
                            if (attrType == (int)COMBATATTE.ATTACKSPEED)
                            {
                                continue;
                            }

                            string strColor = GetAttrColor(bUnEquiped, compareEquip, attrValue, "AddAttr", attrIndex);
                            m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString((COMBATATTE)attrType);
                            m_AttrValue[index].text = strColor + string.Format("+{0}", (int)attrValue);
                            m_AttrWhole[index].SetActive(true);
                            if (attrType != (int)COMBATATTE.ATTACKSPEED) //策划要求 攻速不受强化和打星影响
                            {
                                //强化
                                SetEnchanceAndStarAttr(item, index, attrValue, true);
                                //策划要求 附加属性不受打星影响
                            }
                            ++index;
                        }
                    }
                }
            }
            //附加属性(百分比)
            for (int attrIndex = 0; attrIndex < line.getAddAttrTypeCount(); ++attrIndex)
            {
                int   attrType = line.GetAddAttrTypebyIndex(attrIndex);
                float attrPer  = line.GetAddAttrPerbyIndex(attrIndex);
                if (attrType >= (int)COMBATATTE.MAXHP && attrType < (int)COMBATATTE.COMBATATTE_MAXNUM && attrPer > 0)
                {
                    if (index < m_Attr.Length && index >= 0)
                    {
                        string strColor = GetAttrColor(bUnEquiped, compareEquip, attrPer, "AddAttrPer", attrIndex);

                        m_Attr[index].text      = strColor + ItemTool.ConvertAttrToString((COMBATATTE)attrIndex);
                        m_AttrValue[index].text = strColor + string.Format("+{0}%", (int)(attrPer * 100));
                        m_AttrWhole[index].SetActive(true);
                        ++index;
                    }
                }
            }

            //神器属性
            if (item != null && item.IsShenQiEquipMent())
            {
                Tab_ShenQiInfo _ShenQiInfo = TableManager.GetShenQiInfoByID(item.DataID, 0);
                if (_ShenQiInfo != null)
                {
                    //   技能信息
                    int SkillInfIndex = (int)ShenQiDyData.SkillId;
                    if (SkillInfIndex >= 0 && SkillInfIndex < item.DynamicData.Length)
                    {
                        Tab_SkillEx _skillEx = TableManager.GetSkillExByID(item.DynamicData[(int)ShenQiDyData.SkillId], 0);
                        if (_skillEx != null)
                        {
                            Tab_SkillBase _SkillBase = TableManager.GetSkillBaseByID(_skillEx.BaseId, 0);
                            if (_SkillBase != null)
                            {
                                // delete cut lines
                                //if (index >= 1 && index - 1 < m_CutLine.Length)
                                //{
                                //    m_CutLine[index - 1].SetActive(true);
                                //}
                                m_ShenQiSkillNameLable.text = _SkillBase.Name + "(" + _skillEx.Level + "/" + _ShenQiInfo.MaxSkillLev + ")";
                                m_ShenQiSkillDescLable.text = _skillEx.SkillDesc;
                                m_ShenQiSkillName.SetActive(true);
                                m_ShenQiSkillDesc.SetActive(true);
                            }
                        }
                    }
                    //属性条
                    int nLastAttrIndex = -1;
                    for (int i = 0; i < (int)ShenQiInfo.MAXRANDATTRNUM && i < m_ShenQiAttrWhole.Length; i++)
                    {
                        if (i + (int)ShenQiDyData.Attr1Info >= 0 && i + (int)ShenQiDyData.Attr1Info < item.DynamicData.Length)
                        {
                            int AttrRandData = item.DynamicData[i + (int)ShenQiDyData.Attr1Info];
                            if (AttrRandData > 0)
                            {
                                int AttrType    = item.GetShenQiRandAttrType(AttrRandData);
                                int AttrNum     = item.GetShenQiRandAttrNum(AttrRandData);
                                int AttrQuality = item.GetShenQiRandAttrQuality(AttrRandData);
                                m_ShenQiAttrName[i].text = Utils.GetItemNameColor(AttrQuality + 1) + Utils.GetAttrTypeString(AttrType);
                                //if (1 + _ShenQiInfo.ShenQiRefixPer > 0 && _ShenQiInfo.ShenQiRefixPer > 0)
                                //{
                                //    int nBaseAttr = (int)((AttrNum * 1.0f) / (1 + _ShenQiInfo.ShenQiRefixPer));
                                //    int nFixAttr = (int)(AttrNum * _ShenQiInfo.ShenQiRefixPer);
                                //    m_ShenQiAttrValue[i].text = Utils.GetItemNameColor(AttrQuality+1) + "+" + nBaseAttr.ToString() + "+" + nFixAttr.ToString();
                                //}
                                //else
                                {
                                    m_ShenQiAttrValue[i].text = Utils.GetItemNameColor(AttrQuality + 1) + "+" + AttrNum;
                                }
                                m_ShenQiAttrWhole[i].SetActive(true);
                                nLastAttrIndex = i;
                            }
                        }
                    }
                    //分界线
                    //   m_ShenQiSkillCutLine.SetActive(true);
                    if (nLastAttrIndex >= 0 && nLastAttrIndex < m_ShenQiAttrCutLine.Length)
                    {
                        m_ShenQiAttrCutLine[nLastAttrIndex].SetActive(true);
                    }
                    //m_ShenQiCutLine2.SetActive(true);
                }
            }
            //m_Grid.Reposition();
            //m_TopGrid.Recenter(true);
            m_Table.sorted          = true;
            m_Table.hideInactive    = true;
            m_Table.keepWithinPanel = true;
            m_Table.repositionNow   = true;
        }
    }
コード例 #4
0
    void ExpWashShenQi()
    {
        if (m_ShenQiItem == null)
        {
            GUIData.AddNotifyData2Client(false, "#{4966}");
            return;
        }
        if (m_ShenQiItem.IsValid() == false)
        {
            GUIData.AddNotifyData2Client(false, "#{4966}");
            return;
        }
        Tab_ShenQiInfo _ShenQiInfo = TableManager.GetShenQiInfoByID(m_ShenQiItem.DataID, 0);

        if (_ShenQiInfo == null)
        {
            GUIData.AddNotifyData2Client(false, "#{4966}");
            return;
        }
        //经验是否充足
        if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Exp < _ShenQiInfo.ExpCostNum)
        {
            GUIData.AddNotifyData2Client(false, "#{4999}");
            return;
        }
        //是否需要消耗物品
        if (_ShenQiInfo.ExpCostItemId != -1)
        {
            if (GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(_ShenQiInfo.ExpCostItemId) < _ShenQiInfo.ExpCostItemNum)
            {
                GUIData.AddNotifyData2Client(false, "#{4951}");
                return;
            }
        }
        //锁定的物品是否够
        if (m_nLockNum > 0)
        {
            if (m_nLockNum >= _ShenQiInfo.MaxAttrNum)
            {
                GUIData.AddNotifyData2Client(false, "#{5157}");
                return;
            }
            if (GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(_ShenQiInfo.LockNeedItemId) < _ShenQiInfo.LockNeedItemNum * m_nLockNum)
            {
                GUIData.AddNotifyData2Client(false, "#{4961}");
                return;
            }
        }
        //发包升级
        CG_SHENQI_WASHATTR packet = (CG_SHENQI_WASHATTR)PacketDistributed.CreatePacket(MessageID.PACKET_CG_SHENQI_WASHATTR);

        packet.ShenqiGuid = m_ShenQiItem.Guid;
        packet.WashType   = (int)CG_SHENQI_WASHATTR.WASHTYPE.WASH_EXP;
        if (m_nLockNum > 0)
        {
            packet.IsLockAttr1 = (m_AttrToggle[0].value == true ? 1 : 0);
            packet.IsLockAttr2 = (m_AttrToggle[1].value == true ? 1 : 0);
            packet.IsLockAttr3 = (m_AttrToggle[2].value == true ? 1 : 0);
        }
        packet.SendPacket();
        m_nLastWastType = (int)CG_SHENQI_WASHATTR.WASHTYPE.WASH_EXP;
        if (null != GameManager.gameManager)
        {
            GameManager.gameManager.SoundManager.PlaySoundEffect(28);
        }
    }
コード例 #5
0
    void YBWashShenQi()
    {
        if (m_ShenQiItem == null)
        {
            GUIData.AddNotifyData2Client(false, "#{4966}");
            return;
        }
        if (m_ShenQiItem.IsValid() == false)
        {
            GUIData.AddNotifyData2Client(false, "#{4966}");
            return;
        }
        Tab_ShenQiInfo _ShenQiInfo = TableManager.GetShenQiInfoByID(m_ShenQiItem.DataID, 0);

        if (_ShenQiInfo == null)
        {
            GUIData.AddNotifyData2Client(false, "#{4966}");
            return;
        }
        //元宝是否充足
        if (GameManager.gameManager.PlayerDataPool.Money.GetMoney_YuanBao() < _ShenQiInfo.YBCostMoney)
        {
            // 元宝不足
            MessageBoxLogic.OpenOKCancelBox(StrDictionary.GetClientDictionaryString("#{1848}"), "", BuyChargeOK, BuyChargeCancel);
            return;
        }
        //是否需要消耗物品
        if (_ShenQiInfo.YBCostItemId != -1)
        {
            if (GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(_ShenQiInfo.YBCostItemId) < _ShenQiInfo.YBCostItemNum)
            {
                GUIData.AddNotifyData2Client(false, "#{4951}");
                return;
            }
        }
        //锁定的物品是否够
        if (m_nLockNum > 0)
        {
            if (m_nLockNum >= _ShenQiInfo.MaxAttrNum)
            {
                GUIData.AddNotifyData2Client(false, "#{5157}");
                return;
            }
            if (GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(_ShenQiInfo.LockNeedItemId) < _ShenQiInfo.LockNeedItemNum * m_nLockNum)
            {
                GUIData.AddNotifyData2Client(false, "#{4961}");
                return;
            }
        }
        //发包升级
        CG_SHENQI_WASHATTR packet = (CG_SHENQI_WASHATTR)PacketDistributed.CreatePacket(MessageID.PACKET_CG_SHENQI_WASHATTR);

        packet.ShenqiGuid = m_ShenQiItem.Guid;
        packet.WashType   = (int)CG_SHENQI_WASHATTR.WASHTYPE.WASH_YB;
        if (m_nLockNum > 0)
        {
            packet.IsLockAttr1 = (m_AttrToggle[0].value == true ? 1 : 0);
            packet.IsLockAttr2 = (m_AttrToggle[1].value == true ? 1 : 0);
            packet.IsLockAttr3 = (m_AttrToggle[2].value == true ? 1 : 0);
        }
        packet.SendPacket();
        m_nLastWastType = (int)CG_SHENQI_WASHATTR.WASHTYPE.WASH_YB;
        if (null != GameManager.gameManager)
        {
            GameManager.gameManager.SoundManager.PlaySoundEffect(28);
        }
    }
コード例 #6
0
    public void UpdateShenQiViewInfo()
    {
        ClearnInfo();
        if (m_ShenQiItem == null)
        {
            return;
        }
        if (m_ShenQiItem.IsValid() == false)
        {
            return;
        }
        Tab_ShenQiInfo _ShenQiInfo = TableManager.GetShenQiInfoByID(m_ShenQiItem.DataID, 0);

        if (_ShenQiInfo == null)
        {
            return;
        }
        m_ShenQiSlot.InitInfo(ItemSlotLogic.SLOT_TYPE.TYPE_ITEM, m_ShenQiItem.DataID, ShowShenQiTipsInf);
        m_ShenQiNameLable.text = Utils.GetItemNameColor((int)m_ShenQiItem.GetQuality()) + m_ShenQiItem.GetName();//神器名字
        //技能信息
        int SkillInfIndex = (int)ShenQiDyData.SkillId;

        if (SkillInfIndex >= 0 && SkillInfIndex < m_ShenQiItem.DynamicData.Length)
        {
            Tab_SkillEx _skillEx = TableManager.GetSkillExByID(m_ShenQiItem.DynamicData[(int)ShenQiDyData.SkillId], 0);
            if (_skillEx != null)
            {
                Tab_SkillBase _SkillBase = TableManager.GetSkillBaseByID(_skillEx.BaseId, 0);
                if (_SkillBase != null)
                {
                    m_ShenQiSkillNameLable.text = _SkillBase.Name;
                    m_ShenQiSkillLevLable.text  = _skillEx.Level.ToString() + "/" + _ShenQiInfo.MaxSkillLev.ToString();
                    m_ShenQiSkillDecLable.text  = _skillEx.SkillDesc;
                    Tab_ShenQiSkillInfo _ShenQiSkillInfo = TableManager.GetShenQiSkillInfoByID(_skillEx.SkillExID, 0);
                    if (_ShenQiSkillInfo != null)
                    {
                        int nSuiPianNum    = _ShenQiSkillInfo.NeedItemNum;
                        int nSuiPianOwnNum = GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(_ShenQiSkillInfo.NeedItemId);
                        if (nSuiPianNum <= nSuiPianOwnNum)
                        {
                            m_SheiQiSkillUpSuiPianLabel.text = "[32A100]" + nSuiPianNum;
                        }
                        else
                        {
                            m_SheiQiSkillUpSuiPianLabel.text = "[FF2222]" + nSuiPianNum;
                        }
                        if (_ShenQiSkillInfo.NextSkillId != -1)
                        {
                            m_ShowSkillInfoNextBt.SetActive(true);
                        }
                    }
                }
            }
        }
        //经验 元宝 经验
        m_CoinNumLabel.text = Utils.ConvertLargeNumToString(GameManager.gameManager.PlayerDataPool.Money.GetMoney_Coin());
        m_YBNumLable.text   = GameManager.gameManager.PlayerDataPool.Money.GetMoney_YuanBao().ToString();
        m_ExpNumLable.text  = Utils.ConvertLargeNumToString(GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Exp);
        //属性条
        for (int i = 0; i < (int)ShenQiInfo.MAXRANDATTRNUM; i++)
        {
            if (i + (int)ShenQiDyData.Attr1Info >= 0 && i + (int)ShenQiDyData.Attr1Info < m_ShenQiItem.DynamicData.Length)
            {
                int AttrRandData = m_ShenQiItem.DynamicData[i + (int)ShenQiDyData.Attr1Info];
                if (AttrRandData > 0)
                {
                    int AttrType    = m_ShenQiItem.GetShenQiRandAttrType(AttrRandData);
                    int AttrNum     = m_ShenQiItem.GetShenQiRandAttrNum(AttrRandData);
                    int AttrQuality = m_ShenQiItem.GetShenQiRandAttrQuality(AttrRandData);
                    m_AttrTypeLable[i].text = Utils.GetItemNameColor(AttrQuality + 1) + Utils.GetAttrTypeString(AttrType);
                    //if (1+_ShenQiInfo.ShenQiRefixPer>0 && _ShenQiInfo.ShenQiRefixPer>0)
                    //{
                    //    int nBaseAttr = (int) ((AttrNum*1.0f)/(1 + _ShenQiInfo.ShenQiRefixPer));
                    //    int nFixAttr = (int) (AttrNum*_ShenQiInfo.ShenQiRefixPer);
                    //    m_AttrNumLable[i].text = Utils.GetItemNameColor(AttrQuality+1) + "+" + nBaseAttr.ToString() + "+" + nFixAttr.ToString();
                    //}
                    //else
                    {
                        int nMaxNum = (int)(_ShenQiInfo.GetAttrMaxValuebyIndex(AttrType) * (1 + _ShenQiInfo.ShenQiRefixPer));
                        m_AttrNumLable[i].text = Utils.GetItemNameColor(AttrQuality + 1) + "+" + AttrNum + "[FF9933]" + StrDictionary.GetClientDictionaryString("#{5217}", nMaxNum);
                    }
                    m_AttrTypeLable[i].gameObject.SetActive(true);
                    m_AttrNumLable[i].gameObject.SetActive(true);
                    m_AttrToggle[i].gameObject.SetActive(true);
                }
                else
                {
                    m_AttrTypeLable[i].gameObject.SetActive(false);
                    m_AttrNumLable[i].gameObject.SetActive(false);
                    m_AttrToggle[i].gameObject.SetActive(false);
                }
            }
        }
        m_CoinNeedLable.text          = _ShenQiInfo.CoinCostMoney.ToString();
        m_YBNeedLable.text            = _ShenQiInfo.YBCostMoney.ToString();
        m_ExpNeedLable.text           = _ShenQiInfo.ExpCostNum.ToString();
        m_ShenQiCombatValueLable.text = m_ShenQiItem.GetCombatValue_ForShenQi().ToString();
    }