Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / IComponent.cs
@小李xl 小李xl on 25 Aug 2022 1 KB 补一部分注释

using Godot;

/// <summary>
/// 组件接口
/// </summary>
public interface IComponent<TN> : IProcess, IDestroy where TN : Node2D
{
    /// <summary>
    /// 该组件绑定的GameObject对象
    /// </summary>
    GameObject<TN> GameObject { get; }
    
    /// <summary>
    /// 该组件所绑定的GameObject的坐标
    /// </summary>
    Vector2 Position { get; set; }
    
    /// <summary>
    /// 该组件所绑定的GameObject的全局坐标
    /// </summary>
    Vector2 GlobalPosition { get; set; }
    
    /// <summary>
    /// 该组件所绑定的GameObject的显示状态
    /// </summary>
    bool Visible { get; set; }
    
    /// <summary>
    /// 是否启用该组件, 如果停用, 则不会调用 Process 和 PhysicsProcess
    /// </summary>
    bool Enable { get; set; }

    /// <summary>
    /// 第一次调用 Process 或 PhysicsProcess 之前调用
    /// </summary>
    void Ready();
    
    /// <summary>
    /// 当该组件挂载到GameObject上时调用
    /// </summary>
    void OnMount();
    
    /// <summary>
    /// 当该组件被取消挂载时调用
    /// </summary>
    void OnUnMount();
}