Ejemplo n.º 1
0
 void SetArrow(GameItem item)
 {
     m_ArrowUpSprite.gameObject.SetActive(false);
     m_ArrowDownSprite.gameObject.SetActive(false);
     if (item.IsEquipMent())
     {
         //获得身上对应槽位的装备
         int      slotindex    = item.GetEquipSlotIndex();
         GameItem compareEquip = GameManager.gameManager.PlayerDataPool.EquipPack.GetItem(slotindex);
         if (compareEquip != null)
         {
             if (compareEquip.IsValid())
             {
                 if (compareEquip.GetCombatValue_NoStarEnchance() > item.GetCombatValue_NoStarEnchance())
                 {
                     m_ArrowDownSprite.gameObject.SetActive(true);
                     m_ArrowUpSprite.gameObject.SetActive(false);
                     return;
                 }
                 else if (compareEquip.GetCombatValue_NoStarEnchance() == item.GetCombatValue_NoStarEnchance())
                 {
                     m_ArrowDownSprite.gameObject.SetActive(false);
                     m_ArrowUpSprite.gameObject.SetActive(false);
                     return;
                 }
             }
         }
         m_ArrowDownSprite.gameObject.SetActive(false);
         m_ArrowUpSprite.gameObject.SetActive(true);
     }
 }
 public void SetArrow(GameItem item)
 {
     m_ArrowUpSprite.gameObject.SetActive(false);
     m_ArrowDownSprite.gameObject.SetActive(false);
     if (item.IsEquipMent())
     {
         if (item.GetProfessionRequire() == GlobeVar.INVALID_ID || item.GetProfessionRequire() == Singleton <ObjManager> .Instance.MainPlayer.Profession)
         {
             //获得身上对应槽位的装备
             int      slotindex    = item.GetEquipSlotIndex();
             GameItem compareEquip = GameManager.gameManager.PlayerDataPool.EquipPack.GetItem(slotindex);
             if (compareEquip != null)
             {
                 if (compareEquip.IsValid())
                 {
                     if (compareEquip.GetCombatValue_NoStarEnchance() > item.GetCombatValue_NoStarEnchance())
                     {
                         m_ArrowDownSprite.gameObject.SetActive(true);
                         m_ArrowUpSprite.gameObject.SetActive(false);
                         return;
                     }
                     else if (compareEquip.GetCombatValue_NoStarEnchance() == item.GetCombatValue_NoStarEnchance())
                     {
                         m_ArrowDownSprite.gameObject.SetActive(false);
                         m_ArrowUpSprite.gameObject.SetActive(false);
                         return;
                     }
                 }
             }
             m_ArrowDownSprite.gameObject.SetActive(false);
             m_ArrowUpSprite.gameObject.SetActive(true);
         }
     }
 }
Ejemplo n.º 3
0
    void Init(GameItem newEquip)
    {
        if (newEquip == null || !newEquip.IsValid())
        {
            return;
        }

        // 是否正在显示提示
        if (m_EquipBuffer.Count == 0)
        {
            m_EquipBuffer.Add(newEquip);
            ShowRemind();
            return;
        }
        // 如果正在显示 检测是否可以进缓冲池
        else
        {
            if (m_EquipBuffer.Count <= EquipBufferSize)
            {
                for (int index = 0; index < m_EquipBuffer.Count; index++)
                {
                    GameItem equip = m_EquipBuffer[index];
                    if (equip == null || !equip.IsValid())
                    {
                        return;
                    }
                    if (newEquip.GetEquipSlotIndex() == equip.GetEquipSlotIndex())
                    {
                        if (newEquip.GetCombatValue_NoStarEnchance() > equip.GetCombatValue_NoStarEnchance())
                        {
                            m_EquipBuffer.Remove(equip);
                            m_EquipBuffer.Add(newEquip);
                        }
                        return;
                    }
                    if (newEquip.GetEquipSlotIndex() != equip.GetEquipSlotIndex() && index == m_EquipBuffer.Count - 1)
                    {
                        m_EquipBuffer.Add(newEquip);
                    }
                }
            }
        }
    }
Ejemplo n.º 4
0
        /// <summary>
        /// 筛选装备强化材料
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        static public List <GameItem> EnchanceMaterialFilter(List <GameItem> list, bool valuable, bool auto = false)
        {
            List <GameItem> resultlist = new List <GameItem>();

            resultlist.AddRange(list);
            //筛选规则1 材料需要是装备或者强化石
            resultlist.RemoveAll(delegate(GameItem item)
            {
                if (item != null)
                {
                    if (item.IsValid())
                    {
                        if (item.GetClass() == (int)ItemClass.EQUIP)
                        {
                            return(false);
                        }
                        if (item.GetClass() == (int)ItemClass.STRENGTHEN &&
                            item.GetSubClass() == (int)StrengthenSubClass.EQUIP_ENCHANCE)
                        {
                            return(false);
                        }
                    }
                }
                return(true);
            });
            //筛选规则2 腰带不能强化
            resultlist.RemoveAll(delegate(GameItem item)
            {
                if (item != null)
                {
                    if (item.IsValid())
                    {
                        if (item.IsEquipMent())
                        {
                            if (item.GetEquipSlotIndex() == (int)EquipPackSlot.Slot_BELT)
                            {
                                return(true);
                            }
                        }
                    }
                }
                return(false);
            });
            //筛选规则3 装备等级高于玩家20级以上 不能作为材料
            int PlayerLevel = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level;

            //resultlist.RemoveAll(delegate(GameItem item)
            //{
            //    if (item != null)
            //    {
            //        if (item.IsValid())
            //        {
            //            if (item.IsEquipMent())
            //            {
            //                if (item.GetEquipLevel() > (PlayerLevel + 20))
            //                {
            //                    return true;
            //                }
            //            }
            //        }
            //    }
            //    return false;
            //});

            if (auto == true)
            {
                // 自动挂机,戒指跟吊坠不得作为材料
                resultlist.RemoveAll(delegate(GameItem item)
                {
                    if (item != null)
                    {
                        if (item.IsValid())
                        {
                            if (item.IsEquipMent())
                            {
                                if (item.GetEquipSlotIndex() == (int)EquipPackSlot.Slot_AMULET ||
                                    item.GetEquipSlotIndex() == (int)EquipPackSlot.Slot_RING)
                                {
                                    return(true);
                                }
                            }
                        }
                    }
                    return(false);
                });
            }

            if (valuable == true)
            {
                //筛选规则4 紫色橙色 && 需求等级与玩家等级相差在正负20级以内 && 不绑定可交易 不能作为材料
                resultlist.RemoveAll(delegate(GameItem item)
                {
                    if (item != null)
                    {
                        if (item.IsValid())
                        {
                            if (item.IsEquipMent())
                            {
                                if (item.GetQuality() == ItemQuality.QUALITY_PURPLE ||
                                    item.GetQuality() == ItemQuality.QUALITY_ORANGE)
                                {
                                    if (item.GetEquipLevel() <= (PlayerLevel + 20) ||
                                        item.GetEquipLevel() >= (PlayerLevel - 20))
                                    {
//                                        if (ConsignSaleBag.isCanConsignSale(item))
                                        {
                                            return(true);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    return(false);
                });
                //筛选规则5 紫色橙色 && 符合玩家职业 && 基础属性大于当前装备位 不能作为材料
                resultlist.RemoveAll(delegate(GameItem item)
                {
                    if (item != null)
                    {
                        if (item.IsValid())
                        {
                            if (item.IsEquipMent())
                            {
                                if (item.GetQuality() == ItemQuality.QUALITY_PURPLE ||
                                    item.GetQuality() == ItemQuality.QUALITY_ORANGE)
                                {
                                    Games.LogicObj.Obj_MainPlayer mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;
                                    if (null == mainPlayer)
                                    {
                                        LogModule.ErrorLog("mainplayer is null");
                                        return(false);
                                    }
                                    int nPlayerProfession = mainPlayer.Profession;
                                    if (item.GetProfessionRequire() == nPlayerProfession || item.GetProfessionRequire() == -1)
                                    {
                                        int slotindex         = item.GetEquipSlotIndex();
                                        GameItem compareEquip = GameManager.gameManager.PlayerDataPool.EquipPack.GetItem(slotindex);
                                        if (compareEquip != null)
                                        {
                                            if (compareEquip.IsValid() == false || item.GetCombatValue_NoStarEnchance() > compareEquip.GetCombatValue_NoStarEnchance())
                                            {
                                                return(true);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    return(false);
                });
                //筛选规则6 护符和戒指不能强化
                resultlist.RemoveAll(delegate(GameItem item)
                {
                    if (item != null)
                    {
                        if (item.IsValid())
                        {
                            if (item.IsEquipMent())
                            {
                                if (item.GetEquipSlotIndex() == (int)EquipPackSlot.Slot_AMULET ||
                                    item.GetEquipSlotIndex() == (int)EquipPackSlot.Slot_RING)
                                {
                                    return(true);
                                }
                            }
                        }
                    }
                    return(false);
                });
            }
            return(ItemSort(resultlist));
        }