Пример #1
0
    public void SetEquipment(ChangeNewEquip cne)
    {
        LevelLock info = LevelLockProvider.Instance.GetDataById(16);
        RoleInfo  role = LobbyClient.Instance.CurrentRole;

        if (info.m_Level > role.Level)
        {
            return;
        }
        if (cne != null)
        {
            id         = cne.id;
            propertyid = cne.propertyid;
            ItemConfig ic = ItemConfigProvider.Instance.GetDataById(id);
            if (ic != null)
            {
                UnityEngine.Transform tf = transform.Find("bc/goods/Texture");
                if (tf != null)
                {
                    UITexture ut = tf.gameObject.GetComponent <UITexture>();
                    if (ut != null)
                    {
                        UnityEngine.Texture tt = GamePokeyManager.GetTextureByPicName(ic.m_ItemTrueName);
                        if (tt != null)
                        {
                            ut.mainTexture = tt;
                        }
                    }
                }
                tf = transform.Find("bc/goods");
                if (tf != null)
                {
                    UISprite us = tf.gameObject.GetComponent <UISprite>();
                    if (us != null)
                    {
                        us.spriteName = "EquipFrame" + ic.m_PropertyRank;
                    }
                }
            }
            UIManager.Instance.ShowWindowByName("DynamicEquipment");
        }
    }
Пример #2
0
    private void NewEquipment(List <NewEquipInfo> neil)
    {
        try
        {
            if (neil != null && neil.Count > 0 && changeitemDic != null)
            {
                ArkCrossEngine.ItemConfig ic = null;
                for (int i = 0; i < neil.Count; i++)
                {
                    if (neil[i] != null)
                    {
                        ic = ArkCrossEngine.ItemConfigProvider.Instance.GetDataById(neil[i].ItemId);
                        if (ic != null)
                        {
                            if (changeitemDic.ContainsKey(ic.m_WearParts))
                            {
                                ChangeNewEquip cne = changeitemDic[ic.m_WearParts];
                                if (cne != null)
                                {
                                    float score = GetItemFightScore(neil[i].ItemId, neil[i].ItemRandomProperty, cne.needlevel);
                                    if (score > cne.fightscore)
                                    {
                                        changeitemDic[ic.m_WearParts] = new ChangeNewEquip(neil[i].ItemId, neil[i].ItemRandomProperty, score, cne.needlevel);
                                    }
                                }
                            }
                            else if (GetEquipmentInfo(ic.m_WearParts) != null)
                            {
                                EquipmentInfo ei     = GetEquipmentInfo(ic.m_WearParts);
                                float         score0 = GetItemFightScore(ei.id, ei.propertyid, ei.level);
                                float         score1 = GetItemFightScore(neil[i].ItemId, neil[i].ItemRandomProperty, ei.level);
                                if (score0 < score1)
                                {
                                    changeitemDic.Add(ic.m_WearParts, new ChangeNewEquip(neil[i].ItemId, neil[i].ItemRandomProperty, score1, ei.level));
                                }
                            }
                            else
                            {
                                float score2 = GetItemFightScore(neil[i].ItemId, neil[i].ItemRandomProperty, 1);
                                changeitemDic.Add(ic.m_WearParts, new ChangeNewEquip(neil[i].ItemId, neil[i].ItemRandomProperty, score2, 1));
                            }
                        }
                    }
                }

                /*
                 * foreach (NewEquipInfo nei in neil) {
                 * if (nei != null) {
                 * ic = ArkCrossEngine.ItemConfigProvider.Instance.GetDataById(nei.ItemId);
                 * if (ic != null) {
                 * if (changeitemDic.ContainsKey(ic.m_WearParts)) {
                 * ChangeNewEquip cne = changeitemDic[ic.m_WearParts];
                 * if (cne != null) {
                 * float score = GetItemFightScore(nei.ItemId, nei.ItemRandomProperty, cne.needlevel);
                 * if (score > cne.fightscore) {
                 *  changeitemDic[ic.m_WearParts] = new ChangeNewEquip(nei.ItemId, nei.ItemRandomProperty, score, cne.needlevel);
                 * }
                 * }
                 * } else if (GetEquipmentInfo(ic.m_WearParts) != null) {
                 * EquipmentInfo ei = GetEquipmentInfo(ic.m_WearParts);
                 * float score0 = GetItemFightScore(ei.id, ei.propertyid, ei.level);
                 * float score1 = GetItemFightScore(nei.ItemId, nei.ItemRandomProperty, ei.level);
                 * if (score0 < score1) {
                 * changeitemDic.Add(ic.m_WearParts, new ChangeNewEquip(nei.ItemId, nei.ItemRandomProperty, score1, ei.level));
                 * }
                 * } else {
                 * float score2 = GetItemFightScore(nei.ItemId, nei.ItemRandomProperty, 1);
                 * changeitemDic.Add(ic.m_WearParts, new ChangeNewEquip(nei.ItemId, nei.ItemRandomProperty, score2, 1));
                 * }
                 * }
                 * }
                 * }*/
                foreach (ChangeNewEquip cne in changeitemDic.Values)
                {
                    if (cne != null)
                    {
                        UnityEngine.GameObject go = UIManager.Instance.GetWindowGoByName("DynamicEquipment");
                        if (go != null)
                        {
                            DynamicEquipment de = go.GetComponent <DynamicEquipment>();
                            if (de != null)
                            {
                                de.SetEquipment(new ChangeNewEquip(cne.id, cne.propertyid, 0, 0));
                                break;
                            }
                        }
                    }
                }
            }
        }
        catch (Exception ex)
        {
            ArkCrossEngine.LogicSystem.LogFromGfx("[Error]:Exception:{0}\n{1}", ex.Message, ex.StackTrace);
        }
    }