using Godot;
namespace Core;
///
/// MVC 基础接口
/// 设计说明:
/// 1) View 只负责显示与输入,Controller 负责修改 Model。
/// 2) View 与 Model 通过 Bind 绑定,避免静态单例。
/// 注意事项:
/// - View 内不要直接写业务结算逻辑。
/// 未来扩展:
/// - 可加入“脏标记刷新”与“差量更新”以减少 UI 开销。
///
public interface IView
{
void Bind(TModel model);
}
public interface IController
{
void Initialize(GameSession session);
}
public abstract partial class ModelView : Node, IView
{
public TModel Model { get; private set; }
public virtual void Bind(TModel model)
{
Model = model;
OnModelBound();
}
protected virtual void OnModelBound()
{
}
}