using Sirenix.OdinInspector; using UnityEngine; namespace Cielonos.MainGame { /// /// 子模块通用接口。允许子模块通过继承其他类(如动作播放器)来避免单继承限制。 /// public interface ISubmodule { T Owner { get; set; } } [HideInEditorMode] public class SubmoduleBase : ISubmodule { [HideInInspector] public T owner; // 显式接口实现以满足 ISubmodule 接口,保持原有 public 字段完整兼容性 T ISubmodule.Owner { get => owner; set => owner = value; } public SubmoduleBase(T owner) { this.owner = owner; } public void SetOwner(T newOwner) { this.owner = newOwner; } } }