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);
 }
示例#3
0
        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);
    }
示例#10
0
 public static Skill GetGameObjectFSM(SkillGameObject go, SkillString fsmName)
 {
     return(null);
 }
示例#11
0
 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);
 }
示例#14
0
        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);
        }
示例#15
0
 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);
         }
     }
 }