Esempio n. 1
0
        //设置合成装备信息
        private void SetCombineEquipInfo(int pos ,int equipId,int num)
        {
            GameObject obj = hcList[pos];
            SysEquipVo equipVo = BaseDataMgr.instance.GetDataById<SysEquipVo>((uint)equipId);
            obj.name = equipId.ToString();
            NGUITools.FindInChild<UISprite>(obj, "gradeicn").spriteName = "epz_"+equipVo.grade;
            NGUITools.FindInChild<UISprite>(obj, "icn").spriteName = equipVo.icon.ToString();


            NGUITools.FindInChild<UISprite>(obj, "icn1").spriteName = equipVo.icon.ToString();



            int cNum = Singleton<GoodsMode>.Instance.GetCountByGoodsId((uint) equipId);
            NGUITools.FindInChild<UILabel>(obj, "num").text = cNum + "/" + num;
            if (cNum >= num)
            {
                NGUITools.FindInChild<UILabel>(obj, "num").color = ColorConst.FONT_YELLOW;
            }
            else
            {
                if (PetLogic.CanCombine((uint) equipId, true, num) > 0) //子项可以合成
                {
                    NGUITools.FindInChild<UILabel>(obj, "num").color = ColorConst.FONT_GREEN;
                }
                else
                {
                    NGUITools.FindInChild<UILabel>(obj, "num").color = ColorConst.FONT_RED;
                }
            }

        }
Esempio n. 2
0
        private void OnRightButtonClick(GameObject obj)
        {
            SysEquipVo evo = equipList[equipList.Count - 1];
            if (evo.material.Length < 4) //不可合成
            {
                if (equipList.Count > 1) //返回上一物品
                {
                    equipList.RemoveAt(equipList.Count - 1);
                    ShowRightObjInfo();
                }
                else //关闭右边页面
                {
                    rightPlay.PlayReverse();
                    rightOpen = false;
                    leftPlay.PlayReverse();
                }
            }
            else //检查合成
            {
                int[] material = StringUtils.GetArrayStringToInt(evo.material);
                bool oneCanCombine = false;
                bool allCanCombine = true;
                for(int i =0;i<material.Count();) //检查子项目
                {

                    int cnum = Singleton<GoodsMode>.Instance.GetCountByGoodsId((uint) material[i]);
                    if (cnum< material[i+1]) //检查当前已有的数量
                    {
                        allCanCombine = false;
                        if (PetLogic.CanCombine((uint)material[i], true, material[i + 1]) > 0) //检查已有数量+可合成数量
                        {
                            oneCanCombine = true;
                        }
                    }
                    i = i + 2;
                }

                if (allCanCombine)
                {
                    //检查钱
                    if (evo.spend > MeVo.instance.diam)
                    {
                        MessageManager.Show("当前金币不足!");
                    }
                    else
                    {
                        Singleton<PetControl>.Instance.CombinePetEquip((uint)evo.id);
                    }
                    
                }
                else
                {
                    if (oneCanCombine)
                    {
                        MessageManager.Show("请先合成绿色数字提示装备!");
                    }
                    else
                    {
                        MessageManager.Show("材料不足,请先去收集一些吧!");
                    }
                }

            }
        }