Перейти к основному содержанию
Space Station 14 и Robust активно используют C# Preprocessor Directives для различных целей. В этом документе речь пойдёт о #if и его собратьях — условной компиляции кода в зависимости от настроек. Этот документ описывает все директивы препроцессора (то, что можно указывать после #if), объявленные в Robust.

Самые распространённые

  • DEBUG: Игра должна компилироваться с отладочными проверками, такими как DebugTools.Assert().
  • TOOLS: Игра должна компилироваться с включёнными инструментами разработки.
  • RELEASE: Игра компилируется в конфигурации сборки Release. Как правило, вам не нужно проверять это; вместо этого предпочтительнее проверять DEBUG и TOOLS, где это применимо.

Специфичные

Обычно они не нужны для разработки контента — это больше для внутренностей движка.
  • FULL_RELEASE: Указывает, собирается ли сборка для релиза, в который будут играть пользователи. Необходимо для правильной настройки некоторых вещей, таких как ресурсы, в финальной сборке.
  • DEVELOPMENT: Противоположность FULL_RELEASE. Всегда истинно для локальной разработки, ложно для опубликованных релизов.
  • WINDOWS / UNIX / LINUX / MACOS: Указывает платформу, для которой ведётся компиляция. Во многих случаях вместо условной компиляции используются проверки OperatingSystem.IsX() во время выполнения.
  • EXCEPTION_TOLERANCE: Делает игру более устойчивой к сбоям, вставляя try-catch повсюду. В отладочной сборке игра намеренно хрупкая, чтобы стимулировать исправление багов.
  • CLIENT_SCRIPTING: Включает C# Interactive на стороне клиента. Отключено в релизных сборках по соображениям безопасности и размера.
  • USE_SYSTEM_SQLITE: Использовать системную библиотеку SQLite вместо встроенной e_sqlite. Используется для FreeBSD.
Последнее изменение 21 июня 2026 г.