Esempio n. 1
0
        private void SetPetsInfo(int petType)
        {
            ClearPetsInfo();
            int num = 0;

            //先显示可以召唤的宠物数据
            List <SysPet> unOwnPet = new List <SysPet>();

            foreach (SysPet pet in PetLogic.SysPets)
            {
                if (petType == 0 || pet.type == petType)
                {
                    if (PetLogic.CanOwn(pet))
                    {
                        num++;
                        SetPetInfo(pet, num, true);
                    }
                    else if (!PetLogic.IsOwn(pet))
                    {
                        unOwnPet.Add(pet);
                    }
                }
            }

            //再显示已经拥有的宠物
            foreach (PPet pet in Singleton <PetMode> .Instance.AllPets)
            {
                SysPet spet = BaseDataMgr.instance.GetDataById <SysPet>(pet.petId);
                if (petType == 0 || spet.type == petType)
                {
                    num++;
                    SetPetInfo(spet, num, true);
                }
            }

            //已拥有和可召唤的宠物数
            petNum = num;

            //再显示未拥有的宠物
            foreach (SysPet pet in unOwnPet)
            {
                num++;
                SetPetInfo(pet, num, false);
            }

            SetFGTitlePos();

            scrollView.ResetPosition();

            SetPetPublicInfo();
        }
Esempio n. 2
0
        private void OnPetClick(GameObject obj)
        {
            uint   petId = uint.Parse(obj.name);
            SysPet pet   = BaseDataMgr.instance.GetDataById <SysPet>(petId);

            if (PetLogic.CanOwn(pet))
            {
                Singleton <PetControl> .Instance.ActiveAPet(petId);
            }
            else
            {
                PPet p = Singleton <PetMode> .Instance.GetPetByPetId(petId);

                if (p == null)
                {
                    Singleton <PetStoneTipsView> .Instance.OpenView(petId);
                }
                else
                {
                    Singleton <PetInfoView> .Instance.OpenView(petId);
                }
            }
        }
Esempio n. 3
0
        private bool CheckTips()
        {
            foreach (SysPet spet in PetLogic.SysPets)
            {
                if (PetLogic.CanOwn(spet))
                {
                    return(true);
                }
            }

            if (AllPets != null)
            {
                foreach (PPet pet in AllPets)
                {
                    for (int i = 1; i < 7; i++) //检查装备
                    {
                        int result = PetLogic.CheckEquip(pet.petId, i);
                        if (result == 1 || result == 3)
                        {
                            return(true);
                        }
                    }

                    if (PetLogic.CanEvolve(pet))
                    {
                        return(true);
                    }
                    if (PetLogic.CanUpgrade(pet))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Esempio n. 4
0
        //设置宠物信息
        private void SetPetInfo(SysPet pet, int num, bool own)
        {
            GameObject petobj;

            if (num > petsObj.Count)
            {
                petobj = GameObject.Instantiate(petsObj[0]) as GameObject;
                petsObj.Add(petobj);
                petobj.transform.parent     = petsObj[0].transform.parent;
                petobj.transform.localScale = new Vector3(1, 1, 1);
                petobj.SetActive(false);
                petobj.GetComponent <UIWidgetContainer>().onClick = OnPetClick;
                petobj.name = pet.id.ToString();
            }
            else
            {
                petobj      = petsObj[num - 1];
                petobj.name = pet.id.ToString();
            }

            SetPetObjPos(petobj, num, own);

            NGUITools.FindInChild <UISprite>(petobj, "image").spriteName = pet.icon.ToString();

            petobj.SetActive(true);
            NGUITools.FindChild(petobj, "tips").SetActive(false); //提示默认关闭

            if (!own || PetLogic.CanOwn(pet))
            {
                NGUITools.FindInChild <UILabel>(petobj, "name").text = pet.name;
                UIUtils.ChangeGrayShader(NGUITools.FindInChild <UISprite>(petobj, "image"), imageDepth - 1);
                NGUITools.FindChild(petobj, "equips").SetActive(false);
                NGUITools.FindChild(petobj, "level").SetActive(false);
                NGUITools.FindChild(petobj, "stars").SetActive(false);
                NGUITools.FindChild(petobj, "stone").SetActive(true);
                int stone = Singleton <GoodsMode> .Instance.GetCountByGoodsId((uint)pet.stone_id);

                int need = PetLogic.GetNeedStone((uint)pet.star, false);

                NGUITools.FindInChild <UISprite>(petobj, "gradeicn").spriteName = "";
                NGUITools.FindInChild <UISlider>(petobj, "stone").value         = stone / (float)need;

                NGUITools.FindInChild <UILabel>(petobj, "stone/num").text = stone + "/" + need;

                if (PetLogic.CanOwn(pet))
                {
                    NGUITools.FindChild(petobj, "active").SetActive(true);
                    NGUITools.FindChild(petobj, "tips").SetActive(true);
                    NGUITools.FindChild(petobj, "gradeicn").SetActive(false);
                }
                else
                {
                    NGUITools.FindChild(petobj, "gradeicn").SetActive(false);
                    NGUITools.FindChild(petobj, "active").SetActive(false);
                }
            }
            else
            {
                PPet ppet = Singleton <PetMode> .Instance.GetPetByPetId((uint)pet.id);

                NGUITools.FindChild(petobj, "gradeicn").SetActive(true);
                NGUITools.FindInChild <UISprite>(petobj, "gradeicn").spriteName = PetLogic.GetGradeIcn(ppet.grade);
                NGUITools.FindInChild <UILabel>(petobj, "name").text            = PetLogic.GetGradeDes(ppet.grade, pet.name);
                UIUtils.ChangeNormalShader(NGUITools.FindInChild <UISprite>(petobj, "image"), imageDepth);
                NGUITools.FindChild(petobj, "equips").SetActive(true);
                NGUITools.FindChild(petobj, "level").SetActive(true);
                NGUITools.FindInChild <UILabel>(petobj, "level/label").text = ppet.lvl.ToString();
                NGUITools.FindChild(petobj, "stars").SetActive(true);
                SetStar(petobj, ppet.star);
                SetEquipInfo(petobj, ppet.petId);
                NGUITools.FindChild(petobj, "stone").SetActive(false);
                NGUITools.FindChild(petobj, "active").SetActive(false);
                //检查是否可以升阶-升星
                if (PetLogic.CanUpgrade(ppet) || PetLogic.CanEvolve(ppet))
                {
                    NGUITools.FindChild(petobj, "tips").SetActive(true);
                }
            }

            NGUITools.FindInChild <UISprite>(petobj, "typeicn").spriteName = PetLogic.GetTypeIcnName(pet.type);
        }