Exemplo n.º 1
0
    void OnClick()
    {
        int index = 0;

        for (int i = 0; i < Mathf.Min(PartName.Count, BodyParts.Count); i++)
        {
            if (PlayerPrefs.GetString("CharacterType") == "Male")
            {
                index = BoyCharacterParts.FindIndex(obj => obj.name == PartName [i]);
                BoyCharacterParts[index].GetComponent <SpriteRenderer>().sprite = BodyParts[i];
            }
            else
            {
                index = GirlcharacterParts.FindIndex(obj => obj.name == PartName [i]);
                GirlcharacterParts [index].GetComponent <SpriteRenderer> ().sprite = BodyParts[i];
            }
        }

        var cs = new CustomCharacterSaving();

        cs.IndexofItem = Index;
        cs.Color       = CharacterCustomizationAtStart.Instance.SelectedColor;

        if (CharacterCustomizationAtStart.Instance.EditedCharDict.ContainsKey(CharacterCustomizationAtStart.Instance.SelectedCategory))
        {
            CharacterCustomizationAtStart.Instance.EditedCharDict.Remove(CharacterCustomizationAtStart.Instance.SelectedCategory);
        }

        CharacterCustomizationAtStart.Instance.EditedCharDict.Add(CharacterCustomizationAtStart.Instance.SelectedCategory, cs);
    }
    void ChangeCharacterRandomlyCategoryWise(BodyParts[] parts, string Category, string Color = null)
    {
        var cs = new CustomCharacterSaving();

        var AllCustomData = Resources.Load <CustomisationAllData> ("CustomisationAllData");

        foreach (var _char in AllCustomData.MyChars)
        {
            if (_char._category.Contains(Category) && _char._gender == PlayerPrefs.GetString("CharacterType"))
            {
                int RandomColor = 0;
                if (Color != null)
                {
                    RandomColor = _char.AllColors.FindIndex(colorobj => colorobj.name == Color);
                }
                else
                {
                    RandomColor = UnityEngine.Random.Range(0, _char.AllColors.Count);
                }

                int RandomIndex = UnityEngine.Random.Range(0, _char.AllColors [RandomColor].AllItems.Count);

                var PartName = _char.PartName;
                var item     = _char.AllColors [RandomColor].AllItems [RandomIndex];

                cs.IndexofItem = RandomIndex;
                cs.Color       = _char.AllColors [RandomColor].name;

                foreach (var part in parts)
                {
                    for (int i = 0; i < Mathf.Min(PartName.Count, item.images.Count); i++)
                    {
                        if (part.name == PartName [i])
                        {
                            part.GetComponent <SpriteRenderer> ().sprite = item.images [i];
                        }
                    }
                }
            }
        }
        if (EditedCharDict.ContainsKey(Category))
        {
            EditedCharDict [Category] = cs;
        }
        else
        {
            EditedCharDict.Add(Category, cs);
        }
    }
Exemplo n.º 3
0
    public void OnColor()
    {
        CharacterCustomizationAtStart.Instance.SelectedColor = ThisColor.name;
        if (string.IsNullOrEmpty(CharacterCustomizationAtStart.Instance.SelectedCategory))
        {
            CharacterCustomizationAtStart.Instance.SelectedCategory = "SkinTone";
        }
//        switch(CharacterCustomizationAtStart.Instance.SelectedCategory)
//        {
//            case "SkinTone":
//                break;
//            case "Eyes":
//                CharacterCustomizationAtStart.Instance.Eyes = Index;
//                break;
//            case "Nose":
//                CharacterCustomizationAtStart.Instance.Nose = Index;
//                break;
//            case "Lips":
//                break;
//            case "Hair":
//                break;
//            case "Ears":
//                break;
//            case "Shoes":
//                break;
//        }

        //

        var cs = new CustomCharacterSaving();

        cs.Color = ThisColor.name;
        if (CharacterCustomizationAtStart.Instance.EditedCharDict.ContainsKey(CharacterCustomizationAtStart.Instance.SelectedCategory))
        {
            cs.IndexofItem = CharacterCustomizationAtStart.Instance.EditedCharDict[CharacterCustomizationAtStart.Instance.SelectedCategory].IndexofItem;
        }
        else
        {
            cs.IndexofItem = 0;
        }

        if (CharacterCustomizationAtStart.Instance.EditedCharDict.ContainsKey(CharacterCustomizationAtStart.Instance.SelectedCategory))
        {
            CharacterCustomizationAtStart.Instance.EditedCharDict.Remove(CharacterCustomizationAtStart.Instance.SelectedCategory);
        }

        CharacterCustomizationAtStart.Instance.EditedCharDict.Add(CharacterCustomizationAtStart.Instance.SelectedCategory, cs);


        if (!iscoloronly)
        {
            if (CharacterCustomizationAtStart.Instance.SelectedCategory == "Shoes")
            {
                CharacterCustomizationAtStart.Instance.GenerateShoesButton();
            }
            else
            {
                CharacterCustomizationAtStart.Instance._GenerateButtons();
            }
        }
        else
        {
//            switch(ThisColor.name){
//                case "White":
////                    PlayerPrefs.SetInt("SkinToneColor", 0);
            CharacterCustomizationAtStart.Instance.SelectedCharacter.GetComponent <CharacterProperties>().PlayerType = ThisColor.name;
//                    break;
//                case "Brown":
//                    PlayerPrefs.SetInt("SkinToneColor", 1);
//                    break;
//                case "Black":
//                    PlayerPrefs.SetInt("SkinToneColor", 2);
//                    break;
//                default:
//                    PlayerPrefs.SetInt("SkinToneColor", 0);
//                    break;

//            }
//            ChangeDress(cs.IndexofItem);
        }
        ChangeDress(cs.IndexofItem);
    }
Exemplo n.º 4
0
    void ChangeDress(int index = 0)
    {
        for (int i = 0; i < Mathf.Min(PartName.Count, ThisColor.AllItems[index].images.Count); i++)
        {
            if (PlayerPrefs.GetString("CharacterType") == "Male")
            {
                foreach (var part in BoyCharacterParts)
                {
                    if (part.name == PartName [i])
                    {
                        part.GetComponent <SpriteRenderer>().sprite = ThisColor.AllItems[index].images[i];
                    }
                }
            }
            else
            {
                foreach (var part in GirlcharacterParts)
                {
                    if (part.name == PartName [i])
                    {
                        part.GetComponent <SpriteRenderer>().sprite = ThisColor.AllItems[index].images[i];
                    }
                }
            }
        }
        if (CharacterCustomizationAtStart.Instance.SelectedCategory == "SkinTone")
        {
            if (CharacterCustomizationAtStart.Instance.EditedCharDict.ContainsKey("Nose"))
            {
                var IndexofItem = CharacterCustomizationAtStart.Instance.EditedCharDict["Nose"].IndexofItem;
                if (PlayerPrefs.GetString("CharacterType") == "Male")
                {
                    PlayerManager.Instance.ApplyDress(BoyCharacterParts, "Male", "Nose", ThisColor.name, IndexofItem);
                }
                else
                {
                    PlayerManager.Instance.ApplyDress(GirlcharacterParts, "Female", "Nose", ThisColor.name, IndexofItem);
                }

                var cs = new CustomCharacterSaving();
                cs.Color       = ThisColor.name;
                cs.IndexofItem = IndexofItem;
                CharacterCustomizationAtStart.Instance.EditedCharDict["Nose"] = cs;
            }

            if (CharacterCustomizationAtStart.Instance.EditedCharDict.ContainsKey("Ears"))
            {
                var IndexofItem = CharacterCustomizationAtStart.Instance.EditedCharDict["Ears"].IndexofItem;
                if (PlayerPrefs.GetString("CharacterType") == "Male")
                {
                    PlayerManager.Instance.ApplyDress(BoyCharacterParts, "Male", "Ears", ThisColor.name, IndexofItem);
                }
                else
                {
                    PlayerManager.Instance.ApplyDress(GirlcharacterParts, "Female", "Ears", ThisColor.name, IndexofItem);
                }
                var cs = new CustomCharacterSaving();
                cs.Color       = ThisColor.name;
                cs.IndexofItem = IndexofItem;
                CharacterCustomizationAtStart.Instance.EditedCharDict["Ears"] = cs;
            }
            if (CharacterCustomizationAtStart.Instance.EditedCharDict.ContainsKey("Shoes"))
            {
                var IndexofItem = CharacterCustomizationAtStart.Instance.EditedCharDict["Shoes"].IndexofItem;
                var Color       = CharacterCustomizationAtStart.Instance.EditedCharDict["Shoes"].Color;
                if (PlayerPrefs.GetString("CharacterType") == "Male")
                {
                    CharacterCustomizationAtStart.Instance.ChangeShoesOnClickSkinTone(Color, IndexofItem);
                }
                else
                {
                    CharacterCustomizationAtStart.Instance.ChangeShoesOnClickSkinTone(Color, IndexofItem);
                }
//                var cs = new CustomCharacterSaving();
//                cs.Color = ThisColor.name;
//                cs.IndexofItem = IndexofItem;
//                CharacterCustomizationAtStart.Instance.EditedCharDict["Shoes"] = cs;
            }
        }
    }