public void GetSubMachineNameExistant_ReturnsNotNullAndFromFirstLayer()
        {
            SubStateMachine subStateMachine = stateMachine.GetSubStateMachine(SubStateMachineSelection.Name,
                                                                              "SubMachineNameToLayerByObjectIsLoop");

            Assert.IsNotNull(subStateMachine);
            Assert.AreEqual(subStateMachine.GetParentLayer().iD, StateMachineBuilder.layerWithEnum);
        }
        public void GetSubMachineIDExistant_ReturnsNotNullAndFromLastLayer()
        {
            SubStateMachine subStateMachine = stateMachine.GetSubStateMachine(SubStateMachineSelection.ID,
                                                                              "SubStateIDToLayerByObject", InListLocation.Last);

            Assert.IsNotNull(subStateMachine);
            Assert.AreEqual(subStateMachine.GetParentLayer().iD, StateMachineBuilder.layerWithID);
        }
        public void GetSubMachineIDExistant_ReturnsNotNullAndFromFirstLayer()
        {
            SubStateMachine subStateMachine =
                stateMachine.GetSubStateMachine(SubStateMachineSelection.ID, "SubStateIDToLastAddedLayer");

            Assert.IsNotNull(subStateMachine);
            Assert.AreEqual(subStateMachine.GetParentLayer().iD, StateMachineBuilder.layerWithEnum);
        }
Exemplo n.º 4
0
        public void RemoveNewSubMachineAddedToLastLayer()
        {
            SubStateMachine subStateMachine = stateMachine.AddSubStateMachine("newSubState", "newSubMachine");

            Assert.IsTrue(stateMachine.HasSubStateMachine(SubStateMachineSelection.ID, "newSubState",
                                                          StateMachineBuilder.layerWithEnum));
            stateMachine.RemoveSubStateMachine(subStateMachine);
            Assert.IsFalse(stateMachine.HasSubStateMachine(SubStateMachineSelection.ID, "newSubState",
                                                           StateMachineBuilder.layerWithEnum));
        }
        private /* async */ Task ThrowTaskExceptionAsync()
        {
            SubStateMachine stateMachine = new SubStateMachine();

            stateMachine.This    = this;
            stateMachine.Builder = AsyncTaskMethodBuilder.Create();
            stateMachine.State   = -1;
            AsyncTaskMethodBuilder builder = stateMachine.Builder;

            builder.Start(ref stateMachine);
            return(stateMachine.Builder.Task);
        }
        public void GetSubMachineNameExistant_ReturnsFromNewlyAddedLayer()
        {
            Layer           layer           = stateMachine.AddLayer("NewLayer");
            SubStateMachine subStateMachine =
                stateMachine.AddSubStateMachine("NewSubState", "NewSubStateMachine", layer);

            Assert.IsNotNull(
                stateMachine.GetSubStateMachine(SubStateMachineSelection.Name, "NewSubStateMachine", layer));
            Assert.AreEqual(
                stateMachine.GetSubStateMachine(SubStateMachineSelection.Name, "NewSubStateMachine", layer).GetParentLayer().iD,
                "NewLayer");
        }
Exemplo n.º 7
0
        static void SaveToPrefab(MenuCommand command)
        {
            SubStateMachine behaviour = command.context as SubStateMachine;
            NodeGraph       nodeGraph = behaviour.subFSM;

            string path = EditorUtility.SaveFilePanelInProject(Localization.GetWord("Save To Prefab"), nodeGraph.graphName, "prefab", "");

            if (string.IsNullOrEmpty(path))
            {
                return;
            }

            Clipboard.SaveToPrefab(path, nodeGraph);
        }
Exemplo n.º 8
0
        void DropNodes(Node[] nodes)
        {
            SubStateMachine subStateMachine = target as SubStateMachine;
            ArborFSM        subFSM          = subStateMachine.subFSM;

            Undo.IncrementCurrentGroup();
            int undoGroup = Undo.GetCurrentGroup();

            Undo.RegisterCompleteObjectUndo(subFSM, "DropNodes");

            Clipboard.DuplicateNodes(Vector2.zero, nodes, subFSM, false);
            graphEditor.DeleteNodes(nodes);

            Undo.CollapseUndoOperations(undoGroup);
        }
        public override void OnInspectorGUI()
        {
            serializedObject.Update();

            SubStateMachine subStateMachine = target as SubStateMachine;
            NodeGraph       nodeGraph       = subStateMachine.subFSM;

            if (GUILayout.Button("Open " + nodeGraph.displayGraphName, ArborEditor.Styles.largeButton))
            {
                if (graphEditor != null)
                {
                    graphEditor.hostWindow.ChangeCurrentNodeGraph(nodeGraph);
                }
            }

            argumentListEditor.DoLayoutList();

            serializedObject.ApplyModifiedProperties();
        }
Exemplo n.º 10
0
    protected override void SetSubStateMachine(SubStateMachine ssm, bool entryToStateMachine)
    {
        base.SetSubStateMachine(ssm, entryToStateMachine);

        OnStateChange?.Invoke();
    }