package com.game.state;

/**
 * 状态基类
 * 
 * @param <T>
 */
public abstract class StateBase<T> {
	
	/**
	 * 进入状态时处理
	 * @param owner
	 */
	public void enter(T owner) {
		
	}
	
	/**
	 * 退出状态时处理
	 * @param owner
	 */
	public void exit(T owner) {
		
	}
	
	/**
	 * 从该状态转向下一个状态的处理
	 * @param owner
	 */
	public void toNextState(T owner) {
	}
	
	/**
	 * 执行事件处理
	 * @param owner
	 * @param cmd
	 * @param gid
	 * @param param
	 */
	public void execute(T owner, String cmd, int gid, Object param) {
		
	}
	
	/**
	 * 重连
	 * @param owner
	 */
	public void reload(T owner) {

	}
}
