В настоящее время я работаю над созданием игры dungeon-crawler-esque в c#, но в настоящее время у меня возникают проблемы с конструкторами класса. Мне было интересно, возможно ли иметь разные конструкторы в зависимости от начального значения enum? В этом случае у него есть только два возможных значения, поэтому достаточно простого логического значения, но если бы у меня было больше двух, мне было бы интересно, если бы вы могли выполнять разные конструкторы в зависимости от введенного начального значения перечисления? Извините, если мое форматирование неверно или я не очень точно указал c, я впервые задаю вопрос здесь:)).
Для справки здесь приведены мои текущие перечисления здесь:
public enum Type
{
Passive,
Action
}
public enum Trigger
{
PlayerTakeDamage,
EnemyTakeDamage,
Draw,
PlayerDebuff,
EnemyDebuff,
PlayCard
}
Вот что я хочу сделать sh:
public class Action
{
public int Energy {get; private set;}
public int Damage {get; private set;}
public Action(Type.Passive, Trigger trigger, int damage, int energy)
{
do thing;
}
public Action(Type.Action, int damage, int energy)
{
do other thing;
}
}
Опять же, я прошу прощения, если это глупый вопрос или я испортил форматирование здесь, но я был бы искренне признателен за любые советы или рекомендации, которые кто-либо мог бы предложить:))!
Редактировать: Извините, я не особо уточнил c о потенциальных приложениях. Я хочу перегрузить конструкторы, основываясь на начальном значении enum, потому что я хочу заполнить другие дополнительные параметры после того, как это потребуется при создании. Я добавил пояснения, чтобы помочь:)).