internal bool HasPermission()
 {
     if (this.cmd == null)
     {
         return(false);
     }
     if (this.Option.IsUnrestricted)
     {
         return(true);
     }
     if (!this.IsClientside)
     {
         if (this.cmd.ServerAdmin)
         {
             if (this.IsRcon)
             {
                 return(true);
             }
             if (this.IsAdmin)
             {
                 return(true);
             }
         }
         if (this.cmd.ServerUser && this.Connection != null)
         {
             return(true);
         }
         return(false);
     }
     if (this.cmd.ClientAdmin)
     {
         if (ConsoleSystem.ClientCanRunAdminCommands == null)
         {
             return(false);
         }
         return(ConsoleSystem.ClientCanRunAdminCommands());
     }
     if (!this.Option.IsFromServer || this.cmd.AllowRunFromServer)
     {
         return(this.cmd.Client);
     }
     Debug.Log(string.Concat("Server tried to run command \"", this.FullString, "\", but we blocked it."));
     return(false);
 }