『功能项目』QFrameWork更新道具图片UGUI【71】

我们打开上一篇70QFrameWork物品交换UGUI的项目,

在资源商店免费下载图片

创建Image重命名为Icon并且隐藏Name 给Icon一张随意道具图片Icon

重新绑定对象

接下来创建IItem.cs接口 与 ItemConfig.cs道具配置类

创建Config文件夹

创建脚本:ItemConfig.cs

编写脚本:ItemConfig.cs

cs 复制代码
using UnityEngine;
namespace QFramework {
    [CreateAssetMenu(menuName = "@ItemKit/Create Item")]
    public class ItemConfig : ScriptableObject
    {
        public string Key;
        public string Name;
        public Sprite Icon;

    }
}

创建自定义ScriptableObject道具

重命名为Iron

设置ScriptableObject属性栏

再次创建自定义ScriptableObject道具

重命名为IronSword

设置ScriptableObject属性栏

创建一个空物体重命名为ConfigManager

添加View Controller组件 脚本生成目录设置为2.UGUIInventoryExample

添加 Other Binds组件

将新建的两个ScriptableObject拖拽至Other Binds组件中

点击生成代码

生成代码后,ConfigManager.cs类就可以直接使用两个ScriptableObject了

编写脚本:ConfigManager.cs

cs 复制代码
using UnityEngine;
using QFramework;

// 1.请在菜单 编辑器扩展/Namespace Settings 里设置命名空间
// 2.命名空间更改后,生成代码之后,需要把逻辑代码文件(非 Designer)的命名空间手动更改
namespace QFramework.Example
{
	public partial class ConfigManager : ViewController,ISingleton
	{
        public static ConfigManager Default => MonoSingletonProperty<ConfigManager>.Instance;
        public void OnSingletonInit()
        {
            throw new System.NotImplementedException();
        }
	}
}

创建接口 并让其两个子类实现接口 IItem.cs

并修改脚本实现接口:Item.cs

修改脚本实现接口:ItemConfig.cs

修改报错信息,将Key及Name改写成GetKey及GetName即可

修改实现接口:

增加ScriptableObject道具:

拖拽至配置管理器

点击生成代码

修改脚本:Slot.cs

修改脚本:ItemConfig.cs

修改脚本:UGUICanvas.cs

修改脚本:ConfigManager.cs

修改脚本:CanPickupItem.cs

修改脚本:ItemKit.cs

修改脚本:IItem.cs Item.cs

修改脚本:UISlot.cs

保存后运行项目

接下来的文章内容:

1.QFrameWork更新道具图片UGUI

2.位置存储功能

3.点击名称寻找地点功能

4.隐藏怪物的生成

5.怪物I攻击范围内的主动攻击

6.掉落坐骑蛋的获取

7.异步传送转换场景

以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。

具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》

【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6

相关推荐
向宇it2 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
九鼎科技-Leo3 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
Heaphaestus,RC4 小时前
【Unity3D】获取 GameObject 的完整层级结构
unity·c#
baivfhpwxf20234 小时前
C# 5000 转16进制 字节(激光器串口通讯生成指定格式命令)
开发语言·c#
直裾4 小时前
Scala全文单词统计
开发语言·c#·scala
ZwaterZ5 小时前
vue el-table表格点击某行触发事件&&操作栏点击和row-click冲突问题
前端·vue.js·elementui·c#·vue
ZwaterZ8 小时前
el-table-column自动生成序号&&在序号前插入图标
前端·javascript·c#·vue
SRC_BLUE_1710 小时前
SQLI LABS | Less-55 GET-Challenge-Union-14 Queries Allowed-Variation 2
oracle·c#·less
yngsqq11 小时前
037集——JoinEntities连接多段线polyline和圆弧arc(CAD—C#二次开发入门)
开发语言·c#·swift
Zԅ(¯ㅂ¯ԅ)11 小时前
C#桌面应用制作计算器进阶版01
开发语言·c#