C# 如何在Unity中动态切换公共变量和私有变量
我用Unity C#编写了以下脚本 测试.csC# 如何在Unity中动态切换公共变量和私有变量,c#,unity3d,C#,Unity3d,我用Unity C#编写了以下脚本 测试.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour { public bool showParams = true; public int test1 = 100; public string test = "";
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
public bool showParams = true;
public int test1 = 100;
public string test = "";
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
我想通过打开/关闭showParams变量来切换是否在Inspector中显示其他参数
如下图所示,当showParams处于启用状态时,所有变量都是公共变量。
如下图所示,我希望在showParams关闭时阻止显示所有变量
我想通过打开/关闭showParams变量来切换是否在Inspector中显示其他参数
如下图所示,当showParams处于启用状态时,所有变量都是公共变量
如下图所示,我希望在showParams关闭时阻止显示所有变量
使用Unity C#这可能吗?您需要为您的类编写一个自定义编辑器才能做到这一点。在代码编译后,您不能更改类成员的访问修饰符(public和private),这需要它们出现在检查器中
请参阅。您需要为您的类编写自定义编辑器才能执行此操作。在代码编译后,您不能更改类成员的访问修饰符(public和private),这需要它们出现在检查器中
参见。,正如其他人指出的那样,此选项不是内置于Unity中的。您必须编写自己的自定义检查器或属性抽屉 幸运的是,在您之前,有许多人面临着同样的问题,因此在internet上有多个Unity editor扩展可以做到这一点。您可以在Google或Github中搜索“unity conditional hide”来找到它们。
我个人认为有用的一个是,正如其他人指出的那样,这个选项不是内置于统一中的。您必须编写自己的自定义检查器或属性抽屉 幸运的是,在您之前,有许多人面临着同样的问题,因此在internet上有多个Unity editor扩展可以做到这一点。您可以在Google或Github中搜索“unity conditional hide”来找到它们。
我个人认为有用的是我绝对推荐Odin!我绝对推荐奥丁!