mirror of
https://github.com/Gongxh0901/kunpolibrary
synced 2025-04-10 21:51:04 +00:00
47 lines
1.1 KiB
Markdown
47 lines
1.1 KiB
Markdown
|
## 条件显示节点
|
|||
|
|
|||
|
### 特点
|
|||
|
* 用于在游戏中显示或隐藏特定UI元素。
|
|||
|
* 一般用于红点提示
|
|||
|
* 主要是解耦用,条件单独实现,节点关联单条件或者多个条件
|
|||
|
|
|||
|
|
|||
|
|
|||
|
### 使用
|
|||
|
|
|||
|
#### *定义条件*
|
|||
|
|
|||
|
```typescript
|
|||
|
// 定义条件类型枚举
|
|||
|
enum ConditionType {
|
|||
|
condition1,
|
|||
|
condition2,
|
|||
|
condition3,
|
|||
|
}
|
|||
|
|
|||
|
// 定义条件
|
|||
|
@conditionClass(ConditionType.condition1)
|
|||
|
export class Condition1 extends kunpo.ConditionBase {
|
|||
|
protected onInit(): void {
|
|||
|
// 监听条件发生变化, 则调用一次 this.tryUpdate();
|
|||
|
kunpo.GlobalEvent.add("condition1", () => {
|
|||
|
this.tryUpdate();
|
|||
|
}, this);
|
|||
|
}
|
|||
|
|
|||
|
protected evaluate(): boolean {
|
|||
|
//TODO:: 根据条件数据,返回true or false
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### *节点关联条件*
|
|||
|
|
|||
|
```typescript
|
|||
|
/** 任意一个满足 显示节点 */
|
|||
|
new kunpo.ConditionAnyNode(fgui.GObject, ConditionType.condition1, ConditionType.condition2);
|
|||
|
|
|||
|
/** 所有条件都满足 显示节点 */
|
|||
|
new kunpo.ConditionAllNode(fgui.GObject, ConditionType.Condition1, ConditionType.Condition2, ConditionType.Condition3);
|
|||
|
```
|