[Unity] ACT 战斗系统学习 8:使用 ScriptableObject 制作角色属性 3

本文介绍了在Unity中如何利用ScriptableObject创建泛型角色属性,并解决了在实例化过程中遇到的问题。作者通过一个具体的例子展示了创建ScriptableFloatVariable的步骤,包括错误排查和最终解决方案,使得ScriptableObject能正确工作。

之前看的那个生成泛型物体的包,我用 git 连接装不上去
虽然可以用读文件的方式装……但是想想就觉得有点累
然后我又想,他那里很多东西是我不需要的,我要是加了,又给组内成员安装工程添加一个麻烦
然后我就没装
然后我找到了 https://answers.unity.com/questions/1411137/how-to-instance-a-generics-scriptableobject-classh.html?sort=votes
我才知道这件事情

这个回答我其实之前已经看到过
但是当时我看的代码没有这样简洁直白
然后当时由于我也没有这个需求,所以也不知道他原来就是在解决一个泛型类无法生成的问题

现在我学会了

// ----------------------------------------------
// 作者: 廉价喵
// 创建于: 01/04/2022 19:55
// 最后一次修改于: 01/04/2022 20:16
// 版权所有: CheapMeowStudio
// 描述:
// ----------------------------------------------

using Sirenix.OdinInspector;
using UnityEngine;

namespace MeowACT
{
   
   
    public class ScriptableGenericVariable<T> : SerializedScriptableObject
    {
   
   
        /// <summary>
        /// 开发者注释
        /// </summary>
        [TextArea]
        [Tooltip("开发者注释")]
        public string DeveloperDescription = "";

        /// <summary>
        /// 可资产化变量的值
        /// </summary>
        [Tooltip("可资产化变量的值")]
        public T Value;
    }
}
// ----------------------------------------------
// 作者: 廉价喵
// 创建于: 01/04/2022 0:40
// 最后一次修改于: 01/04/2022 20:16
// 版权所有: CheapMeowStudio
// 描述:
// ----------------------------------------------

using System;
using System.Collections.Generic;
using Sirenix.OdinInspector;
using UnityEngine;

namespace MeowACT
{
   
   
    /// <summary>
    /// 可资产化 int 变量
    /// </summary>
    [InlineEditor]
    [CreateAssetMenu(menuName = "MeowACT/Create Scriptable Int Variable")]
    public class ScriptableIntVariable : ScriptableGenericVariable<int>
    {
   
   
        
    }
    
    /// <summary>
    /// 可资产化 float 变量
    /// </summary>
    [InlineEditor]
    [CreateAssetMenu(menuName = "MeowACT/Create Scriptable Float Variable")]
    public class ScriptableFloatVariable : ScriptableGenericVariable<float>
    {
   
   
        
    }
    
    /// <summary>
    /// 可资产化 string 变量
    /// </summary>
    [InlineEditor]
    [CreateAssetMenu(menuName = "MeowACT/Create Scriptable String Variable")]
    public class ScriptableStringVariable : 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值