public OperationResponse OnOperationRequest(PeerBase peer, OperationRequest operationRequest, SendParameters sendParameters) { switch ((OperationCode)operationRequest.OperationCode) { case OperationCode.EnterWorld: return(DefaultResponses.CreateNegativeResponse(operationRequest, ReturnCode.OperationNotAllowed)); case OperationCode.Move: return(OperationMove(peer, operationRequest)); case OperationCode.CharacterAction: return(OperationCharacterAction(peer, operationRequest)); case OperationCode.StartAiLoop: AILooper.Instance.Start(); return(null); case OperationCode.ToggleAiLoop: AILooper.Instance.ToggleLoop(); return(null); default: return(DefaultResponses.CreateNegativeResponse(operationRequest, ReturnCode.OperationNotSupported)); } }
public OperationResponse OnOperationRequest(PeerBase peer, OperationRequest operationRequest, SendParameters sendParameters) { switch ((OperationCode)operationRequest.OperationCode) { case OperationCode.EnterWorld: return(OperationEnterWorld(peer, operationRequest, sendParameters)); default: return(DefaultResponses.CreateNegativeResponse(operationRequest, ReturnCode.OperationNotSupported)); } }
private OperationResponse OperationCharacterAction(PeerBase peer, OperationRequest request) { log.DebugFormat("Received character action from {0}", m_Peer.Name); var actionObject = m_ActionObjectFactory.CreateActionObject(m_Peer.Name, peer.Protocol, request); if (actionObject == null) { return(DefaultResponses.CreateNegativeResponse(request, m_ActionObjectFactory.LastCreationFailReason)); } if (!actionObject.CheckPrerequesite()) { log.InfoFormat("Prerequisite check failed."); return(DefaultResponses.CreateActionRequestResponse(request, ReturnCode.Declined)); } actionObject.StartAction(); return(DefaultResponses.CreateActionRequestResponse(request, ReturnCode.OK)); }