Что нужно знать
Консоль в нашей игре позволяет управлять персонажем, выдавать предметы, тестировать функционал и создавать свои команды. С помощью консольных команд игроки могут:
Выдавать предметы
Включать демо-контент
Моментально переходить в другой мир
Создавать новые команды, которые будут автоматически доступны в игре
Система команд построена так, чтобы любой игрок с базовыми знаниями C# мог создать собственную команду, следуя простым правилам и шаблонам.
Как это работает
Каждая команда — это обычный C# класс, который:
Наследуется от базового класса
BaseConsoleCommand.Имеет обязательные свойства:
Name— имя команды (что вводится в консоль)Description— краткое описаниеUsage— пример использования команды
Реализует метод
Execute(string[] args, ConsoleContext context), где описана логика команды.
Все команды автоматически регистрируются при запуске игры через менеджер консоли (ConsoleManager).
Игрокам не нужно ничего регистрировать вручную — достаточно положить .cs файл команды в папку Assets/Scripts/Console/Commands/.
Аргументы команд
Команды могут принимать аргументы через пробел:
В методе
Executeаргументы доступны через массивstring[] args.Рекомендуется проверять длину массива и корректность аргументов, чтобы избежать ошибок.
Доступ к игровым системам
Метод Execute получает объект ConsoleContext, который содержит ссылки на основные игровые системы, к которым команда может обращаться:
Пример использования:
Где хранить команды
Все кастомные
.csфайлы команд помещаются в папку:
Любой класс, унаследованный от
BaseConsoleCommand, автоматически подхватывается консолью.Игроки могут создавать свои подпапки внутри
Commands, это не нарушает работу системы, но эти папки не будут как-либо задействованы в игре.
В следующих разделах
Пошаговое создание команды: как открыть шаблон и написать первую команду
Примеры команд: give, help, load
Шаблон команды: готовый
.csфайл с комментариями для игроков
Last updated