private static NamedVariable VariableToggle(NamedVariable variable, string label) { bool flag = VariableEditor.VariableToggle(variable.get_UseVariable()); if (flag != variable.get_UseVariable()) { if (!flag) { return(SkillVariable.GetNewVariableOfSameType(variable)); } variable.set_UseVariable(true); variable.set_Name(null); if (EditorGUI.get_actionKey()) { return(EditorCommands.AddVariable(SkillVariable.GetVariableType(variable), label.Trim(new char[] { '*' }).ToCamelCase())); } } return(variable); }
private static void CheckParameterType(Type type, object fieldValue) { if (type == null) { return; } if (type == typeof(SkillGameObject)) { FsmErrorChecker.CheckFsmGameObjectParameter((SkillGameObject)fieldValue); } else { if (type == typeof(SkillOwnerDefault)) { FsmErrorChecker.CheckOwnerDefaultParameter((SkillOwnerDefault)fieldValue); } else { if (type == typeof(GameObject)) { FsmErrorChecker.CheckGameObjectParameter((GameObject)fieldValue); } else { if (type == typeof(SkillEvent)) { FsmErrorChecker.CheckFsmEventParameter((SkillEvent)fieldValue); } else { if (type == typeof(SkillString)) { FsmErrorChecker.CheckFsmStringParameter((SkillString)fieldValue); } else { if (type == typeof(string)) { FsmErrorChecker.CheckStringParameter((string)fieldValue); } else { if (type.get_IsArray()) { Array array = (Array)fieldValue; if (array != null) { Type elementType = type.GetElementType(); for (int i = 0; i < array.get_Length(); i++) { FsmErrorChecker.CheckParameterType(elementType, array.GetValue(i)); } } } else { Object @object = fieldValue as Object; if (@object != null) { FsmErrorChecker.CheckObjectParameter(@object); } } } } } } } } if (type.IsSubclassOf(typeof(NamedVariable))) { if (FsmEditorSettings.CheckForRequiredField && FsmErrorChecker.IsRequiredField()) { if (fieldValue == null) { FsmErrorChecker.AddRequiredFieldError(); return; } NamedVariable namedVariable = (NamedVariable)fieldValue; if ((namedVariable.get_UseVariable() || FsmErrorChecker.IsVariableField()) && string.IsNullOrEmpty(namedVariable.get_Name())) { FsmErrorChecker.AddRequiredFieldError(); return; } } } else { if (type == typeof(SkillVar) && FsmEditorSettings.CheckForRequiredField && FsmErrorChecker.IsRequiredField()) { SkillVar fsmVar = (SkillVar)fieldValue; if (fsmVar.useVariable && (fsmVar.get_NamedVar() == null || fsmVar.get_NamedVar().get_IsNone())) { FsmErrorChecker.AddRequiredFieldError(); } } } }