mirror of
				https://github.com/unanmed/HumanBreak.git
				synced 2025-10-31 12:12:58 +08:00 
			
		
		
		
	
		
			
				
	
	
	
		
			2.7 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			2.7 KiB
		
	
	
	
	
	
	
	
UIInstance API 文档
本文档由 DeepSeek R1 模型生成并微调。
graph LR
    UIInstance --> IUIInstance
实现 IUIInstance 接口
类描述
UIInstance 表示通过 GameUI 模板创建的具体 UI 实例,用于管理单个 UI 实例的状态和数据绑定。实现了 IUIInstance 接口。
属性说明
| 属性名 | 类型 | 描述 | 
|---|---|---|
| key | number | 只读,实例的唯一标识(用于 Vue 的 key属性) | 
| ui | IGameUI<C> | 只读,关联的 UI 配置实例(即创建该实例的 GameUI模板) | 
| vBind | UIProps<C> | 只读,传递给 UI 组件的响应式 Props 对象 | 
| hidden | boolean | 当前实例是否处于隐藏状态 | 
| alwaysShow | boolean | 是否强制保持显示(不受显示模式影响) | 
构造方法
function constructor(
    ui: IGameUI<C>,
    vBind: UIProps<C>,
    alwaysShow: boolean = false
): UIInstance;
- 参数
- ui: 关联的- GameUI配置实例
- vBind: 初始化的组件 Props 对象
- alwaysShow: 是否强制保持显示(默认- false)
 
注意事项:一般不需要手动创建 UIInstance 实例,请使用 UIController.open 打开 UI 并创建实例。
方法说明
setVBind
function setVBind(data: Partial<Props<C>>, merge?: boolean): void;
更新组件的响应式 Props。
- 参数
- data: 需要更新的数据(部分 Props)
- merge: 是否与现有数据合并(默认- true),若为- false则完全覆盖
 
示例
// 合并更新音量值
instance.setVBind({ volume: 60 });
// 覆盖所有 Props
instance.setVBind({ theme: 'dark' }, false);
hide
function hide(): void;
控制实例的显示状态(直接操作 hidden 属性)。
示例
instance.hide(); // 隐藏 UI
setTimeout(() => instance.show(), 1000); // 1 秒后显示
show
function show(): void;
控制实例的显示状态(直接操作 hidden 属性)。
示例
instance.show(); // 隐藏 UI
setTimeout(() => instance.show(), 1000); // 1 秒后显示
总使用示例
import { myController, MyUI } from './myUI';
const myIns = myController.open(MyUI, { title: '警告' });
// 动态更新 props
myIns.setVBind({ title: '错误' });
// 设置显示状态
myIns.show();