RU CSharp Enums - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Перечисления и битовые флаги
enum задаёт именованные целочисленные значения. Его удобно применять для состояний сценария. Битовые флаги обычно имеют значения степеней двойки и атрибут [Flags]. Преобразование числа в enum само по себе не гарантирует, что значение объявлено.
Простой пример (Example.cs)
Сохраните этот пример отдельно как Example.cs. Запускайте его независимо от остальных примеров страницы.
Example.cs:
// PROJECT-EXAMPLE
State state = State.Ready;
System.Console.WriteLine(state);
enum State { Idle, Ready }
Результат:
Ready
enum ScriptMode { Idle, Searching, Completed }
ScriptMode mode = ScriptMode.Searching;
UO.Print(mode.ToString());
[Flags]
enum Checks { None = 0, Health = 1, Weight = 2, Target = 4 }
Checks enabled = Checks.Health | Checks.Weight;
bool checkHealth = (enabled & Checks.Health) != 0;
UO.Print($"Enabled={enabled}, health={checkHealth}");
Для интерфейса используйте понятные названия состояний. Значение Completed описывает ваше состояние алгоритма и не подтверждает ответ игрового сервера автоматически.
Официальная документация: Перечисления и битовые флаги — Microsoft Learn.