This commit is contained in:
@@ -89,9 +89,15 @@ func Init(isGame bool) {
|
||||
cmdInfo := cool.Cmd{
|
||||
Func: methodValue,
|
||||
Req: methodValue.Type().In(0).Elem(),
|
||||
|
||||
// Res: , // TODO 待实现对不同用户初始化方法以取消全局cmdcache
|
||||
}
|
||||
|
||||
// 获取req的实际类型(如ReqLogin)
|
||||
reqType := reflect.TypeOf(cmdInfo.Req).Elem()
|
||||
// 预编译创建req实例的函数:返回结构体指针
|
||||
cmdInfo.NewReqFunc = func() interface{} {
|
||||
return reflect.New(reqType).Interface()
|
||||
}
|
||||
cool.CmdCache[cmd] = cmdInfo
|
||||
// if exists { // 方法已存在
|
||||
// glog.Error(context.Background(), "命令处理方法已存在,跳过注册", cmd, method.Name)
|
||||
|
||||
Reference in New Issue
Block a user