Jump to content

Добавить больше defines в проекты с C#


photo

Recommended Posts

Posted

Добрый день, очень сильно не хватает большего кол-ва define-ов в создаваемом проекте под C#. Аналогичных как в Unity: UNITY, UNITY_EDITOR, UNITY_2019, UNITY_2020 и т.д. Я видел только UNIGINE_DOUBLE, но этого не достаточно.


Зачем это надо? Это позволит использовать единый код для собрки под разные движки. У меня есть пару ассетов, которые бы я хотел портировать на Unigine с Unity, и при этом продолжать поддерживать разработку сразу на обоих движках. Если я правильно понимаю, то самый распространённый шаринг third-party кода в Unigine и Unity аналогичен: кидаешь в проект сорцы - используешь. Соответственно проект Unity даёт знать о себе почти всё, при компиляции через defines этих сорцов, а вот проект Unigine не даёт, конечно можно было бы решить это как-то так:

#if UNITY

  // UNITY 
  
#else
  
  // UNIGINE?
  
#endif

Но если я захочу этот код использовать в других движках? Очевидно плохое решение.

Вторым решением может быть то, что в инструкции указывать - объявляйте в .csproj define - UNIGINE и тогда всё будет работать. Это выглядит как решение, пока не начнут появляться еще ассеты, которые будут просить объявлять define по типу - MYASSET_UNIGINE, что теоретически может привести к зоопарку таких вот объявлений.

В общем большая просьба, сделайте в дефолтном проекте на C# хотя бы обявление define UNIGINE. А если уж накинете и версии и прочее аналогично Unity - вообще клёво будет.

Вот.

  • Like 1
Posted

Владимир, здравствуйте!

Да, действительно дефайны с версиями есть сейчас только в C++, в C# пока не пробрасывали. Вроде бы технически не должно быть сложно сделать, но как всегда могут быть нюансы :) Задачка похожая уже есть в бэклоге, думаю что в одном из следующих обновлений часть дефайнов из C++ получится перетащить.

Спасибо.

  • Like 1

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Posted

Спасибо большое, надеюсь, что получится. 


На всякий уточняю, так как я не понял из ответа понятно ли что я попросил, что не только версии, но и просто дефолтный дефайн, обозначающий, что проект для движка в виде UNIGINE очень хотелось бы. Что бы всё же в коде можно было разделять логику одних движков от других:

#if UNIGINE
  // UNIGINE
#elif UNITY
  // UNITY   
#endif

 

Еще раз спасибо!

×
×
  • Create New...