OpenSim.Region.CoreModules.SunModule.ParseCmdParams C# (CSharp) Method

ParseCmdParams() private method

private ParseCmdParams ( string args ) : List
args string
return List
        private List<string> ParseCmdParams(string[] args)
        {
            List<string> Output = new List<string>();

            if ((args.Length == 1) || (args[1].ToLower() == "help") || (args[1].ToLower() == "list"))
            {
                Output.Add("The following parameters can be changed or viewed:");
                foreach (KeyValuePair<string, string> kvp in GetParamList())
                {
                    Output.Add(String.Format("{0} - {1}",kvp.Key, kvp.Value));
                }
                return Output;
            }

            if (args.Length == 2)
            {
                try
                {
                    double value = GetSunParameter(args[1]);
                    Output.Add(String.Format("Parameter {0} is {1}.", args[1], value.ToString()));
                }
                catch (Exception)
                {
                    Output.Add(String.Format("Unknown parameter {0}.", args[1]));
                }

            }
            else if (args.Length == 3)
            {
                float value = 0.0f;
                if (!float.TryParse(args[2], out value))
                {
                    Output.Add(String.Format("The parameter value {0} is not a valid number.", args[2]));
                }

                switch (args[1].ToLower())
                {
                    case "year_length":
                        m_YearLengthDays = (int)value;
                        break;

                    case "day_length":
                        m_DayLengthHours = value;
                        break;

                    case "day_night_offset":
                        m_HorizonShift = value;
                        break;

                    case "day_time_sun_hour_scale":
                        m_DayTimeSunHourScale = value;
                        break;

                    case "update_interval":
                        m_UpdateInterval = (int)value;
                        break;

                    default:
                        Output.Add(String.Format("Unknown parameter {0}.", args[1]));
                        return Output;
                }

                Output.Add(String.Format("Parameter {0} set to {1}.", args[1], value.ToString()));

                // Generate shared values
                GenSunPos();

                // When sun settings are updated, we should update all clients with new settings.
                SunUpdateToAllClients();
            }

            return Output;
        }
    }