Beispiel #1
0
        private void MoveToGlobals(object userdata)
        {
            SkillVariable fsmVariable = userdata as SkillVariable;

            if (fsmVariable != null && fsmVariable.NamedVar != null)
            {
                if (SkillVariables.get_GlobalVariables().Contains(fsmVariable.Name))
                {
                    NamedVariable variable = SkillVariables.get_GlobalVariables().GetVariable(fsmVariable.Name);
                    if (variable.get_VariableType() != fsmVariable.NamedVar.get_VariableType())
                    {
                        Dialogs.OkDialog(Strings.get_Dialog_Make_Global_Variable(), Strings.get_VariableManager_MoveToGlobals_Warning());
                        return;
                    }
                    if (Dialogs.YesNoDialog(Strings.get_Dialog_Make_Global_Variable(), Strings.get_VariableManager_MoveToGlobals_Confirm()))
                    {
                        this.RemoveLocalVariable(fsmVariable);
                        return;
                    }
                }
                else
                {
                    if (Dialogs.AreYouSure(Strings.get_Dialog_Make_Global_Variable()))
                    {
                        SkillVariable.AddVariable(SkillVariables.get_GlobalVariables(), fsmVariable.NamedVar.Clone());
                        this.RemoveLocalVariable(fsmVariable);
                    }
                }
            }
        }
 public static void UnlockFSM(Skill fsm)
 {
     fsm.Unlock(SkillEditorGUILayout.Md5Sum(SkillEditorGUILayout.password));
     if (fsm.get_Locked())
     {
         Dialogs.OkDialog(Strings.get_ProductName(), Strings.get_Dialog_UnlockFSM_Wrong_Password());
         return;
     }
     SkillEditor.SetFsmDirty(fsm, false, false, true);
 }
Beispiel #3
0
        public static void Export()
        {
            AssetDatabase.Refresh();
            SkillEditor.SaveGlobals();
            AssetDatabase.CopyAsset(AssetDatabase.GetAssetPath(PlayMakerGlobals.get_Instance()), "Assets/PlaymakerGlobals_EXPORTED.asset");
            AssetDatabase.Refresh();
            string text = EditorUtility.SaveFilePanel(Strings.get_Dialog_Export_Globals(), "", "PlayMakerGlobals.unitypackage", "unitypackage");

            if (text.get_Length() == 0)
            {
                return;
            }
            AssetDatabase.ExportPackage("Assets/PlaymakerGlobals_EXPORTED.asset", text);
            AssetDatabase.DeleteAsset("Assets/PlaymakerGlobals_EXPORTED.asset");
            AssetDatabase.Refresh();
            Dialogs.OkDialog(Strings.get_Labels_Use_Import_Globals_());
        }
Beispiel #4
0
        private static void MoveToLocal(object userdata)
        {
            NamedVariable namedVariable = userdata as NamedVariable;

            if (namedVariable != null && SkillEditor.SelectedFsm != null)
            {
                SkillVariables variables = SkillEditor.SelectedFsm.get_Variables();
                if (variables.Contains(namedVariable.get_Name()))
                {
                    Dialogs.OkDialog(Strings.get_Dialog_Make_Local_Variable(), Strings.get_Dialog_Error_Variable_with_same_name_already_exists());
                    return;
                }
                SkillVariable.AddVariable(variables, namedVariable.Clone());
                SkillEditor.SelectedFsm.Reinitialize();
                SkillEditor.SetFsmDirty();
                SkillEditor.VariableManager.Reset();
                SkillEditor.RepaintAll();
            }
        }
Beispiel #5
0
        private void PerformDrop(Object obj)
        {
            string text = this.ValidateDrop(obj);

            if (!string.IsNullOrEmpty(text))
            {
                Dialogs.OkDialog(text);
                return;
            }
            string        name        = this.MakeVariableNameUnique(obj.get_name());
            SkillVariable fsmVariable = this.AddVariable(12, name, true);

            fsmVariable.TypeName    = obj.GetType().ToString();
            fsmVariable.ObjectType  = obj.GetType();
            fsmVariable.ObjectValue = obj;
            fsmVariable.UpdateVariableValue();
            this.SetDirty(true);
            this.BuildFsmVariableList(false);
            this.SelectVariable(name);
            GUIUtility.ExitGUI();
        }
Beispiel #6
0
        private static void DoImport()
        {
            EditorApplication.update = (EditorApplication.CallbackFunction)Delegate.Remove(EditorApplication.update, new EditorApplication.CallbackFunction(GlobalsAsset.DoImport));
            Debug.Log(Strings.get_Label_Importing_Globals_());
            PlayMakerGlobals[] array = (PlayMakerGlobals[])Resources.FindObjectsOfTypeAll(typeof(PlayMakerGlobals));
            if (array.Length == 1)
            {
                Dialogs.OkDialog(Strings.get_Dialog_No_Globals_to_import());
                return;
            }
            string text = "";

            PlayMakerGlobals[] array2 = array;
            for (int i = 0; i < array2.Length; i++)
            {
                PlayMakerGlobals playMakerGlobals = array2[i];
                if (playMakerGlobals != GlobalsAsset.projectGlobals)
                {
                    Debug.Log(Strings.get_Label_Importing_() + AssetDatabase.GetAssetPath(playMakerGlobals));
                    text += SkillBuilder.MergeGlobals(playMakerGlobals, GlobalsAsset.projectGlobals);
                }
            }
            if (!string.IsNullOrEmpty(text))
            {
                Dialogs.OkDialog(Strings.get_Dialog_ImportGlobals_Error() + Environment.get_NewLine() + text);
            }
            PlayMakerGlobals[] array3 = array;
            for (int j = 0; j < array3.Length; j++)
            {
                PlayMakerGlobals playMakerGlobals2 = array3[j];
                if (playMakerGlobals2 != GlobalsAsset.projectGlobals)
                {
                    AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(playMakerGlobals2));
                }
            }
            SkillEditor.SaveGlobals();
        }
Beispiel #7
0
 public static void MissingAction(string actionName)
 {
     Dialogs.OkDialog(Strings.get_Dialogs_Missing_Action(), actionName);
 }
Beispiel #8
0
 public static void OkDialog(string message)
 {
     Dialogs.OkDialog(Strings.get_ProductName(), message);
 }