Esempio n. 1
0
        internal void RemovePlayerAsync(Player player)
        {
            if (is_disposing())
            {
                return;
            }

            remove_player(player.permanent_id);
            Task.Run(async() => {
                var attempt = new RemovePlayerAttempt
                {
                    PlayerId = player.permanent_id
                };

                try
                {
                    var result = await client.RemovePlayerAsync(attempt);
                    if (!result.IsRemoved)
                    {
                        Log.Warning("Tried to remove player from service but the service is not running.");
                    }
                } catch (RpcException)
                {
                    //Server is down. There is nothing to do
                } catch (Exception e)
                {
                    Log.Exception(e);
                }
            });
        }
Esempio n. 2
0
 public override Task <RemovePlayerResult> RemovePlayer(RemovePlayerAttempt request, ServerCallContext context)
 {
     try
     {
         var player_id = request.PlayerId;
         OnRemovePlayer(player_id);
         return(Task.FromResult(new RemovePlayerResult
         {
             IsRemoved = true
         }));
     } catch (Exception e)
     {
         Log.Exception(e);
         return(Task.FromResult(new RemovePlayerResult
         {
             IsRemoved = false
         }));
     }
 }