创建和管理大量的数据对象:ScriptableObject

一、创建一个继承自ScriptableObject,名为ItemData的类
1、ItemData.cs
using UnityEngine;[CreateAssetMenu(menuName = "Items/Item")]
public class ItemData : ScriptableObject
{public string description;public Sprite thumbnail;public GameObject gameModel;
}
 2、解析

(1) [CreateAssetMenu(menuName = "Items/Item")]:

      保存后可在Unity中Create菜单中出现Item

(2) public class ItemData : ScriptableObject:

      创建一个名为ItemData的类,该类继承自ScriptableObject

(3) ScriptableObject:

      使用ScriptableObject可方便地创建和管理大量的数据对象,而不需要创建和实例化类的实例

      通过创建ScriptableObject的子类,可定义和编辑属性、字段和方法,及自定义的序列化数据

      如:多个场景中重用的数据对象以存储和管理游戏中的数据:物品、角色属性、配置数据等

(4) 这个类包含description(描述)、thumbnail(缩略图)和gameModel(游戏模型)三个字段

     这些字段可以被用于定义物品的属性

3、使用

在Unity的Project视图中,通过右键菜单选择“Create” -> “Items” -> “Item”来创建ItemData的实例。

(1) 创建实例

(2) 设置实例 

二、创建ItemData类的子类EquipmentData
using UnityEngine;[CreateAssetMenu(menuName = "Items/Equipment")]
public class EquipmentData : ItemData
{public enum ToolType{Hoe, WateringCan, Axe, Pickaxe}public ToolType toolType;
}

1、EquipmentData类包含ItemData类的所有字段(descriptionthumbnailgameModel

2、EquipmentData类还定义了额外字段toolType

三、创建ItemData类的子类Seed
using System.Collections;
using System.Collections.Generic;
using UnityEngine;[CreateAssetMenu(menuName ="Items/Seed")]
public class SeedData : ItemData
{public int daysToGrow;public ItemData cropToYield;//作物产量
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据挖掘-分类和预测

来自🥬🐶程序员 Truraly | 田园 的博客,最新文章首发于:田园幻想乡 | 原文链接 | github (欢迎关注) 文章目录 概念KNN 算法决策树ID3 算法缺点 C4.5 算法CART 算法 贝叶斯算法朴素贝叶斯算法贝叶斯信念网络…

如何做好结构化逻辑分析:分析之万能公式

有人问:我看了很多书,可是一到分析问题和解决问题时,还是不知如何下手。你能给我一个万能框架吗?这样我遇到问题就可以马上找到思路、直接套用,再也不用让大脑去神游和不知所措了。 我想了想,总结出了这个…

突破•指针二

听说这是目录哦 复习review❤️野指针🫧assert断言🫧assert的神奇之处 指针的使用和传址调用🫧数组名的理解🫧理解整个数组和数组首元素地址的区别 使用指针访问数组🫧一维数组传参的本质🫧二级指针&#x…

2-41 基于matlab的小车倒立摆系统的控制及GUI动画演示

基于matlab的小车倒立摆系统的控制及GUI动画演示。输入小车及倒立摆的初始参数,位置参数,对仿真时间和步长进行设置,通过LQR计算K值,进行角度、角速度、位置、速度仿真及曲线输出,程序已调通,可直接运行。 …

Linux设置开机启动Nginx

设置开机启动项 systemctl enable nginx 这个命令会创建一个符号链接到/etc/systemd/system/目录下的multi-user.target.wants/目录,从而确保Nginx在系统启动时自动运行。 查看Nginx是否已设置开机启动项 systemctl list-unit-files | grep nginx 删除开机启动 …

数据无忧:2024年高效硬盘数据恢复解决方法

在这个数字化时代,数据已成为我们生活与工作中不可或缺的一部分。手机或者电脑不够存储数据的时候我们最常用的就是采购硬盘来存储。以备不时之需我们来学习一下硬盘数据恢复的一些技巧吧。 1.福、昕数据恢复 这工具是一款简单小巧的数据恢复工具。下载安装在一分…

文心一言 VS 讯飞星火 VS chatgpt (307)-- 算法导论22.2 5题

五、证明:在广度优先搜索算法里,赋给结点 u 的 u.d 值与结点在邻接链表里出现的次序无关。使用图 22-3 作为例子,证明:BFS 所计算出的广度优先树可以因邻接链表中的次序不同而不同。如果要写代码,请用go语言。 文心一…

51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动TFT大屏_I2C_HW参考代码(v1.3) 硬件I2C方式

本篇介绍单片机使用硬件I2C方式控制RA8889驱动彩屏。 提供STC8H8K64U和STC8051U34K64的参考代码。 【硬件部份】STC8H8K64U/STC8051U34K64 RA8889开发板 7寸TFT 800x480 1. 实物连接图:STC8H8K64URA8889开发板,使用P2口I2C接口: 2.实物连…

【python基础】类的继承、类导入、类的编写规范

文章目录 一. 继承1. 子类的方法__init__()2. 子类特有的属性和方法3. 重写父类的方法4. 类关系之引入:将实例用作属性 二. 导入类1. 导入类2. 在一个模块中导入另一个模块3. 使用别名导入并创建实例 三. Python标准库四. 类编码风格 一. 继承 一个类继承另一个类时…

log4j2启动异步日志与动态修改日志级别

启动异步日志 启用 Log4j2 的异步日志记录功能可以显著提升日志记录的性能,尤其是在高并发的环境下。异步日志记录通过将日志事件放入队列中进行处理,从而减少了日志记录对应用程序性能的影响。以下是如何启用 Log4j2 异步日志记录的详细步骤。 1. 添加…

【Python】写一篇setattr方法的使用博客

为何每次早餐 仍然魂离魄散 原来 那朝分手都要啜泣中上班 明明能够过得这关 赢回旁人盛赞 原来 顽强自爱这样难 难得的激情总枉费 残忍的好人都美丽 别怕 你将无人会代替 🎵 陈慧娴《情意结》 在 Python 中,动态地操作对象的属性是…

Oracle(15)什么是索引(Index)?

索引(Index)是数据库中一种用于提高查询性能的数据结构。索引在数据库表的一个或多个列上创建,类似于书的目录,通过索引可以快速定位和检索表中的数据行,而无需扫描整个表。尽管索引可以大幅提升查询性能,但…

2024 年 100 大数据科学面试问答

2024 年 100 大数据科学面试问答 一、说明 数据科学是一个快速发展的领域,它正在改变组织根据数据理解和做出决策的方式。因此,公司越来越多地寻求聘请数据科学家来帮助他们理解数据并推动业务成果。这导致了对数据科学家的高需求,这些职位的…

LeetCode 热题 HOT 100 (004/100)【宇宙最简单版】

【单调栈】No. 0739 每日温度 【中等】👉力扣对应题目指路 希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 ⭐ 题目描述:给定一个整数数组 temperatu…

《Windows API每日一练》13.1 打印基础

在Windows中使用打印机时,在调用一系列与打印相关的GDI绘图函数的背后,实际上启动了一系列模块之间复杂的交互过程,包括 GDI32库模块、打印机设备驱动程序库模块(带.DRV后缀的文件)、Windows后台打印处理程序&#xff…

rem 和 px 的关系

在网页设计中,rem 和 px 是用来表示长度或尺寸的单位,它们之间有以下默认关系: 1rem 16px(假设根元素的字体大小为默认值) 详细说明: 1、px(像素): px 是一种绝对单…

【图像处理】不智能的目标识别

目录 目标识别的划分 识别入门 概念学习 滤波 模版 阈值化 形态学操作 开运算 闭运算 编程语言 示例 大家有没有想过在没有人工智能或者说没有机器学习的的时候,计算机是怎么做目标识别的? 计算机视觉时至今日也是急需人才的领域&…

(AAAI,2024)Structure-CLIP:利用场景知识图谱增强多模态结构化表征

文章目录 Structure-CLIP: Towards Scene Graph Knowledge to Enhance Multi-modal Structured Representations相关资料摘要引言方法通过场景图进行语义负采样场景图生成选择语义负样本对比学习目标知识增强编码器 Structure-CLIP: Towards Scene Graph Knowledge to Enhance …

go语言Gin框架的学习路线(七)

GORM入门(基于七米老师) 目录 GORM入门 安装 连接数据库 连接MySQL 连接PostgreSQL 连接Sqlite3 连接SQL Server 我们搞一个连接MySQL的例子 创建数据库 GORM操作MySQL GORM是一个流行的Go语言ORM(对象关系映射)库,它提供了一种方…

maven私服上传jar包 400 Bad Request 错误

文章目录 前言一、直接看报错二、问题处理三 maven 私服配置说明总结 前言 maven仓库的私服,一般会存放公司或者个人封装的jar包,用来共享给二次开发和协作伙伴用,很方便 第一次发布没有问题,但是我第二次发布,开始报错了 一、直接看报错 [外链图片转存失败,源站可能有防盗链…