创建和管理大量的数据对象: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.实物连…

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

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

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

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

(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包,用来共享给二次开发和协作伙伴用,很方便 第一次发布没有问题,但是我第二次发布,开始报错了 一、直接看报错 [外链图片转存失败,源站可能有防盗链…

问题解决实录 | Anaconda | Anaconda Navigator 启动无反应

问题解决实录 | Anaconda | Anaconda Navigator 启动无反应 以管理员身份运行 Anaconda Prompt conda update -n root conda conda update --all如果执行完以上步骤 碰到 AttributeError: module ‘pkgutil’ has no attribute ‘ImpImporter’. Did you mean: ‘zipimporter…

HC-SR04超声波测距模块使用方法和例程(STM32快速移植)

基于STM32和HC-SR04模块实现超声波测距功能 HC-SR04硬件概述HC-SR04超声波距离传感器的核心是两个超声波传感器。一个用作发射器,将电信号转换为40 KHz超声波脉冲。接收器监听发射的脉冲。如果接收到它们,它将产生一个输出脉冲,其宽度可用于…

各类专业技术的pdf电子书

从业多年,收集了海量的pdf电子书籍,感兴趣的私聊。

App Instance 架构示例

前言 在Unity程序设计过程中,我们处理的第一个对象是Application Instance。 它的主要职责是启动流程管理、卸载流程管理,次要职责是管理在内部的子系统生命周期。其他职责,提供或桥接应用程序的配置信息、及其他第三方接口。 它通常以单例的…

图解 Hadoop 架构 |Yarn、MapReduce

Hadoop Hadoop 是什么 Hadoop 是由 Apache 基金会所开发,维护的分布式系统基础架构主要解决海量数据的存储和海量数据的分析计算问题广义上来说,Hadoop 通常是指一个更广泛的概念——Hadoop 生态圈,包括 MapReduce,HDFS&#xf…

淼淼瀛湖水,青青枇杷林

淼淼瀛湖水,青青枇杷林 ——西安工程大学赴陕西安康“筑梦乡村,携手同行”暑期社会实践团 俗语言“五月枇杷满树金”。枇杷营养丰富,食用,具有止渴、润燥、清肺、止咳等功效。为探索枇杷产业,实现乡村振兴&#xff0c…

代码随想录 day 18 二叉树

第六章 二叉树part06 详细布置 530.二叉搜索树的最小绝对差 需要领悟一下二叉树遍历上双指针操作,优先掌握递归 题目链接/文章讲解:https://programmercarl.com/0530.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E7%B…