Unity类银河恶魔城学习记录12-7-1 p129 Craft UI - part 1源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考
此代码仅为较上一P有所改变的代码

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili

UI_CraftList.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;public class UI_CraftList : MonoBehaviour,IPointerDownHandler
{[SerializeField] private GameObject craftSlotPrefab;//创建craftSlot的预制体[SerializeField] private List<ItemData_Equipment> craftEquipment;//一个将要导进craftList的data类型组[SerializeField] private Transform craftSlotParent;//便于寻找将要删除的craftSlot的父组件[SerializeField] private List<UI_CraftSlot> craftSlots;//暂时保存将要删除的craftSlotprivate void Start(){AssignCraftSlots();}private void AssignCraftSlots()//获得当前所有的craftSlot函数//主要用来为清空做准备{for (int i = 0; i < craftEquipment.Count; i++){craftSlots.Add(craftSlotParent.GetChild(i).GetComponent<UI_CraftSlot>());}}public void SetupCraftList()//将所有保存在其中的装备类型实例化craftslot并存入CraftList的函数{AssignCraftSlots();for (int i = 0; i < craftSlots.Count;i++)//删除所有原来存在于其list里的slot{Destroy(craftSlots[i].gameObject);Debug.Log(1);}craftSlots = new List<UI_CraftSlot>();//清空此槽,方便下一次装其他的装备for(int i = 0;i < craftEquipment.Count;i++){GameObject newSlot = Instantiate(craftSlotPrefab, craftSlotParent);//创建的实例往craftPartent里塞newSlot.GetComponent<UI_CraftSlot>().SetUpCraftSlot(craftEquipment[i]);}}public void OnPointerDown(PointerEventData eventData){SetupCraftList();}
}

UI_CraftSlot.cs
using UnityEngine.EventSystems;public class UI_CraftSlot : UI_itemSlot
{protected override void Start(){base.Start();}public void SetUpCraftSlot(ItemData_Equipment _data)//设置CraftSlot的公开函数{if (_data == null)return;item.data = _data;itemImage.sprite = _data.icon;itemText.text = _data.name;}private void OnValidate(){//UpdateSlots(item);}public override void OnPointerDown(PointerEventData eventData){ItemData_Equipment craftData = item.data as ItemData_Equipment;Inventory.instance.CanCraft(craftData, craftData.craftingMaterials);}
}

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

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

相关文章

JVM 全景图

今天我重新复习了一下 jvm 的一些知识点。我以前觉得 jvm 的知识点很多很碎&#xff0c;而且记起来很困难&#xff0c;但是今天我重新复习了一下&#xff0c;对这些知识点进行了简单的梳理之后&#xff0c;产生了不一样的看法。虽然 jvm 的知识点很碎&#xff0c;但是如果你真的…

船气废弃锅炉三维仿真vr交互展示降低培训门槛

火化炉是殡葬行业的核心设备&#xff0c;其操作技艺对于专业人才的培养至关重要。然而&#xff0c;传统实践教学受限于时间、场地、设备损耗等多重因素&#xff0c;难以给予学生充分的实操机会。面对这一挑战&#xff0c;我们创新推出了火化炉vr三维仿真培训软件&#xff0c;以…

C++流程控制语句:嵌套循环案例分析【九九乘法表】

在C++编程中,循环语句的嵌套是一种常见且强大的技术手段,它允许我们将多个循环结构相互嵌套,形成多维循环。不论是for循环、while循环还是do…while循环,均可以进行嵌套。 而在实践中,由于for循环具有明确的循环变量初始化、条件判断和更新机制,因此在嵌套循环中,for循…

【aster-boot】1.快速搭建springboot3.x多模块项目

springboot3已经出来一段时间了&#xff0c;正好最近也不太忙&#xff0c;就把之前搭的架子整理了一下。   关于springboot3的介绍&#xff0c;以及它的新特性就不再赘述&#xff0c;大家自行百度。 0.前期准备 因springboot3对jdk的最低要求是jdk17&#xff0c;所以需先下载…

提示工程中的10个设计模式

我们可以将提示词定义为向大型语言模型(Large Language Model&#xff0c;LLM)提供的一个查询或一组指令&#xff0c;这些指令随后使模型能够维持一定程度的自定义或增强&#xff0c;以改进其功能并影响其输出。我们可以通过提供细节、规则和指导来引出更有针对性的输出&#x…

基于Java SpringBoot+vue的租房网站,附源码

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

Leetcode 581. 最短无序连续子数组

心路历程&#xff1a; 本以为这道题要用动态规划求解&#xff0c;因为题目中这几个关键字与动态规划太匹配了&#xff0c;结果想了半天也没发现dp(i)和dp(i-1)的递推关系。 这道题本意考察双指针的做法&#xff0c;也可以用排序后做比较的方式来做。 注意的点&#xff1a; 1…

Severt和tomcat的使用(补充)

打包程序 在pom.xml中添加上述代码之后打包时会生成war包并且包的名称是test 默认情况打的是jar包.jar里量但是tomcat要求的是war包. war包Tomcat专属的压缩包. war里面不光有.class还有一些tomcat要求的配置文件(web.xml等)还有前端的一些代码(html, css, js) 点击其右边的m…

chrome 浏览器 有自带的自动字幕功能,支持英文,控制您的音乐、视频等媒体内容

chrome 浏览器 有自带的自动字幕功能&#xff0c;支持英文&#xff0c;控制您的音乐、视频等媒体内容

【数据结构】复杂度(长期维护)

本篇博客主要是浅谈数据结构概念及时间复杂度&#xff0c;并做长期的维护更新&#xff0c;有需要借鉴即可。 复杂度目录 一、初识数据结构1.基础概念2.如何学好数据结构 二、复杂度1.复杂度2.时间复杂度①有限数的时间复杂度②函数的时间复杂度③二分查找时间复杂度④递归拓展练…

使用MQTT.fx接入新版ONENet(24.4.8)

新版ONENet使用MQTT.fx 模拟接入 目录 新版ONENet使用MQTT.fx 模拟接入开始前的准备创建产品设备获取关键参数 计算签名使用MQTT.fx连接服务器数据流准备与上传数据流准备数据发送与接收 开始前的准备 创建产品 设备下载Token签名工具生成签名 创建产品设备 根据以下内容填写…

git生成ssh key并推送到远端仓库

ssh-keygen -t rsa -C "anarckkgmail.com"在用户文件夹中找到id_rsa.pub&#xff0c;把内容复制到gitea的配置里&#xff0c;然后直接用git推送就可以了