private static void CheckFsmStringParameter(SkillString fsmString) { if (fsmString != null && !fsmString.get_UseVariable()) { FsmErrorChecker.CheckStringParameter(fsmString.get_Value()); } }
public static SkillString FsmStringPopup(GUIContent label, Skill fsm, SkillString fsmString) { EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]); fsmString = VariableEditor.DoFsmStringPopup(label, fsm, fsmString); VariableEditor.EndVariableEditor(fsmString); return(fsmString); }
public static SkillStateAction AddPlayAnimationAction(Skill targetFsm, SkillState state, AnimationClip anim, SkillStateAction beforeAction = null) { SkillStateAction fsmStateAction = ActionUtility.AddAction(state, "HutongGames.PlayMaker.Actions.PlayAnimation", beforeAction); if (fsmStateAction == null) { return(null); } if (!ActionUtility.GameObjectHasAnimationClip(targetFsm.get_GameObject(), anim.get_name()) && Dialogs.YesNoDialog(Strings.get_ActionUtility_Add_Animation_Clip_to_GameObject())) { ActionUtility.AddAnimationClip(targetFsm.get_GameObject(), anim); } FieldInfo field = fsmStateAction.GetType().GetField("animName", 20); if (field != null) { FieldInfo arg_68_0 = field; object arg_68_1 = fsmStateAction; SkillString fsmString = new SkillString(); fsmString.set_Value(anim.get_name()); arg_68_0.SetValue(arg_68_1, fsmString); } SkillEditor.SetFsmDirty(targetFsm, true, false, true); SkillEditor.SaveActions(targetFsm); return(fsmStateAction); }
public static void VariablesPopup(GameObject go, string fsmName, UIHint hint, SkillString variable) { if (SkillEditorGUILayout.BrowseButton(go != null, Strings.get_Tooltip_Browse_variables_in_FSM())) { StringEditor.editingVariable = variable; StringEditor.DoVariablesMenu(go, fsmName, hint); } }
public static void AnimationNamePopup(GameObject go, SkillString variable, object obj = null, FieldInfo field = null) { if (SkillEditorGUILayout.BrowseButton(go != null, Strings.get_Tooltip_Browse_Animations_on_GameObject())) { StringEditor.editingVariable = variable; StringEditor.editingObject = obj; StringEditor.editingField = field; StringEditor.DoAnimationNameMenu(go); } }
private static void DoAnimatorParameterPopup(GameObject go, AnimatorControllerParameterType parameterType, SkillString variable, object obj = null, FieldInfo field = null) { if (SkillEditorGUILayout.BrowseButton(go != null, string.Format(Strings.get_Tooltip_Browse_Animator_Parameters(), parameterType))) { StringEditor.editingVariable = variable; StringEditor.editingObject = obj; StringEditor.editingField = field; StringEditor.DoAnimatorParameterMenu(go, parameterType); } }
public static void SortingLayerNameBrowseButton(SkillString variable, object obj = null, FieldInfo field = null) { if (SkillEditorGUILayout.BrowseButton(true, Strings.get_Label_Sorting_Layers())) { StringEditor.editingVariable = variable; StringEditor.editingObject = obj; StringEditor.editingField = field; StringEditor.DoSortingLayerMenu(); } }
public static void LayerNamePopup(GUIContent label, SkillString variable, object obj = null, FieldInfo field = null) { SkillEditorGUILayout.PrefixLabel(label); if (GUILayout.Button(variable.get_Value(), EditorStyles.get_popup(), new GUILayoutOption[0])) { StringEditor.editingVariable = variable; StringEditor.editingObject = obj; StringEditor.editingField = field; StringEditor.DoLayerMenu(); } }
private void CreateSkillPairing(CookingSkills skill, float childHeight, float posY) { string skillNameStr = skill.ToString(); skillNameStr = char.ToUpper(skillNameStr[0]) + skillNameStr.Substring(1); TextMeshProUGUI skillName = Instantiate(textPrefab).GetComponent <TextMeshProUGUI>(); TextMeshProUGUI skillValue = Instantiate(textPrefab).GetComponent <TextMeshProUGUI>(); skillName.name = skillNameStr; skillValue.name = skillNameStr; skillName.rectTransform.SetParent(skillNamesParent); skillValue.rectTransform.SetParent(skillValuesParent); skillName.rectTransform.anchoredPosition = new Vector2(0, posY); skillValue.rectTransform.anchoredPosition = new Vector2(0, posY); skillValue.rectTransform.sizeDelta = new Vector2(0, childHeight); skillName.rectTransform.sizeDelta = new Vector2(0, childHeight); skillName.SetText(skillNameStr + ":"); skillStrings[skill] = new SkillString(skillValue); }
public static Skill GetGameObjectFSM(SkillGameObject go, SkillString fsmName) { return(null); }
public static void AnimatorTriggerPopup(GameObject go, SkillString variable, object obj = null, FieldInfo field = null) { StringEditor.DoAnimatorParameterPopup(go, 9, variable, obj, field); }
public static SkillString FsmStringField(GUIContent label, Skill fsm, SkillString fsmString, object[] attributes) { if (fsmString.get_UseVariable()) { EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]); fsmString = VariableEditor.DoFsmStringPopup(label, fsm, fsmString); } else { if (fsmString.get_Value() == null) { fsmString.set_Value(string.Empty); } EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]); UIHint uIHint = CustomAttributeHelpers.GetUIHint(attributes); switch (uIHint) { case 1: { GUILayout.BeginVertical(new GUILayoutOption[0]); GUILayout.Label(label, new GUILayoutOption[0]); Rect rect = GUILayoutUtility.GetRect(SkillEditorContent.TempContent(fsmString.get_Value(), ""), SkillEditorStyles.TextArea, new GUILayoutOption[] { GUILayout.MinHeight(44f) }); rect.set_width(340f); fsmString.set_Value(EditorGUI.TextArea(rect, fsmString.get_Value())); GUILayout.EndVertical(); goto IL_363; } case 2: fsmString.set_Value(ActionEditor.EditComponentName(label, fsmString.get_Value(), typeof(Behaviour))); goto IL_363; case 3: fsmString.set_Value(ActionEditor.EditComponentName(label, fsmString.get_Value(), typeof(MonoBehaviour))); ActionEditor.TrySetBehaviourContext(fsmString.get_Value()); goto IL_363; case 4: fsmString.set_Value(ActionEditor.EditMethodName(label, fsmString.get_Value(), false)); goto IL_363; case 6: fsmString.set_Value(EditorGUILayout.TextField(label, fsmString.get_Value(), new GUILayoutOption[0])); ActionEditor.AnimationNamePopup(fsmString); goto IL_363; case 7: fsmString.set_Value(EditorGUILayout.TagField(label, fsmString.get_Value(), new GUILayoutOption[0])); goto IL_363; case 8: StringEditor.LayerNamePopup(label, fsmString, null, null); goto IL_363; case 11: { fsmString.set_Value(EditorGUILayout.TextField(label, fsmString.get_Value(), new GUILayoutOption[0])); EditorGUI.BeginChangeCheck(); string text = SkillEditorGUILayout.ScriptListPopup(); if (EditorGUI.EndChangeCheck() && text != "") { fsmString.set_Value(text); goto IL_363; } goto IL_363; } case 15: fsmString.set_Value(EditorGUILayout.TextField(label, fsmString.get_Value(), new GUILayoutOption[0])); ActionEditor.FsmNamePopup(fsmString); goto IL_363; case 16: fsmString.set_Value(ActionEditor.EditFsmEvent(label, fsmString.get_Value())); goto IL_363; case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: fsmString.set_Value(EditorGUILayout.TextField(label, fsmString.get_Value(), new GUILayoutOption[0])); ActionEditor.VariablePopup(fsmString, uIHint); goto IL_363; case 32: fsmString.set_Value(EditorGUILayout.TextField(label, fsmString.get_Value(), new GUILayoutOption[0])); ActionEditor.AnimatorFloatPopup(fsmString); goto IL_363; case 33: fsmString.set_Value(EditorGUILayout.TextField(label, fsmString.get_Value(), new GUILayoutOption[0])); ActionEditor.AnimatorBoolPopup(fsmString); goto IL_363; case 34: fsmString.set_Value(EditorGUILayout.TextField(label, fsmString.get_Value(), new GUILayoutOption[0])); ActionEditor.AnimatorIntPopup(fsmString); goto IL_363; case 35: fsmString.set_Value(EditorGUILayout.TextField(label, fsmString.get_Value(), new GUILayoutOption[0])); ActionEditor.AnimatorTriggerPopup(fsmString); goto IL_363; case 36: StringEditor.SortingLayerNamePopup(label, fsmString, null, null); goto IL_363; } fsmString.set_Value(EditorGUILayout.TextField(label, fsmString.get_Value(), new GUILayoutOption[0])); } IL_363: fsmString = (SkillString)VariableEditor.VariableToggle(fsmString, label.get_text()); VariableEditor.EndVariableEditor(fsmString); return(fsmString); }
private static SkillString DoFsmStringPopup(GUIContent label, Skill fsm, SkillString fsmString) { ActionEditor.DoVariableSelector(label, fsm, 4, fsmString, -1, null); fsmString.set_UseVariable(true); return(fsmString); }
private static object TryConvertValue(Type fieldType, object currentValue, object value) { if (value == null) { return(null); } Type type = value.GetType(); if (fieldType == typeof(GameObject)) { if (type.IsSubclassOf(typeof(Component))) { return(((Component)value).get_gameObject()); } } else { if (fieldType == typeof(SkillGameObject)) { if (type == typeof(GameObject)) { return(new SkillGameObject(value as GameObject)); } if (type.IsSubclassOf(typeof(Component))) { return(new SkillGameObject(((Component)value).get_gameObject())); } } else { if (fieldType == typeof(SkillOwnerDefault)) { if (type == typeof(GameObject)) { SkillOwnerDefault fsmOwnerDefault = new SkillOwnerDefault(); fsmOwnerDefault.set_OwnerOption(1); fsmOwnerDefault.set_GameObject(value as GameObject); return(fsmOwnerDefault); } if (type.IsSubclassOf(typeof(Component))) { GameObject gameObject = ((Component)value).get_gameObject(); if (gameObject != SkillEditor.SelectedFsmGameObject) { SkillOwnerDefault fsmOwnerDefault2 = new SkillOwnerDefault(); fsmOwnerDefault2.set_OwnerOption(1); fsmOwnerDefault2.set_GameObject(gameObject); return(fsmOwnerDefault2); } return(new SkillOwnerDefault()); } } else { if (fieldType == typeof(SkillProperty)) { SkillProperty fsmProperty = currentValue as SkillProperty; SkillProperty fsmProperty2 = new SkillProperty(); SkillProperty arg_14D_0 = fsmProperty2; SkillObject fsmObject = new SkillObject(); fsmObject.set_Value(value as Object); arg_14D_0.TargetObject = fsmObject; fsmProperty2.setProperty = (fsmProperty != null && fsmProperty.setProperty); return(fsmProperty2); } if (fieldType == typeof(SkillObject)) { SkillObject fsmObject2 = new SkillObject(); fsmObject2.set_Value(value as Object); return(fsmObject2); } if (fieldType == typeof(SkillMaterial)) { SkillMaterial fsmMaterial = new SkillMaterial(); fsmMaterial.set_Value(value as Material); return(fsmMaterial); } if (fieldType == typeof(SkillTexture)) { SkillTexture fsmTexture = new SkillTexture(); fsmTexture.set_Value(value as Texture); return(fsmTexture); } if (fieldType == typeof(SkillEventTarget)) { if (type == typeof(PlayMakerFSM)) { return(new SkillEventTarget { target = 3, fsmComponent = value as PlayMakerFSM }); } if (type == typeof(GameObject)) { SkillEventTarget fsmEventTarget = new SkillEventTarget(); fsmEventTarget.target = 1; SkillEventTarget arg_253_0 = fsmEventTarget; SkillOwnerDefault fsmOwnerDefault3 = new SkillOwnerDefault(); fsmOwnerDefault3.set_OwnerOption(1); fsmOwnerDefault3.set_GameObject(value as GameObject); arg_253_0.gameObject = fsmOwnerDefault3; return(fsmEventTarget); } } else { if (fieldType == typeof(SkillString)) { if (type == typeof(PlayMakerFSM)) { SkillString fsmString = new SkillString(); fsmString.set_Value(((PlayMakerFSM)value).get_FsmName()); return(fsmString); } if (type == typeof(AnimationClip)) { SkillString fsmString2 = new SkillString(); fsmString2.set_Value(((AnimationClip)value).get_name()); return(fsmString2); } } } } } } return(value); }
private static void NetworkSyncVariables(BitStream stream, SkillVariables variables) { SkillInt[] intVariables; SkillQuaternion[] quaternionVariables; SkillVector3[] vector3Variables; SkillColor[] colorVariables; SkillVector2[] vector2Variables; if (stream.get_isWriting()) { SkillString[] stringVariables = variables.StringVariables; for (int i = 0; i < stringVariables.Length; i++) { SkillString fsmString = stringVariables[i]; if (fsmString.NetworkSync) { char[] array = fsmString.Value.ToCharArray(); int num = array.Length; stream.Serialize(ref num); for (int j = 0; j < num; j++) { stream.Serialize(ref array[j]); } } } SkillBool[] boolVariables = variables.BoolVariables; for (int k = 0; k < boolVariables.Length; k++) { SkillBool fsmBool = boolVariables[k]; if (fsmBool.NetworkSync) { bool value = fsmBool.Value; stream.Serialize(ref value); } } SkillFloat[] floatVariables = variables.FloatVariables; for (int l = 0; l < floatVariables.Length; l++) { SkillFloat fsmFloat = floatVariables[l]; if (fsmFloat.NetworkSync) { float value2 = fsmFloat.Value; stream.Serialize(ref value2); } } intVariables = variables.IntVariables; for (int m = 0; m < intVariables.Length; m++) { SkillInt fsmInt = intVariables[m]; if (fsmInt.NetworkSync) { int value3 = fsmInt.Value; stream.Serialize(ref value3); } } quaternionVariables = variables.QuaternionVariables; for (int n = 0; n < quaternionVariables.Length; n++) { SkillQuaternion fsmQuaternion = quaternionVariables[n]; if (fsmQuaternion.NetworkSync) { Quaternion value4 = fsmQuaternion.Value; stream.Serialize(ref value4); } } vector3Variables = variables.Vector3Variables; for (int num2 = 0; num2 < vector3Variables.Length; num2++) { SkillVector3 fsmVector = vector3Variables[num2]; if (fsmVector.NetworkSync) { Vector3 value5 = fsmVector.Value; stream.Serialize(ref value5); } } colorVariables = variables.ColorVariables; for (int num3 = 0; num3 < colorVariables.Length; num3++) { SkillColor fsmColor = colorVariables[num3]; if (fsmColor.NetworkSync) { Color value6 = fsmColor.Value; stream.Serialize(ref value6.r); stream.Serialize(ref value6.g); stream.Serialize(ref value6.b); stream.Serialize(ref value6.a); } } vector2Variables = variables.Vector2Variables; for (int num4 = 0; num4 < vector2Variables.Length; num4++) { SkillVector2 fsmVector2 = vector2Variables[num4]; if (fsmVector2.NetworkSync) { Vector2 value7 = fsmVector2.Value; stream.Serialize(ref value7.x); stream.Serialize(ref value7.y); } } return; } SkillString[] stringVariables2 = variables.StringVariables; for (int num5 = 0; num5 < stringVariables2.Length; num5++) { SkillString fsmString2 = stringVariables2[num5]; if (fsmString2.NetworkSync) { int num6 = 0; stream.Serialize(ref num6); char[] array2 = new char[num6]; for (int num7 = 0; num7 < num6; num7++) { stream.Serialize(ref array2[num7]); } fsmString2.Value = new string(array2); } } SkillBool[] boolVariables2 = variables.BoolVariables; for (int num8 = 0; num8 < boolVariables2.Length; num8++) { SkillBool fsmBool2 = boolVariables2[num8]; if (fsmBool2.NetworkSync) { bool value8 = false; stream.Serialize(ref value8); fsmBool2.Value = value8; } } SkillFloat[] floatVariables2 = variables.FloatVariables; for (int i = 0; i < floatVariables2.Length; i++) { SkillFloat fsmFloat2 = floatVariables2[i]; if (fsmFloat2.NetworkSync) { float value9 = 0f; stream.Serialize(ref value9); fsmFloat2.Value = value9; } } intVariables = variables.IntVariables; for (int i = 0; i < intVariables.Length; i++) { SkillInt fsmInt2 = intVariables[i]; if (fsmInt2.NetworkSync) { int value10 = 0; stream.Serialize(ref value10); fsmInt2.Value = value10; } } quaternionVariables = variables.QuaternionVariables; for (int i = 0; i < quaternionVariables.Length; i++) { SkillQuaternion fsmQuaternion2 = quaternionVariables[i]; if (fsmQuaternion2.NetworkSync) { Quaternion identity = Quaternion.get_identity(); stream.Serialize(ref identity); fsmQuaternion2.Value = identity; } } vector3Variables = variables.Vector3Variables; for (int i = 0; i < vector3Variables.Length; i++) { SkillVector3 fsmVector3 = vector3Variables[i]; if (fsmVector3.NetworkSync) { Vector3 zero = Vector3.get_zero(); stream.Serialize(ref zero); fsmVector3.Value = zero; } } colorVariables = variables.ColorVariables; for (int i = 0; i < colorVariables.Length; i++) { SkillColor fsmColor2 = colorVariables[i]; if (fsmColor2.NetworkSync) { float num9 = 0f; stream.Serialize(ref num9); float num10 = 0f; stream.Serialize(ref num10); float num11 = 0f; stream.Serialize(ref num11); float num12 = 0f; stream.Serialize(ref num12); fsmColor2.Value = new Color(num9, num10, num11, num12); } } vector2Variables = variables.Vector2Variables; for (int i = 0; i < vector2Variables.Length; i++) { SkillVector2 fsmVector4 = vector2Variables[i]; if (fsmVector4.NetworkSync) { float num13 = 0f; stream.Serialize(ref num13); float num14 = 0f; stream.Serialize(ref num14); fsmVector4.Value = new Vector2(num13, num14); } } }