首页 > 代码库 > 【v2.x OGE教程 17】事务处理

【v2.x OGE教程 17】事务处理


游戏代码中经常有些逻辑需要处理,因此OGE引擎添加了一个IUpdateHandler的类。IUpdateHandler类是OGE引擎中使用频率非常之高的组件之一,其本身是一个接口,内部有onUpdate以及reset两个函数等待实现,几乎所有OGE引擎应用中都必然会看到它的身影,它也是OGengine开源引擎添加具体业务到游戏业务线程中的主要方法之一。

1.创建IUpdateHandler

private IUpdateHandler handler = new IUpdateHandler() {

@Override

public void reset() {

// TODO Auto-generated method stub

}

@Override

public void onUpdate(float pSecondsElapsed) {

// TODO Auto-generated method stub

}

};

2.Updatereset方法

update方法中的pSecondsElapsed是上一次逻辑线程运行后过去的时间(),IUpdateHandler注册后,每次都会执行update方法

 

reset方法在引擎中没有任何调用

3.注册IUpdateHandler

//注册一个处理程序

public void registerUpdateHandler(final IUpdateHandler pUpdateHandler)

注册后IUpdateHandler会添加至List当中,逻辑线程每次会循环这些List进行更新

4.反注册IUpdateHandler

public void unregisterUpdateHandler(final IUpdateHandler pUpdateHandler)

反注册后IUpdateHandler会在Listremove

5.TimerHandler讲解

TimerHandlerIUpdateHandler的子类,会定时执行update方法

 

/**

@param pTimerSeconds 每次响应间隔时间 (必须>0

@param pAutoReset 是否重复执行

@param pTimerCallback 计时器触发callback

*/

public TimerHandler(final float pTimerSeconds, final boolean pAutoReset, final ITimerCallback pTimerCallback)

 

 

 

 

【v2.x OGE教程 17】事务处理