Пример #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();
        }