1. 框架组件
1.1 FrameworkComponent v1
一开始我想的是这样做框架组件嘛,跟 GF 学的
但是后来我才知道 static 变量是默认在监视器上不显示的,怪不得 GF 不在
Assets/MeowFramework/Core/FrameworkComponent/FrameworkAdmin.cs
// ----------------------------------------------
// 作者: 廉价喵
// 创建于: 11/04/2022 9:49
// 最后一次修改于: 11/04/2022 10:14
// 版权所有: CheapMeowStudio
// 描述:
// ----------------------------------------------
using System.ComponentModel;
using Sirenix.OdinInspector;
namespace MeowFramework.Core.FrameworkComponent
{
public class FrameworkAdmin : SerializedMonoBehaviour
{
/// <summary>
/// 初始化组件
/// </summary>
[Required]
[ShowInInspector]
[Description("初始化组件")]
public static InitializationComponent InitializationComponent;
/// <summary>
/// 技能组件
/// </summary>
[Required]
[ShowInInspector]
[Description("技能组件")]
public static AbilityComponent AbilityComponent;
}
}
监视器中是这样
我本来以为这样的话就可以直接拖进去了,没想打它把组件拖进去之后,脚本一更新,拖进去的组件又消失了
就是说,我试验出来 static 的变量的值不会被监视器的赋值覆盖,神奇
那最终还是不得不用 GetComponent
这要求这个脚本的执行顺序在所有脚本之前了
1.2 FrameworkComponent v2
Assets/MeowFramework/Core/FrameworkComponent/FrameworkComponent.cs
// ----------------------------------------------
// 作者: 廉价喵
// 创建于: 11/04/2022 9:49
// 最后一次修改于: 11/04/2022 11:12
// 版权所有: CheapMeowStudio
// 描述:
// ----------------------------------------------
using System;
using System.ComponentModel;
using Sirenix.OdinInspector;
using UnityEngine;
namespace MeowFramework.Core.FrameworkComponent
{
public class FrameworkComponent : SerializedMonoBehaviour
{
/// <summary>
/// 初始化组件
/// </summary>
[ShowInInspector]
[Sirenix.OdinInspector.ReadOnly]
[Description("初始化组件")]
public static InitializationComponent Initialization;
/// <summary>
/// 技能组件
/// </summary>
[ShowInInspector]
[Sirenix.OdinInspector.ReadOnly]
[Description("技能组件")]
public static AbilityComponent Ability;
/// <summary>
/// Buff 组件
/// </summary>
[ShowInInspector]
[Sirenix.OdinInspector.ReadOnly]
[Description<