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

本文详细介绍了在Unity中构建第三人称射击(TPS)游戏框架的过程,特别是Mono组件的设计和技能组件的实现。作者探讨了在FrameworkComponent中使用static变量的问题,包括它们在Unity编辑器中的显示和运行时行为。此外,还讨论了如何在ScriptableObjects和AbilityComponent之间建立引用,并解决了C#中静态和非静态成员访问的限制。
最低0.47元/天 解锁文章
37万+

被折叠的 条评论
为什么被折叠?



