Попытка создать инструмент создания элементов с расширенным окном редактора.Я получил тысячи разных чеков.И я почти уверен, что делаю это нелегко.
Поэтому я хотел бы спросить, может быть, есть способ сделать это каким-то простым способом, без этих проверок или с меньшим количеством проверок.Вот мой пример кода:
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;
}
}