Условные символы не действуют как задумано - PullRequest
0 голосов
/ 30 марта 2020

Я работаю в одноигровой игре c#, и моя база кода состоит из 3 проектов в моем решении.

  1. Общая переносимая библиотека, которая содержит весь код моего игрового движка.
  2. Кросс-платформенный проект OpenGL для всех моих игровых функций
  3. Кросс-платформенный проект OpenGL для моего редактора

Моя цель - использовать условную компиляцию символы в коде моего движка (проект 1.), чтобы разделить код движка, чтобы я мог определить, является ли текущее приложение самой игрой, или я сейчас в редакторе (ie РЕДАКТОР или ИГРА, чтобы я мог иметь #if РЕДАКТОР или #if ИГРА et c). Я не хочу, чтобы в текущем коде была переменная экземпляра или переменная stati c, потому что я хотел бы скрыть определенные вещи от реального игрового проекта.

Моя основная проблема заключается в том, что если я определю условные символы в своем проекте редактора, он фактически не будет определен в коде моего движка, поскольку редактор ссылается на основной код игры, который имеет ссылку на код переносимого движка в теме. Я могу изменить условные символы в проекте кода игры (1.), и они будут отражены в коде движка.

Я пытался ссылаться на код переносимого движка прямо в самом проекте редактора, но это приводит к появлению ошибок конфликтов, поскольку на него также ссылаются в проекте кода игры.

Каким будет мой лучший способ решения этой проблемы?

Вот мои текущие настройки enter image description here

1 Ответ

1 голос
/ 30 марта 2020

Вы можете создать 2 конфигурации для своего редактора и игры.

Сборка> Диспетчер конфигурации ...

Настройка различных символов и позиций вывода.

Затем используйте пакетную сборку, чтобы построить 2 решения по отдельности.

Сборка> Пакетная сборка ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...