コード例 #1
0
ファイル: GameEngineApp.cs プロジェクト: gsaone/forklift
        protected override void OnRegisterConfigParameter(Config.Parameter parameter)
        {
            base.OnRegisterConfigParameter(parameter);

            if (EngineConsole.Instance != null)
            {
                EngineConsole.Instance.RegisterConfigParameter(parameter);
            }
        }
コード例 #2
0
        private void OnConsoleConfigCommand(string arguments, object userData)
        {
            Config.Parameter parameter = (Config.Parameter)userData;

            if (string.IsNullOrEmpty(arguments))
            {
                object value = parameter.GetValue();
                Print(string.Format("Value: \"{0}\", Default value: \"{1}\"",
                                    value != null ? value : "(null)", parameter.DefaultValue));
                return;
            }

            try
            {
                if (parameter.Field != null)
                {
                    object value = SimpleTypesUtils.GetSimpleTypeValue(parameter.Field.FieldType,
                                                                       arguments);
                    if (value == null)
                    {
                        throw new Exception("Not simple type");
                    }
                    parameter.Field.SetValue(null, value);
                }
                else if (parameter.Property != null)
                {
                    object value = SimpleTypesUtils.GetSimpleTypeValue(parameter.Property.PropertyType,
                                                                       arguments);
                    if (value == null)
                    {
                        throw new Exception("Not simple type");
                    }
                    parameter.Property.SetValue(null, value, null);
                }
            }
            catch (FormatException e)
            {
                string s = "";
                if (parameter.Field != null)
                {
                    s = parameter.Field.FieldType.ToString();
                }
                else if (parameter.Property != null)
                {
                    s = parameter.Property.PropertyType.ToString();
                }
                Print(string.Format("Config : Invalid parameter format \"{0}\" {1}", s,
                                    e.Message), new ColorValue(1, 0, 0));
            }
        }
コード例 #3
0
        public void RegisterConfigParameter(Config.Parameter parameter)
        {
            string strType = "";

            if (parameter.Field != null)
            {
                strType = parameter.Field.FieldType.Name;
            }
            else if (parameter.Property != null)
            {
                strType = parameter.Property.PropertyType.Name;
            }

            string description = string.Format("\"{0}\", Default: \"{1}\"", strType,
                                               parameter.DefaultValue);

            AddCommand(parameter.Name, OnConsoleConfigCommand, parameter, description);
        }