游戏框架随想,Effect的抽象

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

1。可以把Effect单独抽象出来,用双向的多态模式(visitor?)实现“作用”这个问题。

class Effect{

int effectStart; //the time Effect started

int effectDuration; //the time Effect holds

int effectOn(Creature c){};

};

class Creature{

...

ArrayList effects; // The effects creature is suffering.

public void TakeEffect(Effect effect);

public void UpdateEffect(Effect effect);//need be inherited

public void Update()

{ //Iterate effects

//if(iterator.effectStart>iterator.effectDuration) iterator.remove();

//execute UpdateEffect(iterator)

}

};

如上,Effect的继承类可以自由更改Creature 的effectsList(一般是添加),而Creature的继承类可以重载UpdateEffect方法对Effect起反应。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航