示例#1
0
 /// <summary>
 /// Gets the method parameter value.
 /// </summary>
 /// <param name="parameter">Parameter reflexion into</param>
 /// <param name="index">Index of the parameter as seen by player</param>
 /// <param name="player">Player bound to</param>
 /// <param name="rawValues"></param>
 /// <returns>Parsed value or DBNull if could not be barsed</returns>
 private static object GetValue(ParameterInfo parameter, int index, Player player, List <string> rawValues)
 {
     if (index < rawValues.Count)
     {
         string rawValue = rawValues[index];
         object value    = GMUtils.TryParse(parameter.ParameterType, rawValue);
         if (value == null)
         {
             player.SendClientMessage(string.Concat(
                                          CommandToString(parameter), " : Unexpected value for ", parameter.Name), ChatLogFilters.CHATLOGFILTERS_CSR_TELL_RECEIVE);
             return(DBNull.Value);
         }
         return(value);
     }
     else if (parameter.DefaultValue != DBNull.Value)
     {
         return(parameter.DefaultValue);
     }
     else
     {
         player.SendClientMessage(string.Concat(
                                      CommandToString(parameter), " : ", parameter.Name, " is required"), ChatLogFilters.CHATLOGFILTERS_CSR_TELL_RECEIVE);
         return(DBNull.Value);
     }
 }