一个用于管理加权事件列表的类,它允许根据权重触发随机事件,并返回触发结果的相关信息
// 创建事件列表数据const eventData: EventListData[] = [ { weight: 10, event: () => console.log("事件1触发") }, { weight: 30, event: () => console.log("事件2触发") }, { weight: 60, event: () => console.log("事件3触发") }];// 创建事件列表实例const eventList = new EventList(eventData);// 调用事件const result = eventList.call();console.log(`触发事件索引: ${result.dataIndex}, 权重总和: ${result.weightSum}, 随机权重值: ${result.weightRand}`); Copy
// 创建事件列表数据const eventData: EventListData[] = [ { weight: 10, event: () => console.log("事件1触发") }, { weight: 30, event: () => console.log("事件2触发") }, { weight: 60, event: () => console.log("事件3触发") }];// 创建事件列表实例const eventList = new EventList(eventData);// 调用事件const result = eventList.call();console.log(`触发事件索引: ${result.dataIndex}, 权重总和: ${result.weightSum}, 随机权重值: ${result.weightRand}`);
该事件列表的数据
调用事件,根据给定的权重决定触发何种事件
注意:如果所有事件权重都为 0,会导致无法触发任何事件
该函数运行的结果
如果找不到要调用的事件,则抛出错误
一个用于管理加权事件列表的类,它允许根据权重触发随机事件,并返回触发结果的相关信息
Example