コード例 #1
0
ファイル: Main_Manager.cs プロジェクト: safe27698/PetStory
    private void LoadPet()
    {
        for (int i = 0; i < player.pets.Count; i++)
        {
            if (player.pets[i].color < 0 || !player.pets[i].selected || player.pets[i].status < 0)
            {
                continue;
            }

            PetAI clone = Instantiate(petPrefab.gameObject).GetComponent <PetAI>();
            clone.id        = player.pets[i].id;
            clone.namePet   = player.pets[i].namePet;
            clone.Hunger    = player.pets[i].hunger;
            clone.Happiness = player.pets[i].happiness;
            int color = player.pets[i].color;
            clone.head.sprite    = Atlas.Ins.GetSprites(Atlas.Ins.cha.head.color[color])[player.pets[i].head];
            clone.ear.sprite     = Atlas.Ins.GetSprites(Atlas.Ins.cha.ear.color[color])[player.pets[i].ear];
            clone.pattern.sprite = Atlas.Ins.GetSprites(Atlas.Ins.cha.pattern.color[color])[player.pets[i].pattern];
            clone.eye.sprite     = Atlas.Ins.GetSprites(Atlas.Ins.cha.eye)[player.pets[i].eye];
            clone.eyebrow.sprite = Atlas.Ins.GetSprites(Atlas.Ins.cha.eyebrow)[player.pets[i].eyebrow];
            clone.nose.sprite    = Atlas.Ins.GetSprites(Atlas.Ins.cha.nose)[player.pets[i].nose];
            clone.mouth.sprite   = Atlas.Ins.GetSprites(Atlas.Ins.cha.mouth)[player.pets[i].mouth];

            clone.body.sprite     = Atlas.Ins.GetSprites(Atlas.Ins.cha.body)[color];
            clone.armLeft.sprite  = Atlas.Ins.GetSprites(Atlas.Ins.cha.armLeft)[color];
            clone.armRight.sprite = Atlas.Ins.GetSprites(Atlas.Ins.cha.armRight)[color];
            clone.legLeft.sprite  = Atlas.Ins.GetSprites(Atlas.Ins.cha.legLeft)[color];
            clone.legRight.sprite = Atlas.Ins.GetSprites(Atlas.Ins.cha.legRight)[color];
            List <Sprite> sprite = new List <Sprite>();
            if (player.pets[i].shirtWearing >= 0)
            {
                sprite.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.clothes.shirt.number[player.pets[i].shirtWearing]));
            }
            if (sprite.Count > 1)
            {
                foreach (Sprite s in sprite)
                {
                    if (s.name.ToLower().Contains("body"))
                    {
                        clone.shirtBody.sprite = s;
                    }
                    else if (s.name.ToLower().Contains("left"))
                    {
                        clone.shirtLeft.sprite = s;
                    }
                    else if (s.name.ToLower().Contains("right"))
                    {
                        clone.shirtRight.sprite = s;
                    }
                }
            }
            else if (sprite.Count > 0)
            {
                clone.shirtBody.sprite = sprite[0];
            }
            sprite.Clear();
            if (player.pets[i].pantWearing >= 0)
            {
                sprite.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.clothes.pant.number[player.pets[i].pantWearing]));
            }
            if (sprite.Count > 1)
            {
                foreach (Sprite s in sprite)
                {
                    if (s.name.ToLower().Contains("body"))
                    {
                        clone.pantBody.sprite = s;
                    }
                    else if (s.name.ToLower().Contains("left"))
                    {
                        clone.pantLeft.sprite = s;
                    }
                    else if (s.name.ToLower().Contains("right"))
                    {
                        clone.pantRight.sprite = s;
                    }
                }
            }
            else if (sprite.Count > 0)
            {
                clone.pantBody.sprite = sprite[0];
            }

            sprite.Clear(); if (player.pets[i].shoeWearing >= 0)
            {
                sprite.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.clothes.shoe.number[player.pets[i].shoeWearing]));
            }
            foreach (Sprite s in sprite)
            {
                if (s.name.ToLower().Contains("left"))
                {
                    clone.shoeLeft.sprite = s;
                }
                else if (s.name.ToLower().Contains("right"))
                {
                    clone.shoeRight.sprite = s;
                }
            }

            sprite.Clear(); if (player.pets[i].accessoriesWearing >= 0)
            {
                sprite.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.clothes.ac));
            }
            if (sprite.Count > 0)
            {
                clone.ac.sprite = sprite[player.pets[i].accessoriesWearing];
            }

            petList.Add(clone);
        }

        foreach (Furniture f in player.inventory.furniture)
        {
            if (!f.furnitureIsUsing)
            {
                continue;
            }

            if (f.type == 3)
            {
                FurnitureData data = new FurnitureData();
                data.CloneData(f);
                ChangeFloor(data);
                continue;
            }
            if (f.type == 4)
            {
                FurnitureData data = new FurnitureData();
                data.CloneData(f);
                ChangeWallpaper(data);
                continue;
            }

            FurnitureData ff = new FurnitureData();
            ff.CloneData(f);
            CloneItem(ff);
        }
    }
コード例 #2
0
ファイル: Main_Type.cs プロジェクト: safe27698/PetStory
    public void LoadItem()
    {
        itemList = new List <Sprite>();

        switch (pathLoad)
        {
        case "Ac":
            itemList.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.clothesPre.ac));
            break;

        case "Shirt":
            itemList.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.clothesPre.shirt));
            break;

        case "Pant":
            itemList.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.clothesPre.pant));
            break;

        case "Shoe":
            itemList.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.clothesPre.shoe));
            break;

        case "Bed":
            itemList.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.furPre.bed));
            break;

        case "Decoration":
            itemList.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.furPre.decoration));
            break;

        case "Floor":
            itemList.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.furPre.floor));
            break;

        case "Furniture":
            itemList.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.furPre.furniture));
            break;

        case "Other":
            itemList.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.furPre.other));
            break;

        case "Wallpaper":
            itemList.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.furPre.wallpaper));
            break;

        case "Food":
            itemList.AddRange(Atlas.Ins.GetSprites(Atlas.Ins.food.food));
            break;
        }

        for (int i = 0; i < itemList.Count; i++)
        {
            ClothesData   c      = new ClothesData();
            FurnitureData f      = new FurnitureData();
            FoodData      fo     = new FoodData();
            Player        player = SaveSystem.A_LoadSaveGame();

            item.GetComponent <Image>().sprite = itemList[i];
            GameObject clone = Instantiate(item, parent);
            clone.name = i.ToString();

            if (clothesType != ClothesType.None)
            {
                c    = clone.AddComponent <ClothesData>();
                c.id = i;
            }
            else if (furnitureType != FurnitureType.None)
            {
                f    = clone.AddComponent <FurnitureData>();
                f.id = i;
            }
            else if (foodType != FoodType.None)
            {
                fo    = clone.AddComponent <FoodData>();
                fo.id = i;
            }

            switch (furnitureType)
            {
            case FurnitureType.Decoration:
                for (int y = 0; y < player.inventory.furniture.Count; y++)
                {
                    if (player.inventory.furniture[y].type == (int)FurnitureType.Decoration)
                    {
                        if (player.inventory.furniture[y].id == i)
                        {
                            clone.SetActive(true);
                            f.CloneData(player.inventory.furniture[y]);
                        }
                    }
                }
                break;

            case FurnitureType.Bed:
                for (int y = 0; y < player.inventory.furniture.Count; y++)
                {
                    if (player.inventory.furniture[y].type == (int)FurnitureType.Bed)
                    {
                        if (player.inventory.furniture[y].id == i)
                        {
                            clone.SetActive(true);
                            f.CloneData(player.inventory.furniture[y]);
                        }
                    }
                }
                break;

            case FurnitureType.Windows:
                for (int y = 0; y < player.inventory.furniture.Count; y++)
                {
                    if (player.inventory.furniture[y].type == (int)FurnitureType.Windows)
                    {
                        if (player.inventory.furniture[y].id == i)
                        {
                            clone.SetActive(true);
                            f.CloneData(player.inventory.furniture[y]);
                        }
                    }
                }
                break;

            case FurnitureType.Floor:
                for (int y = 0; y < player.inventory.furniture.Count; y++)
                {
                    if (player.inventory.furniture[y].type == (int)FurnitureType.Floor)
                    {
                        if (player.inventory.furniture[y].id == i)
                        {
                            clone.SetActive(true);
                            f.CloneData(player.inventory.furniture[y]);
                        }
                    }
                }
                break;

            case FurnitureType.Wallpaper:
                for (int y = 0; y < player.inventory.furniture.Count; y++)
                {
                    if (player.inventory.furniture[y].type == (int)FurnitureType.Wallpaper)
                    {
                        if (player.inventory.furniture[y].id == i)
                        {
                            clone.SetActive(true);
                            f.CloneData(player.inventory.furniture[y]);
                        }
                    }
                }
                break;

            case FurnitureType.Toy:
                for (int y = 0; y < player.inventory.furniture.Count; y++)
                {
                    if (player.inventory.furniture[y].type == (int)FurnitureType.Toy)
                    {
                        if (player.inventory.furniture[y].id == i)
                        {
                            clone.SetActive(true);
                            f.CloneData(player.inventory.furniture[y]);
                        }
                    }
                }
                break;
            }
            if (furnitureType != FurnitureType.None)
            {
                int t = (from tt in player.inventory.furniture
                         where f.id == tt.id && f.type == tt.type && !tt.furnitureIsUsing
                         select tt).Count();

                Text txt = clone.GetComponentInChildren <Text>();

                if (t > 0)
                {
                    txt.text = t.ToString();
                }
                else
                {
                    txt.text = "0";
                }
            }

            switch (clothesType)
            {
            case ClothesType.Accessories:
                for (int y = 0; y < player.inventory.clothes.Count; y++)
                {
                    if (player.inventory.clothes[y].type == (int)ClothesType.Accessories)
                    {
                        if (player.inventory.clothes[y].id == i)
                        {
                            clone.SetActive(true);
                            c.CloneData(player.inventory.clothes[y]);
                        }
                    }
                }
                break;

            case ClothesType.Shirts:
                for (int y = 0; y < player.inventory.clothes.Count; y++)
                {
                    if (player.inventory.clothes[y].type == (int)ClothesType.Shirts)
                    {
                        if (player.inventory.clothes[y].id == i)
                        {
                            clone.SetActive(true);
                            c.CloneData(player.inventory.clothes[y]);
                        }
                    }
                }
                break;

            case ClothesType.Pants:
                for (int y = 0; y < player.inventory.clothes.Count; y++)
                {
                    if (player.inventory.clothes[y].type == (int)ClothesType.Pants)
                    {
                        if (player.inventory.clothes[y].id == i)
                        {
                            clone.SetActive(true);
                            c.CloneData(player.inventory.clothes[y]);
                        }
                    }
                }
                break;

            case ClothesType.Shoes:
                for (int y = 0; y < player.inventory.clothes.Count; y++)
                {
                    if (player.inventory.clothes[y].type == (int)ClothesType.Shoes)
                    {
                        if (player.inventory.clothes[y].id == i)
                        {
                            clone.SetActive(true);
                            c.CloneData(player.inventory.clothes[y]);
                        }
                    }
                }
                break;
            }

            if (clothesType != ClothesType.None)
            {
                try
                {
                    Clothes t = (from tt in player.inventory.clothes
                                 where c.id == tt.id && c.type == tt.type
                                 select tt).First();

                    Text txt = clone.GetComponentInChildren <Text>();

                    if (t.count > 0)
                    {
                        txt.text = t.count.ToString();

                        foreach (Pet p in player.pets)
                        {
                            if (clothesType == ClothesType.Shirts && p.shirtWearing == c.id)
                            {
                                txt.text = (int.Parse(txt.text) - 1).ToString();
                            }
                            else if (clothesType == ClothesType.Pants && p.pantWearing == c.id)
                            {
                                txt.text = (int.Parse(txt.text) - 1).ToString();
                            }
                            else if (clothesType == ClothesType.Shoes && p.shoeWearing == c.id)
                            {
                                txt.text = (int.Parse(txt.text) - 1).ToString();
                            }
                            else if (clothesType == ClothesType.Accessories && p.accessoriesWearing == c.id)
                            {
                                txt.text = (int.Parse(txt.text) - 1).ToString();
                            }
                        }
                    }
                    else
                    {
                        txt.text = "0";
                    }
                }
                catch { }
            }
            switch (foodType)
            {
            case FoodType.Food:
                for (int y = 0; y < player.inventory.foods.Count; y++)
                {
                    if (player.inventory.foods[y].id == i && player.inventory.foods[y].count > 0)
                    {
                        clone.SetActive(true);
                        fo.CloneData(player.inventory.foods[y]);
                    }
                }
                break;
            }

            if (foodType != FoodType.None)
            {
                try
                {
                    Food t = (from tt in player.inventory.foods
                              where fo.id == tt.id
                              select tt).First();
                    Text txt = clone.GetComponentInChildren <Text>();

                    if (t.count > 0)
                    {
                        txt.text = t.count.ToString();
                    }
                    else
                    {
                        txt.text = "0";
                    }
                }
                catch { }
            }
        }
    }