# Class: Buff

Buff()

(可用的) Buff 增益

# Accessors

# associatedEvent

get associatedEvent(): AssociatedEvent

(增益)关联的事件

# 返回值:

AssociatedEvent


# buffCompositionType

get buffCompositionType(): BuffCompositionType

(同 ID) 增益叠加方式

# 返回值:

BuffCompositionType


# buffCount

get buffCount(): number | undefined

增益影响次数

description 当且仅当该增益配置了使用次数限制时有效,未配置时为 undefined

# 返回值:

number | undefined


# buffEffectCompositionType

get buffEffectCompositionType(): BuffEffectCompositionType

增益效果叠加方式

# 返回值:

BuffEffectCompositionType


# buffTime

get buffTime(): number | undefined

增益持续时长(单位为秒)

description 当且仅当该增益配置了时常限制时有效,未配置时为 undefined

# 返回值:

number | undefined


# effectId

get effectId(): number

增益对应效果 ID

# 返回值:

number


# effectValue

get effectValue(): Long

增益效果数据

# 返回值:

Long


# id

get id(): number

当前增益 ID

# 返回值:

number


# param1

get param1(): number | undefined

自定义参数1

# 返回值:

number | undefined


# param2

get param2(): number | undefined

自定义参数2

# 返回值:

number | undefined


# param3

get param3(): number | undefined

自定义参数3

# 返回值:

number | undefined

# 事件监听

# offActiveBuffInfoChange

offActiveBuffInfoChange(handler?: ActiveBuffInfoChangeEventHandler): void

取消注册 (当前增益项目)状态信息改变 事件处理函数

example

import { buffSystem } from '@timi/mogs-sdk';

// 根据自定条件找到一个 Buff
const someBuff = buffSystem.buffs.find(buff => buff.id === 0);
if (!someBuff) {
  throw new Error('someBuff not found');
}

const handler: buffSystem.ActiveBuffInfoChangeEventHandler = (event) => {};

someBuff.onActiveBuffInfoChange(handler);
// ...
someBuff.offActiveBuffInfoChange(handler);
1
2
3
4
5
6
7
8
9
10
11
12
13

# 参数:

属性 类型
handler? ActiveBuffInfoChangeEventHandler

# 返回值:

void


# onActiveBuffInfoChange

onActiveBuffInfoChange(handler: ActiveBuffInfoChangeEventHandler): void

注册 (当前增益项目)状态信息改变 事件处理函数

example

import { buffSystem } from '@timi/mogs-sdk';

// 根据自定条件找到一个 Buff
const someBuff = buffSystem.buffs.find(buff => buff.id === 0);
if (!someBuff) {
  throw new Error('someBuff not found');
}

// 监听特定的 Buff 的生效/失效/信息改变的事件
someBuff.onActiveBuffInfoChange((event) => {
  switch (event.type) {
    case buffSystem.ActiveBuffInfoChangeEventType.Add:
      console.log(
        '当前 Buff 生效:',
        event.previousValue === null,
        event.currentValue,
      );
      break;
    case buffSystem.ActiveBuffInfoChangeEventType.Remove:
      console.log(
        '当前 Buff 失效:',
        event.previousValue,
        event.currentValue === null,
      );
    break;
    case buffSystem.ActiveBuffInfoChangeEventType.Update:
      console.log(
        '(已生效的)当前 Buff 信息更新:',
        event.previousValue,
        event.currentValue,
      );
      break;
  }
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

# 参数:

属性 类型
handler ActiveBuffInfoChangeEventHandler

# 返回值:

void


# 操作触发

# addBuff

addBuff(params?: Omit‹AddBuffParams, "buffId"›): Promise‹AddBuffRes

添加(当前)添加增益

# 参数:

属性 类型
params? Omit‹AddBuffParams, "buffId"›

# 返回值:

Promise‹AddBuffRes