Ejemplo n.º 1
0
        private void CustomizeTraits()
        {
            SpecialCharacter spChar = (SpecialCharacter)m_character;

            Trait newTrait = spChar.Traits[0];

            TraitDescriptionText.text = newTrait.description;
            TraitNameText.text        = newTrait.name;
            TraitImage.sprite         = spChar.Traits[0].Sprite;
            Trait.SetActive(true);
        }
Ejemplo n.º 2
0
        public void SetTraits()
        {
            foreach (GameObject trait in traits)
            {
                Destroy(trait.gameObject);
            }

            if (m_character.GetType() == typeof(SpecialCharacter))
            {
                SpecialCharacter spChar = (SpecialCharacter)m_character;
                traits = new List <GameObject>();
                for (int i = 0; i < spChar.Traits.Count; i++)
                {
                    traits.Add(Instantiate(traitPrefab, traitsParameters.transform));
                    traits[i].GetComponent <TraitsCustomization>().CustomizeTrait(spChar.Traits[i]);
                }
                traitsParameters.SetActive(true);
            }
            else
            {
                traitsParameters.SetActive(false);
            }
        }
Ejemplo n.º 3
0
        private static float CalculateBanditsStats(Robbery robbery, out List <Trait> chanceTraits)
        {
            int         count = 0;
            RobberyType rType = robbery.RobberyType;

            chanceTraits = new List <Trait>();
            List <Trait> groupTraits = new List <Trait>();

            float cStrength = 0;
            float cAgility  = 0;
            float cSkill    = 0;
            float cLuck     = 0;
            float cFear     = 0;

            foreach (Character character in robbery.Characters)
            {
                count++;
                float coefStr = 1, coefAg = 1, coefSk = 1, coefL = 1, coefF = 1;

                if (character.GetType() == typeof(SpecialCharacter))
                {
                    SpecialCharacter spChar = (SpecialCharacter)character;
                    foreach (Trait trait in spChar.Traits)
                    {
                        //При редактировании трейтов ДОБАВИТЬ ИХ СЮДА!!!!!
                        switch (trait.traitType)
                        {
                        case TraitType.single:
                            switch (trait.stat)
                            {
                            case Stat.strenght:
                                coefStr = trait.value;
                                break;

                            case Stat.luck:
                                coefL = trait.value;
                                break;

                            case Stat.fear:
                                coefF = trait.value;
                                break;

                            case Stat.skill:
                                coefSk = trait.value;
                                break;

                            case Stat.agility:
                                coefAg = trait.value;
                                break;
                            }
                            break;

                        case TraitType.group:
                            groupTraits.Add(trait);
                            break;

                        case TraitType.chance:
                            chanceTraits.Add(trait);
                            break;
                        }
                    }
                }

                cStrength += (character.Stats.Strength * coefStr);
                cAgility  += (character.Stats.Agility * coefAg);
                cSkill    += (character.Stats.Skill * coefSk);
                cLuck     += (character.Stats.Luck * coefL);
                cFear     += (character.Stats.Fear * coefF);
            }

            foreach (Trait groupTrait in groupTraits)
            {
                switch (groupTrait.stat)
                {
                case Stat.strenght:
                    cStrength *= groupTrait.value;
                    break;

                case Stat.luck:
                    cLuck *= groupTrait.value;
                    break;

                case Stat.fear:
                    cFear *= groupTrait.value;
                    break;

                case Stat.skill:
                    cSkill *= groupTrait.value;
                    break;

                case Stat.agility:
                    cAgility *= groupTrait.value;
                    break;
                }
            }

            return
                ((cStrength * m_robberiesCollection.Robberies[(int)rType].StrenghtInfluence +
                  cLuck * m_robberiesCollection.Robberies[(int)rType].LuckInfluence +
                  cAgility * m_robberiesCollection.Robberies[(int)rType].AgilityInfluence +
                  cSkill * m_robberiesCollection.Robberies[(int)rType].SkillInfluence)
                 *
                 (1 - cFear / (110 * count)));
        }