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() { } }