刚上手接触服务器端,头脑转不过来,没搞懂在哪调用哪里
这是photonserver课程的问题,不是泰斗1
OnOperationResponse,OnOperationRequest这些函数需不需要被调用,如果不需要,那么传参从哪里接收?会传到什么地方?
像服务器端的帮助类BaseHandler的OnOperationRequest方法
public override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters, ClientPeer peer)
只看到在ClientPeer.cs脚本中调用过,其他Handler类没看到在哪调用了,是在这里统一调用了吗?调用父类,子类能继承?
//处理客户端的请求
protected override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters)
{
BaseHandler handler = DictTool.GetValue<OperationCode, BaseHandler>(MyGameServer.Instance.handlerDict,
(OperationCode)operationRequest.OperationCode);//发起登录注册请求
if (handler != null)
{
handler.OnOperationRequest(operationRequest, sendParameters, this);
}
else
{
BaseHandler defaultHandler =
DictTool.GetValue<OperationCode, BaseHandler>(MyGameServer.Instance.handlerDict,
OperationCode.Default);//非登录注册请求
defaultHandler.OnOperationRequest(operationRequest,sendParameters,this);
}
}
OnOperationResponse这些函数不需要我们调用,有photon server自动调用
我们在这个方法里面接收参数进行处理就行了,参数就传到这个方法里面
这里handler已经放到字典里面统一管理起来了,只需要通过OperationCode得到对应的Handler,调用对应的Handler来处理就可以了哈