Exemplo n.º 1
0
        private static void SetCVarValue(CVar cvar, object newValue)
        {
            //	cvarFieldInfo.field.SetValue (cvarFieldInfo.objectOwner, newValue);
            cvar.setValue(newValue);

            CVarChanged(cvar);
        }
Exemplo n.º 2
0
        private static void    CVarChanged(CVar cvar)
        {
//			// notify owner object
//
//			if (cvarFieldInfo.objectOwner != null) {
//				try {
//					var method = cvarFieldInfo.objectOwner.GetType().GetMethod("OnCVarChanged", BindingFlags.NonPublic | BindingFlags.Public
//						| BindingFlags.Instance );
//					if(method != null) {
//						method.Invoke( cvarFieldInfo.objectOwner, new object[]{ cvarFieldInfo });
//					}
//				} catch (System.Exception ex) {
//					Debug.LogException (ex);
//				}
//			}

            // call callback
            if (cvar.onChanged != null)
            {
                cvar.onChanged();
            }
        }
Exemplo n.º 3
0
        public static void    AddCVar(CVar cvar)
        {
            if (m_cvars.Exists(c => c.name == cvar.name))               // cvar with the same name already exists
            {
                return;
            }

            // adjust some parameters first

            if ("" == cvar.displayName)
            {
                cvar.displayName = cvar.name;
            }

            // set default value, if it is not set
            if (null == cvar.defaultValue)
            {
                cvar.defaultValue = CVarManager.GetCVarValue(cvar);
            }


            // add it to list
            m_cvars.Add(cvar);
        }
Exemplo n.º 4
0
        public static bool    IsCVarValueValid(CVar cvar, object value)
        {
            if (null == value)
            {
                return(false);
            }

            // first check based on type of cvar and it's parameters

            if (cvar.cvarType == typeof(string))
            {
                string str = (string)value;

                if (cvar.minLength != 0 && str.Length < cvar.minLength)
                {
                    return(false);
                }

                if (cvar.maxLength != 0 && str.Length > cvar.maxLength)
                {
                    return(false);
                }

                if (str.IndexOfAny(cvar.unallowedCharacters.ToCharArray()) >= 0)
                {
                    return(false);
                }
            }
            else if (cvar.cvarType == typeof(float))
            {
                float f = (float)value;

                if (f < cvar.minValue || f > cvar.maxValue)
                {
                    return(false);
                }
            }
            else if (cvar.cvarType == typeof(int))
            {
                int num = (int)value;

                if (num < cvar.minValue || num > cvar.maxValue)
                {
                    return(false);
                }
            }


//			if (cvarField.objectOwner != null) {
//				try {
//					var method = cvarField.objectOwner.GetType().GetMethod("OnValidateCVar", BindingFlags.NonPublic | BindingFlags.Public
//						| BindingFlags.Instance );
//
//					if(method != null) {
//						bool valid = (bool) method.Invoke( cvarField.objectOwner, new object[]{ cvarField, value });
//						if(!valid) {
//							return false;
//						}
//					}
//
//				} catch (System.Exception ex) {
//					Debug.LogException (ex);
//				}
//			}

            // now call provided function

            if (cvar.isValid != null)
            {
                return(cvar.isValid(value));
            }

            return(true);
        }
Exemplo n.º 5
0
 public static object GetCVarValue(CVar cvar)
 {
     //	return cvarFieldInfo.field.GetValue (cvarFieldInfo.objectOwner);
     return(cvar.getValue());
 }