Unity中结构体定义的成员如何显示在窗口中
2023-12-15 17:02:55
在Unity中,有时候我们在处理数据的时候会用到结构体定义一些Unity组件相关的数据成员,并且需要在编辑器中拉取对象赋值。比如:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public struct picData
{
public RawImage Img;
public Text text;
public string name;
}
public class StructTest : MonoBehaviour
{
public picData data;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
上面案例中,首先定义了个picData数据结构,包含我们需要在场景中赋值的Img、text成员,然后我们在主对象中声明了一个公共的结构体变量data。但是在Unity窗口中找不到结构体所定义的成员。
如何实现结构体定义的成员显示在窗口中?
事实上,它有两个必要条件:
1、成员定义为公共成员;
2、在定义结构体变量时要标记结构体为可序列化的。
最终定义如下:
using System;
[Serializable]
public struct picData
{
public RawImage Img;
public Text text;
public string name;
}
在Unity窗口中我们就看到成员显示出来了:
?
可根据需要拉取相关组件直接赋值。
文章来源:https://blog.csdn.net/mr_five55/article/details/134938217
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!