我们打开上一篇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站视频项目演示《破碎纪元》