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 г.