private static void SetCVarValue(CVar cvar, object newValue) { // cvarFieldInfo.field.SetValue (cvarFieldInfo.objectOwner, newValue); cvar.setValue(newValue); CVarChanged(cvar); }
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(); } }
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); }
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); }
public static object GetCVarValue(CVar cvar) { // return cvarFieldInfo.field.GetValue (cvarFieldInfo.objectOwner); return(cvar.getValue()); }