事件
注册事件类
创建一个自己的事件类,直接或间接继承Event,实现call方法,然后将类注册到你的模块中
call方法中不需要写任何代码,但它必须有方法体
public class MyEvent extends Event
{
// 实现call方法
@Override
public void call()
{
// 这里不用写任何代码
}
// 处理该事件的模块
public static class Module extends MzModule
{
// 模块实例,在其父模块中注册
public static Module instance=new Module();
@Override
public void onLoad()
{
// 注册事件类
this.register(MyEvent.class);
}
}
}
在合适的时候触发该事件即可
触发事件
若你创建了一个事件实例,调用call方法即可触发所有监听器
如果事件没有被取消,则执行事件
无论如何,最后都应该调用complete方法来结束事件
MyEvent event=new MyEvent();
// 触发监听器
event.call();
if(!event.isCancelled())
{
// 执行事件
}
// 完成事件
event.complete();