首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平台依赖过剩

平台依赖过剩
EN

Stack Overflow用户
提问于 2020-05-24 22:13:09
回答 2查看 153关注 0票数 0

是否有一种方法可以判断一个项目是否被联合使用,是否被编译成XBOX,Windows,Android.或者还在编辑里

我正在创建一个类,该类将基于System.Numerics.Vector3或UnityEngine.Vector3是否可用,但它不需要仅依赖于来自统一的平台,也不需要依赖于统一,我正在创建一组扩展,希望能够在团结内外使用这些扩展,而不必定义自定义的#define UNITY

我无法为许多平台编译,所以它像#if UNITY_5一样简单吗?

为了澄清我正在创建的软件不会在团结项目中外露地使用,它被设计成几乎在任何地方运行,团结、联合工作方案、粮食计划署、Windows控制台等等。

EN

回答 2

Stack Overflow用户

发布于 2020-05-24 22:23:13

您可以在Uniteddocs-https://docs.unity3d.com/Manual/PlatformDependentCompilation.html上签出依赖于平台的编译。

我想这可能就是你要找的。他们已经准备好了一堆预先准备好的指令,这样你就不用自己发明了。

示例:

代码语言:javascript
复制
#if UNITY_EDITOR
            // Do some stuff
#elif UNITY_STANDALONE_WIN
            // Do some stuff
#endif
票数 1
EN

Stack Overflow用户

发布于 2020-05-24 23:32:18

我正在创建一个类,它将基于System.Numerics.Vector3或UnityEngine.Vector3是否可用,但它不需要依赖于平台,而只依赖于统一

做跨平台的通常方法,是找到“最小的共同点”。团结被设计成跨平台。矢量是每个游戏引擎的核心类型。.NET是Vector3的晚期采用者,只在Framework4.6/Standart 2.1中获得它。但是,对于一个3D游戏引擎来说,它是一个基本的部分。因此,我敢打赌UnityEngine.Vector3在每个版本的Unity中都是可维护的。

如果情况不是这样的话?只需编写自己的Vector3即可。这是一个有3个数字的结构--不是很难复制的东西。下面是一个例子:

代码语言:javascript
复制
//structs should be inmutable. readonly makes sure of that
public readonly struct Vector3 {
    int X;
    int Y;
    int Z;
}

我推断它是整数,但显然向量类实际上使用了单位浮点数类型。但是精确的类型是微不足道的区别。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61993042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档