gpt4 book ai didi

c# - 使用#if UNITY_EDITOR return 而不是#if !UNITY_EDITOR,以便能够在代码编辑器中查看引用,这是一个好主意吗?

转载 作者:行者123 更新时间:2023-12-05 04:41:29 26 4
gpt4 key购买 nike

我正在开发一个现有的移动应用程序。有一些情况是这样的:

private void Example()
{
//some universal code
#if UNITY_EDITOR
return;
#endif

#pragma warning disable CS0162 // Unreachable code detected
//some mobile platform code
#pragma warning restore CS0162 // Unreachable code detected
}

在过去我会这样实现它:

private void Example()
{
//some universal code
#if !UNITY_EDITOR
//some mobile platform code
#endif
}

UNITY_EDITOR 版本看起来非常丑陋,我无法在函数末尾添加通用代码。另一方面,它的优势在于在编辑器中工作时能够找到对移动代码的引用。

有什么我想念的吗?是否有可能更改 Visual Studio 以便它找到引用并且我在 !UNITY_EDITOR 代码中突出显示了代码?

最佳答案

你是对的,这看起来确实很丑。在我的项目中,我发送以保留一个定义平台设置的文件,我会像这样在此处利用它:

public static class ApplicationSettings
{

#if UNITY_EDITOR
public static bool IsUnityEditor = true;
#else
public static bool IsUnityEditor = false;
#endif
#if PLATFORM_STANDALONE_WIN
public static bool IsPlatformStandaloneWin = true;
#else
public static bool IsPlatformStandaloneWin = false;
#endif
... etc ...
}

然后,如果您的代码库确实根据平台做特定的事情,那么在那个条件下分支。

public void Example()
{
if (ApplicationSettings.IsPlatformStandaloneWin)
StandaloneWindowsExample(); // windows specific
else
EveryoneElseExample(); // other platforms:

... // code that applies to all platforms
}

或者甚至为您支持的平台定义您自己的枚举并打开它的值。

关于c# - 使用#if UNITY_EDITOR return 而不是#if !UNITY_EDITOR,以便能够在代码编辑器中查看引用,这是一个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70066390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com