晚上好,
请考虑以下代码:
class Controlled;
//============================================================================
class Controller {
public:
explicit Controller( Controlled* c ) : mControlled( c ) { }
void Update( const Time dt ) { /* do stuff */ }
template<class T>
void Apply( T fn );
private:
Controlled* mControlled;
};
template<class T>
void EntityController::Apply( T fn ) {
fn( mControlled );
}
//============================================================================
class ControlledUpdate_f {
public:
ControlledUpdate_f( const Time dt ) : mTime( dt ) { }
void operator()( Controlled* c ) { /* do stuff */ }
private:
Time mTime;
};
在两个Update()函数中,控制器类的一部分和效率更高的仿函数?多少钱? 其次,仿函数系统比其他系统更模块化吗?我可以看到它使用脚本引擎做得很好。
感谢您的时间。如果问题有明显的答案,我会提前道歉。