public void TakeDamage(Guid TankId, float Amount) { try { TakeDamageRequest tdr = new TakeDamageRequest(); tdr.Amount = Amount; tdr.TankGameSessionId = _CurrentGameSessionId; tdr.TankId = TankId; m_client.Invoke("Que", tdr.CreateRequest(RequestProcessorEnum.TakeDamage, _UserId).Serialize()); } catch (Exception E) { UnityEngine.Debug.Log(E.Message); } }
public async Task <IResponse> Process(IRequest request) { try { TakeDamageRequest rq = request as TakeDamageRequest; TakeDamageResponse response = new TakeDamageResponse(); response.Status = HttpStatusCode.OK; response.TankGameSessionId = rq.TankGameSessionId; response.TankId = rq.TankId; //Do processing and notify clients ActorId SessionActorId = new ActorId(rq.TankGameSessionId); await SessionActorId.Proxy <ITankGameSession>().TakeDamage(new ActorId(rq.TankId), rq.Amount); //Send back response (dummy response here since we only support que in this call) return(await Task.FromResult(response)); } catch (Exception E) { E.Log(); ErrorResponse errorresponse = new ErrorResponse(E.Message); return(errorresponse); } }