Использование символов препроцессора - PullRequest
0 голосов
/ 08 сентября 2018

Предупреждение: решено, возможно дубликат поста. Снесут по запросу.

Вопрос: Как установить переменную, такую ​​как XBOX, XNA или MONOGAME, в true или false?
Разработка: Итак, в c # есть такая замечательная вещь, как '#' (edit: директивы препроцессора).
Используется мной для разделения моего кода на регионы:

#region SomeRegion
void Function() { lalalala }
#endregion

И по коду, который я видел, проверял платформы или вещи более низкого уровня:

#if MONOGAME  
do moar stuf;  
#endif

#if EDITOR (unity)
some editor specific stuf
#else
runtime specific stuff
#endif

Но я хочу знать, могу ли я сделать что-то вроде:

#MONOGAME = true

(я пробовал это)

Справочная информация: я пытаюсь импортировать Farseer в моногамный проект. оператор #if !MONOGAME не вызывает false, поэтому он определяет Vector2 вместе с vector2 xna, и поэтому я хочу вручную установить для MONOGAME значение true.

1 Ответ

0 голосов
/ 08 сентября 2018

Спасибо @RonBeyer за указание в правильном направлении.

После небольшого исследования я нашел то, что мне нужно, глобальный символ препроцессора. Это вызовет #if xyz запросов true.

Вы можете создать глобальный в свойствах проекта -> build -> general -> условные символы компиляции.

...