AesirBaseWindowView<T>¶
- 种类:
abstract class - 命名空间:
Runestone.AesirModules - 程序集:
Runestone.AesirModules
继承链: System.Object → UnityEngine.Object → UnityEngine.Component → UnityEngine.Behaviour → UnityEngine.MonoBehaviour → Sirenix.OdinInspector.SerializedMonoBehaviour → Runestone.AesirArchitecture.AesirMonoBehaviour → Runestone.AesirModules.AesirBaseWindow → AesirBaseWindowView<T>
实现接口: Sirenix.Serialization.ISupportsPrefabSerialization,Runestone.AesirArchitecture.IContextHolder,UnityEngine.ISerializationCallbackReceiver,Runestone.AesirArchitecture.IView,Runestone.AesirArchitecture.ICanGetModel,Runestone.AesirArchitecture.ICanGetService,Runestone.AesirModules.IUIWindow
类型参数
T— 窗口关联的 Context 类型,须继承 AbstractContext{T} 并具有无参构造函数。
声明¶
public abstract class AesirBaseWindowView<T> : Runestone.AesirModules.AesirBaseWindow,
Sirenix.Serialization.ISupportsPrefabSerialization,
Runestone.AesirArchitecture.IContextHolder,
UnityEngine.ISerializationCallbackReceiver,
Runestone.AesirArchitecture.IView,
Runestone.AesirArchitecture.ICanGetModel,
Runestone.AesirArchitecture.ICanGetService,
Runestone.AesirModules.IUIWindow where T : new(), Runestone.AesirArchitecture.AbstractContext<T>
窗口视图基类(MVP 模式的 View 层,Canvas 根窗口形态)。 泛型参数 T 指定窗口关联的 Context 类型, Context 作为 Model 和 Service 的聚合容器,在窗口与业务逻辑之间充当数据中转站。
继承链:AesirBaseWindowView{T} → AesirBaseWindow → AesirMonoBehaviour。 子类通过 Context 属性(由 IView 接口定义)访问 Context 中持有的 Model / Service。
典型用法(通过 ICanGetModel / ICanGetService 扩展方法访问 Context): public class MyWindowView : AesirBaseWindowView
属性¶
| 名称 | 描述 | 声明类型 |
|---|---|---|
destroyCancellationToken |
— | MonoBehaviour |
Canvas |
— | AesirBaseWindow |
gameObject |
— | Component |
hideFlags |
— | Object |
transform |
— | Component |
DestroyOnHide |
关闭时是否销毁并回收实例。 | AesirBaseWindow |
IsOpen |
当前是否处于打开状态。由 UIModule 驱动。 | AesirBaseWindow |
enabled |
— | Behaviour |
isActiveAndEnabled |
— | Behaviour |
runInEditMode |
— | MonoBehaviour |
useGUILayout |
— | MonoBehaviour |
SortingOrder |
窗口根 Canvas 的 sortingOrder。 | AesirBaseWindow |
name |
— | Object |
tag |
— | Component |
animation |
— | Component |
audio |
— | Component |
camera |
— | Component |
collider |
— | Component |
collider2D |
— | Component |
constantForce |
— | Component |
hingeJoint |
— | Component |
light |
— | Component |
networkView |
— | Component |
particleSystem |
— | Component |
renderer |
— | Component |
rigidbody |
— | Component |
rigidbody2D |
— | Component |
方法¶
| 名称 | 描述 | 声明类型 |
|---|---|---|
GetComponent(Type) |
— | Component |
GetComponent(string) |
— | Component |
GetComponentInChildren(Type) |
— | Component |
GetComponentInChildren(Type, bool) |
— | Component |
GetComponentInParent(Type) |
— | Component |
GetComponentInParent(Type, bool) |
— | Component |
GetComponents(Type) |
— | Component |
GetComponentsInChildren(Type) |
— | Component |
GetComponentsInChildren(Type, bool) |
— | Component |
GetComponentsInParent(Type) |
— | Component |
GetComponentsInParent(Type, bool) |
— | Component |
StartCoroutine(IEnumerator) |
— | MonoBehaviour |
StartCoroutine(string) |
— | MonoBehaviour |
StartCoroutine(string, object) |
— | MonoBehaviour |
GetComponent() |
— | Component |
GetComponentInChildren() |
— | Component |
GetComponentInChildren(bool) |
— | Component |
GetComponentInParent() |
— | Component |
GetComponentInParent(bool) |
— | Component |
GetComponents() |
— | Component |
GetComponentsInChildren() |
— | Component |
GetComponentsInChildren(bool) |
— | Component |
GetComponentsInParent() |
— | Component |
GetComponentsInParent(bool) |
— | Component |
GetType() |
— | object |
CompareTag(string) |
— | Component |
IsInvoking() |
— | MonoBehaviour |
IsInvoking(string) |
— | MonoBehaviour |
TryGetComponent(Type, ref Component) |
— | Component |
TryGetComponent(ref T) |
— | Component |
GetComponentIndex() |
— | Component |
GetInstanceID() |
— | Object |
Equals(object) |
— | Object |
GetHashCode() |
— | Object |
ToString() |
— | Object |
BroadcastMessage(string) |
— | Component |
BroadcastMessage(string, SendMessageOptions) |
— | Component |
BroadcastMessage(string, object) |
— | Component |
BroadcastMessage(string, object, SendMessageOptions) |
— | Component |
CancelInvoke() |
— | MonoBehaviour |
CancelInvoke(string) |
— | MonoBehaviour |
GetComponents(Type, List<Component>) |
— | Component |
GetComponents(List<T>) |
— | Component |
GetComponentsInChildren(List<T>) |
— | Component |
GetComponentsInChildren(bool, List<T>) |
— | Component |
GetComponentsInParent(bool, List<T>) |
— | Component |
Invoke(string, float) |
— | MonoBehaviour |
InvokeRepeating(string, float, float) |
— | MonoBehaviour |
SendMessage(string) |
— | Component |
SendMessage(string, SendMessageOptions) |
— | Component |
SendMessage(string, object) |
— | Component |
SendMessage(string, object, SendMessageOptions) |
— | Component |
SendMessageUpwards(string) |
— | Component |
SendMessageUpwards(string, SendMessageOptions) |
— | Component |
SendMessageUpwards(string, object) |
— | Component |
SendMessageUpwards(string, object, SendMessageOptions) |
— | Component |
StopAllCoroutines() |
— | MonoBehaviour |
StopCoroutine(Coroutine) |
— | MonoBehaviour |
StopCoroutine(IEnumerator) |
— | MonoBehaviour |
StopCoroutine(string) |
— | MonoBehaviour |
MemberwiseClone() |
— | object |
Finalize() |
— | object |
OnAfterDeserialize() |
— | SerializedMonoBehaviour |
OnBeforeSerialize() |
— | SerializedMonoBehaviour |
OnClose() |
窗口经 CloseWindow 受控销毁前调用(DestroyOnHide 为 true 的关闭路径)。 子类可覆写释放资源、解绑事件等。 | AesirBaseWindow |
OnDestroy() |
实例被销毁时的反清理回调(向 UIModule 注销注册表条目并重算蒙版)。 | AesirBaseWindow |
OnHide() |
窗口被隐藏时调用(默认不销毁实例)。子类可覆写清理显示状态。 | AesirBaseWindow |
OnInit() |
窗口首次实例化后调用一次。子类可覆写进行一次性初始化。 | AesirBaseWindow |
OnMaskClicked() |
蒙版被点击时回调。默认按 closeOnMaskClick 决定是否关闭本窗口; 子类可覆写实现自定义行为(如提示"先完成当前操作")。 | AesirBaseWindow |
OnShow(object) |
每次打开时调用(含首次)。默认实现为 gameObject.SetActive(true)。 | AesirBaseWindow |
CloseSelf() |
便捷关闭自身,等价于 UIModule.Instance.CloseWindow(GetType())。 走非创建式获取:窗口销毁/场景卸载阶段 UIModule 可能已随之消失,此时"关闭自己"无对象可关, 静默返回即可——若走 Instance 会重建 DDOL 宿主(详见 TryGetExisting 的说明)。 | AesirBaseWindow |
StartCoroutine_Auto(IEnumerator) |
— | MonoBehaviour |
Additional Notes¶
首个
## Additional Notes是增量生成文档标识符,请勿修改标题级别和内容!本文档由Script Doc Generator辅助生成。