Окно редактора элементов расширенного единства - PullRequest
0 голосов
/ 26 сентября 2019

Попытка создать инструмент создания элементов с расширенным окном редактора.Я получил тысячи разных чеков.И я почти уверен, что делаю это нелегко.

Поэтому я хотел бы спросить, может быть, есть способ сделать это каким-то простым способом, без этих проверок или с меньшим количеством проверок.Вот мой пример кода:

            switch (tempItem.damageTypes)
            {

                case DamageTypes.PHYSICAL:
                case DamageTypes.PHYSICAL | DamageTypes.Critical:
                case DamageTypes.Magical:
                case DamageTypes.True:

                    switch (tempItem.pasiveType)
                    {
                        case PasiveType.PHYSICAL_DAMAGE:
                        case PasiveType.PHYSICAL_DAMAGE | PasiveType.MOVEMENT_SPEED 
                                                          PasiveType.ATTACK_SPEED:
                        case PasiveType.PHYSICAL_DAMAGE | PasiveType.ATTACK_SPEED:
                        case PasiveType.ATTACK_SPEED:
                        case PasiveType.ATTACK_SPEED | PasiveType.MOVEMENT_SPEED:

                            if (itemoPrefabas.GetComponent<Itemspasive>() == null)
                                itemoPrefabas.AddComponent<Itemspasive>();

                            if (itemoPrefabas.GetComponent<ItemCoolDown>() == null)
                                itemoPrefabas.AddComponent<ItemCoolDown>();

                            break;
                    }
                    break;
            }

            switch (tempItem.pasiveType)
            {
                case PasiveType.ARMOR_PENETRATION:
                case PasiveType.CITICAL_DAMAGE:
                case PasiveType.COOLDOWN_REDUCE:
                case PasiveType.CRIT_CHANCE:
                case PasiveType.DEFENCIVE:
                case PasiveType.HEALING:
                case PasiveType.INCREASING_HEALTH:
                case PasiveType.LIFE_STEAL:
                case PasiveType.MAGICAL_DAMAGE:
                case PasiveType.MAGIC_PENETRATION:
                case PasiveType.MOVEMENT_SPEED:
                case PasiveType.PHYSICAL_DAMAGE:
                case PasiveType.REDUCE_HEALING:
                case PasiveType.TRUE_DAMAGE:

                    if (itemoPrefabas.GetComponent<Itemspasive>() == null)
                        itemoPrefabas.AddComponent<Itemspasive>();

                    break;
            }
        }

        void AddComponentsByChoosenTypeDefensive(GameObject itemoPrefabas)  
{
            var tempItem = ItemCreator.S_item;
            switch (tempItem.defensiveTypes)
            {
                case DefensiveTypes.ARMORS:
                case DefensiveTypes.INCREACED_HEALING:
                case DefensiveTypes.MAGIC_RESIST:
                case DefensiveTypes.REDUCE_CRIT_DAMAGE:
                case DefensiveTypes.SLOW_ATTACKING_SPEED:
                case DefensiveTypes.TENACITY:
                    // cia dar nieko nera!


                    break;
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...