Unity不序列化int?场地

2024-02-22

我有一个类想要在编辑器中更改其属性。所以我创建了我的类 System.Serializable 并将我希望能够更改的变量公开。
就像这样:

[System.Serializable]
public class UIOptionsRing
{
    public float Radius, DistanceBetweenPoints, StartOffset, GapInDegrees;
    public int? GapAfterElementNumer = 3; //this var doesnt show up
    public Vector3 CircleCenter;
    public GameObject CircleElementsContainer;

}

但我遇到的问题是 GapAfterElementNumer 没有显示在所有其他字段的编辑器中。我怎样才能做到这一点int?也出现了?


可空类型不会在 Unity Editor 中序列化,因为它的序列化程序不支持null。 如果您不打算使用以下方法将此类序列化为 json,有一个小解决方法JsonUtility。 关键思想是您必须创建自己的可空 int。就像是

public class IntNullable 
{
     public int Value;
     public bool HasValue;
 }

就像在 .NET 中完成的一样。然后你可以创建一个自定义编辑器 https://docs.unity3d.com/Manual/editor-CustomEditors.html for IntNullable或你的UIOptionsRing。在此编辑器中,您可以创建一个 int 值字段和一个“Set Null”按钮,这将更改HasValue多变的。此外,您还需要使用此自定义IntNullable在你的代码中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity不序列化int?场地 的相关文章

  • Android UnityPlayerActivity 操作栏

    我正在构建一个 Android 应用程序 其中包含 Unity 3d 交互体验 我已将 Unity 项目导入 Android Studio 但启动时该 Activity 是全屏的 并且不显示 Android 操作栏 我怎样才能做到这一点 整
  • 使 Visual Studio 设计器忽略公共属性

    我有一个带有公共属性的 UserControl 使用以下属性 Browsable false DesignerSerializationVisibility DesignerSerializationVisibility Hidden 我尝
  • 使用 System.Text.Json 即时格式化 JSON 流

    我有一个未缩进的 Json 字符串 例如 hash 123 id 456 我想缩进字符串并将其序列化为 JSON 文件 天真地 我可以使用缩进字符串Newtonsoft如下 using Newtonsoft Json Linq JToken
  • Hibernate 和可序列化实体

    有谁知道是否有一个框架能够从实体类中剥离 Hibernate 集合以使它们可序列化 我查看了 BeanLib 但它似乎只进行实体的深层复制 而不允许我为实体类中的集合类型指定实现映射 BeanLib 目前不适用于 Hibernate 3 5
  • 你好,我最近正在开发我的新游戏,我遇到了*无限跳跃*的问题

    所以基本上当我按跳跃 空格键时我会跳跃但是如果我连续按空格键它 只是跳啊跳啊跳等等 我不想要我只想它跳一次 code if Input GetKeyDown space isGrounded velocity y Mathf Sqrt ju
  • Eclipse 中的“自动插入通用前缀”有什么作用?

    我一直在寻找一种改进 Eclipse 中自动完成功能的方法 并且在首选项窗口的 Java gt 编辑器 gt 内容辅助部分中发现了此首选项设置 自动插入公共前缀 我想知道它有什么作用 因为我没有感觉到任何区别 帮助说 如果启用 代码辅助将自
  • 什么是“日期时间”?而不是 C# 中的 DateTime? [复制]

    这个问题在这里已经有答案了 和有什么区别DateTime and a DateTime 不带问号 在 C 中 值类型后面的问号是该值的简写符号Nullable
  • 用于嵌入式系统的简约人类可读序列化格式解析器

    By 人类可读的序列化格式 I mean YAML JSON INI或喜欢 请注意 XML对于我的目的来说太冗长而且太不方便 所以让我们把它作为最后的手段 格式应将数据存储为 命名键 值 配对并允许嵌套和数组 不过 缺少数组并不重要 此外
  • 使用 XML 序列化时的循环引用?

    当尝试使用 XMLSerialization 序列化对象时 我收到以下异常 A circular reference was detected while serializing an object of type MyObject 我知道
  • 从 ApiController 中的 json 序列化中排除属性

    我试图在 Web ApiControllers 中排除属性被序列化为 JSON 我已经验证了以下 2 个场景的工作原理 我已在我希望排除的属性中包含以下属性 System Web Script Serialization ScriptIgn
  • 强制 protobuf-net 忽略 IEnumerable/ICollection 接口

    如何让 protobuf net v2 忽略我的类实现 ICollection IEnumerable 等的事实 对于这个特定场景 我只希望序列化标记为 ProtoMember 的字段 我目前正在从使用 protobuf net v1 转换
  • 使用 Unity3D 按钮执行 xcode 函数?

    是否可以在 unity 中制作一个按钮来执行 Xcode 中的功能 我正在尝试执行来自 unity3d 项目的推送消息 请帮忙 因为这让我发疯 提前致谢 是的 您可以调用具有 C 接口的本机 Objective C 代码 您甚至可以在 Un
  • Unity 2018.3 android dex合并问题

    在您决定将这篇文章视为 重复 而不阅读它之前 请了解我已经查看了大量与此主题相关的帖子 但我找不到适合我的实例的解决方案 包括 StackOverflow 建议的所有解决方案 大多数帖子都是针对 Android Studio 而不是 Uni
  • 我可以在 RestEasy 中指定用于方法结果转换的 jackson @JsonView 吗?

    我正在使用基于的序列化模型 JsonView 我通常配置杰克逊ContextResolver像这样 Override public ObjectMapper getContext Class
  • Unity3D如何连接NavMesh和NavMeshAgent

    我在编辑器中收到此错误 SetDestination can only be called on an active agent that has been placed on a NavMesh 这些是我在解决问题时尝试的步骤 将 Nav
  • 反序列化 HTTP POST 参数

    我正在尝试找到一种更原生或更优雅的解决方案 用于将 HTTP POST 参数反序列化为相应的对象 目前 我将字符串转换为字典 然后将其序列化为 JSON 然后将其反序列化为我的最终对象 参数字符串示例 TotalCost 0 01200 D
  • WCF - 将空元素转换为可为空的本机类型

    将 SOAP 字段元素留空会导致本机类型出现强制转换错误 遗憾的是 由于客户端限制 无法使用 xsi nil true 将 WCF 协定本机类型标记为 nullable 似乎不足以阻止将以下错误返回给客户端 字符串 不是有效的布尔值 在 S
  • 画布未在顶部渲染

    我使用画布和 Unity UI 元素作为 HUD 我希望 HUD 能够领先于一切 但事实并非如此 以前没有使用过 Cardboard 但我相信你可以通过相机剔除来解决这个问题 只需按照以下步骤操作 Canvas 1 选择Canvas并将图层
  • 不将所需的文件包含到 vim 全方位补全中

    如果我尝试在具有 require xxx 语句的 Ruby 文件中自动完成 它会开始扫描所需的所有文件 以及所需文件所需的文件 它每次都会这样做 是否可以使 vim 自动完成功能不扫描所需文件或仅扫描特定路径中的文件 例如仅 app 以下之
  • 当使用手动实现的具有结构体变体的枚举序列化到 TOML 时,为什么会出现 UnsupportedType 错误?

    我正在尝试实施Serialize对于包含结构变体的枚举 这serde rs 文档 https serde rs impl serialize html serializing an enum表示以下内容 enum E Use three s

随机推荐