当前位置: 首页 > news >正文

【unity】编辑器扩展——在OnValidate中创建、删除游戏物体

我们知道在OnValidate中创建游戏物体会发出警告,删除游戏物体会报错。
所以我们使用协程,将开始动作的信号放在OnValidate中,将动作的执行放在帧结尾。

参考代码如下:

using System.Collections;
using UnityEngine;public class VerticalList : MonoBehaviour
{
#if UNITY_EDITOR[SerializeField]private int _childrenAmount = 0;void OnValidate(){_childrenAmount = Mathf.Max(_childrenAmount, 0);StartCoroutine(KeepChildrenAmount());}IEnumerator KeepChildrenAmount(){yield return new WaitForEndOfFrame();for (int i = transform.childCount - 1; i >= _childrenAmount; --i)DestroyImmediate(transform.GetChild(i).gameObject);while (transform.childCount < _childrenAmount){GameObject obj = new();obj.transform.parent = transform;}}
#endif
}
http://www.lryc.cn/news/460631.html

相关文章:

  • 学习记录:js算法(六十四):最后一块石头的重量
  • 单片机探秘:从理论到应用
  • options妙用
  • UE5 圆周运动、贝塞尔曲线运动、贝塞尔曲线点
  • 线程局部存储(TLS)
  • JavaSE——集合7:Set接口实现类—TreeSet
  • 【idea技巧篇】idea的类注释和方法注释模版自定义设置
  • 【Kubernetes① 基础】一、容器基础
  • 计算机网络第1章(概述)万字笔记详细版
  • 每日一练算法题(堆串的基本操作StrReplace(S, T, V))
  • IRP默认最小流程
  • 【全网最全】AI产品经理面试高频100题答案解析
  • VLLM实现大模型服务的部署
  • Java 基数排序
  • 红帽发送邮件操作
  • 学习记录:js算法(六十一):添加与搜索单词 - 数据结构设计
  • Jetpack-ObservableField实现双向绑定
  • STARnak, LTR 模型笔记
  • 【数据结构】:破译排序算法--数字世界的秩序密码(二)
  • 2024年《生成式ai大模型》都学什么内容呢?
  • kubernetes自定义pod启动用户
  • C4T避风型电动采光排烟天窗(图集09J621-2)
  • 多态常见面试问题
  • 案例-登录认证(上)
  • 对BSV区块链下一代节点Teranode的答疑解惑(上篇)
  • vue父子组件传参的方法
  • 关于this指针
  • 机器学习西瓜书
  • 如何使用 Puppeteer 和 Browserless 运行自动化测试?
  • python菜鸟知识