Event事件处理机制的实例应用

本文介绍了Java中事件处理机制的四个步骤,并通过游戏event事件分发处理为例进行详细阐述。首先定义了事件基类,包括事件类型、句柄、参数等,接着设计了事件处理器接口和抽象事件处理器。然后,构建了事件分发器,实现注册监听器、分发事件等功能。在实际应用中,事件监听器在服务器启动时注册,游戏逻辑中通过发送事件触发业务处理,利用事件分发简化复杂流程。这一机制体现了订阅者模式的设计思想。
摘要由CSDN通过智能技术生成

事件机制包含4个步骤:注册侦听器,发送事件,侦听事件,移除侦听器。这四个步骤是按照顺序来执行的,本文正是event事件的简单实例。

一)Event基类事件的定义与设计

主要有事件类型、事件句柄、事件参数、处理结果、处理标志等,另外还有对应的事件带参构造器

/**
 *	基类事件
 *
 * @author xiu
 * @version 2017年8月2日 上午11:26:06 
 */
public class Event {
	/**
	 * 事件类型 {@link EventType}
	 */
	private int eventType;

	/**
	 * 事件句柄
	 */
	private int handle;

	/**
	 * 事件参数
	 */
	private Object[] param;

	/**
	 * 处理结果
	 */
	private Object result;

	/**
	 * 公司ID
	 */
	private Long characterId;

	/**
	 * 处理标志
	 */
	private Integer flag;

	public Event() {
	}
	
	/**
	 * 事件构造器,初始化一个event
	 * @param eventType
	 *            事件类型{@link Event}
	 * @param handle
	 *            事件句柄,对于使用道具就是道具ID
	 * @param param
	 *            事件参数
	 */
	public Event(int handle, Object... param) {
		this.eventType = handle/1000;
		this.handle = handle;
		this.param = param;
	}

	/**
	 * @param eventType
	 *            事件类型{@link Event}
	 * @param handle
	 *            事件句柄,对于使用道具就是道具ID
	 * @param param
	 *            事件参数
	 */
	public Event(int eventType, int handle, Object[] param) {
		this.eventType = eventType;
		this.handle = handle;
		this.param = param;
	}
	
	public int getEventType() {
		return eventType;
	}

	public void setEventType(int eventType) {
		this.eventType = eventType;
	}

	public int getHandle() {
		return handle;
	}

	public void setHandle(int handle) {
		this.handle = handle;
	}

	public Object[] getParam() {
		return param;
	}

	public void setParam(Object[] param) {
		this.param = param;
	}

	public Object getResult() {
		return result;
	}

	public void setResult(Object result) {
		this.result = result;
	}

	public Long getCharacterId() {
		return characterId;
	}

	public void setCharacterId(Long characterId) {
		this.characterId = characterId;
	}

	public Integer getFlag() {
		return flag;
	}

	public void setFlag(Integer flag) {
		this.flag = flag;
	}
	
}

二&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值