From 1543bbf07fe9b3e35d62ba8d744f631dcac04d2c Mon Sep 17 00:00:00 2001 From: Richard Bryan Irwin Date: Sat, 12 Oct 2024 14:35:49 -0600 Subject: [PATCH 1/9] Reorganized and added gitignore Moved all files to Plugins\Behavior-Editor. --- .gitignore | 72 ++ Assets/Plugins.meta | 8 + Assets/Plugins/Behavior-Editor.meta | 8 + .../{ => Plugins/Behavior-Editor}/Data.meta | 0 .../Behavior-Editor}/Data/Actions.meta | 0 .../Behavior-Editor}/Data/Actions/Check.asset | 0 .../Data/Actions/Check.asset.meta | 0 .../Behavior-Editor}/Data/Conditions.meta | 0 .../Behavior-Editor}/Data/Graphs.meta | 0 .../Behavior-Editor}/Data/Graphs/Graph.asset | 0 .../Data/Graphs/Graph.asset.meta | 0 .../Behavior-Editor}/Data/Resources.meta | 0 .../Data/Resources/ActiveSkin.guiskin | 0 .../Data/Resources/ActiveSkin.guiskin.meta | 0 .../Data/Resources/Editor.meta | 0 .../Data/Resources/Editor/CommentNode.asset | 0 .../Resources/Editor/CommentNode.asset.meta | 0 .../Data/Resources/Editor/PortalNode.asset | 0 .../Resources/Editor/PortalNode.asset.meta | 0 .../Data/Resources/Editor/StateNode.asset | 0 .../Resources/Editor/StateNode.asset.meta | 0 .../Resources/Editor/TransitionNode.asset | 0 .../Editor/TransitionNode.asset.meta | 0 .../Data/Resources/EditorSettings.asset | 0 .../Data/Resources/EditorSettings.asset.meta | 0 .../Data/Resources/EditorSkin.guiskin | 0 .../Data/Resources/EditorSkin.guiskin.meta | 0 .../Behavior-Editor}/Data/States.meta | 0 .../Behavior-Editor}/Data/States/Moving.asset | 0 .../Data/States/Moving.asset.meta | 0 .../Data/States/New State.asset | 0 .../Data/States/New State.asset.meta | 0 .../Behavior-Editor}/Data/States/Normal.asset | 0 .../Data/States/Normal.asset.meta | 0 .../Behavior-Editor}/Scripts.meta | 0 .../Behavior-Editor}/Scripts/ActionHook.cs | 0 .../Scripts/ActionHook.cs.meta | 11 + .../Behavior-Editor}/Scripts/Behavior.meta | 0 .../Scripts/Behavior/Conditions.meta | 0 .../Scripts/Behavior/Conditions/Condition.cs | 28 +- .../Behavior/Conditions/Condition.cs.meta | 0 .../Scripts/Behavior/Mono Actions.meta | 8 + .../Scripts/Behavior/Mono Actions/Action.cs | 0 .../Behavior/Mono Actions/Action.cs.meta | 11 + .../Behavior/Mono Actions/InputAxis.cs | 0 .../Behavior/Mono Actions/InputAxis.cs.meta | 11 + .../Behavior/Mono Actions/InputButton.cs | 0 .../Behavior/Mono Actions/InputButton.cs.meta | 11 + .../Scripts/Behavior/State Actions.meta | 0 .../Behavior/State Actions/StateActions.cs | 22 +- .../State Actions/StateActions.cs.meta | 0 .../Scripts/Behavior/State.cs | 194 ++-- .../Scripts/Behavior/State.cs.meta | 0 .../Behavior-Editor}/Scripts/Editor.meta | 0 .../Scripts/Editor/BehaviorEditor.meta | 0 .../Editor/BehaviorEditor/BehaviorEditor.cs | 988 +++++++++--------- .../BehaviorEditor/BehaviorEditor.cs.meta | 0 .../Editor/BehaviorEditor/EditorSettings.cs | 62 +- .../BehaviorEditor/EditorSettings.cs.meta | 0 .../Scripts/Editor/BehaviorEditor/Nodes.meta | 0 .../Editor/BehaviorEditor/Nodes/BaseNode.cs | 148 +-- .../BehaviorEditor/Nodes/BaseNode.cs.meta | 0 .../BehaviorEditor/Nodes/CommentNode.cs | 32 +- .../BehaviorEditor/Nodes/CommentNode.cs.meta | 0 .../Editor/BehaviorEditor/Nodes/DrawNode.cs | 24 +- .../BehaviorEditor/Nodes/DrawNode.cs.meta | 0 .../Editor/BehaviorEditor/Nodes/PortalNode.cs | 60 +- .../BehaviorEditor/Nodes/PortalNode.cs.meta | 0 .../Editor/BehaviorEditor/Nodes/StateNode.cs | 328 +++--- .../BehaviorEditor/Nodes/StateNode.cs.meta | 0 .../BehaviorEditor/Nodes/TransitionNode.cs | 302 +++--- .../Nodes/TransitionNode.cs.meta | 0 .../Scripts/Editor/BehaviorGraph.cs | 170 +-- .../Scripts/Editor/BehaviorGraph.cs.meta | 0 .../Scripts/Editor/Custom Inspectors.meta | 8 + .../Editor/Custom Inspectors/StateGUI.cs | 0 .../Editor/Custom Inspectors/StateGUI.cs.meta | 0 .../Behavior-Editor}/Scripts/StateManager.cs | 64 +- .../Scripts/StateManager.cs.meta | 0 .../Behavior-Editor}/Scripts/Transition.cs | 30 +- .../Scripts/Transition.cs.meta | 0 Packages/manifest.json | 35 + 82 files changed, 1409 insertions(+), 1226 deletions(-) create mode 100644 .gitignore create mode 100644 Assets/Plugins.meta create mode 100644 Assets/Plugins/Behavior-Editor.meta rename Assets/{ => Plugins/Behavior-Editor}/Data.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Actions.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Actions/Check.asset (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Actions/Check.asset.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Conditions.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Graphs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Graphs/Graph.asset (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Graphs/Graph.asset.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/ActiveSkin.guiskin (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/ActiveSkin.guiskin.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/Editor.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/Editor/CommentNode.asset (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/Editor/CommentNode.asset.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/Editor/PortalNode.asset (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/Editor/PortalNode.asset.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/Editor/StateNode.asset (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/Editor/StateNode.asset.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/Editor/TransitionNode.asset (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/Editor/TransitionNode.asset.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/EditorSettings.asset (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/EditorSettings.asset.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/EditorSkin.guiskin (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/Resources/EditorSkin.guiskin.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/States.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/States/Moving.asset (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/States/Moving.asset.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/States/New State.asset (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/States/New State.asset.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/States/Normal.asset (100%) rename Assets/{ => Plugins/Behavior-Editor}/Data/States/Normal.asset.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/ActionHook.cs (100%) create mode 100644 Assets/Plugins/Behavior-Editor/Scripts/ActionHook.cs.meta rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior/Conditions.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior/Conditions/Condition.cs (94%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior/Conditions/Condition.cs.meta (100%) create mode 100644 Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions.meta rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior/Mono Actions/Action.cs (100%) create mode 100644 Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs.meta rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior/Mono Actions/InputAxis.cs (100%) create mode 100644 Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs.meta rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior/Mono Actions/InputButton.cs (100%) create mode 100644 Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs.meta rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior/State Actions.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior/State Actions/StateActions.cs (95%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior/State Actions/StateActions.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior/State.cs (96%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Behavior/State.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs (96%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/EditorSettings.cs (97%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs (95%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs (96%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs (95%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs (95%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs (97%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs (96%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorGraph.cs (96%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/BehaviorGraph.cs.meta (100%) create mode 100644 Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors.meta rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/Custom Inspectors/StateGUI.cs (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/StateManager.cs (94%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/StateManager.cs.meta (100%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Transition.cs (95%) rename Assets/{ => Plugins/Behavior-Editor}/Scripts/Transition.cs.meta (100%) create mode 100644 Packages/manifest.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ba84517 --- /dev/null +++ b/.gitignore @@ -0,0 +1,72 @@ +[Ll]ibrary/ +[Tt]emp/ +[Oo]bj/ +[Bb]uild/ +[Bb]uilds/ +[Ll]ogs/ + +# Uncomment this line if you wish to ignore the asset store tools plugin +# [Aa]ssets/AssetStoreTools* + +# Visual Studio cache directory +.vs/ + +# Gradle cache directory +.gradle/ + +# Autogenerated VS/MD/Consulo solution and project files +ExportedObj/ +.consulo/ +*.csproj +*.unityproj +*.sln +*.suo +*.tmp +*.user +*.userprefs +*.pidb +*.booproj +*.svd +*.pdb +*.mdb +*.opendb +*.VC.db + +# Unity3D generated meta files +*.pidb.meta +*.pdb.meta +*.mdb.meta + +# Unity3D generated file on crash reports +sysinfo.txt + +# Builds +*.apk +*.unitypackage + +# Crashlytics generated file +crashlytics-build.properties + +Packages/packages-lock.json +ProjectSettings/AudioManager.asset +ProjectSettings/ClusterInputManager.asset +ProjectSettings/DynamicsManager.asset +ProjectSettings/EditorBuildSettings.asset +ProjectSettings/EditorSettings.asset +ProjectSettings/GraphicsSettings.asset +ProjectSettings/InputManager.asset +ProjectSettings/MemorySettings.asset +ProjectSettings/NavMeshAreas.asset +ProjectSettings/PackageManagerSettings.asset +ProjectSettings/Physics2DSettings.asset +ProjectSettings/PresetManager.asset +ProjectSettings/ProjectSettings.asset +ProjectSettings/ProjectVersion.txt +ProjectSettings/QualitySettings.asset +ProjectSettings/TagManager.asset +ProjectSettings/TimeManager.asset +ProjectSettings/UnityConnectSettings.asset +ProjectSettings/VersionControlSettings.asset +ProjectSettings/VFXManager.asset +UserSettings/EditorUserSettings.asset +UserSettings/Search.settings diff --git a/Assets/Plugins.meta b/Assets/Plugins.meta new file mode 100644 index 0000000..7c39bff --- /dev/null +++ b/Assets/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fee896f225a58ab4ca0058e0bd852709 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Behavior-Editor.meta b/Assets/Plugins/Behavior-Editor.meta new file mode 100644 index 0000000..20bb7ca --- /dev/null +++ b/Assets/Plugins/Behavior-Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 46ecafebbb5f7544ebec4dc0b5d0a8a1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Data.meta b/Assets/Plugins/Behavior-Editor/Data.meta similarity index 100% rename from Assets/Data.meta rename to Assets/Plugins/Behavior-Editor/Data.meta diff --git a/Assets/Data/Actions.meta b/Assets/Plugins/Behavior-Editor/Data/Actions.meta similarity index 100% rename from Assets/Data/Actions.meta rename to Assets/Plugins/Behavior-Editor/Data/Actions.meta diff --git a/Assets/Data/Actions/Check.asset b/Assets/Plugins/Behavior-Editor/Data/Actions/Check.asset similarity index 100% rename from Assets/Data/Actions/Check.asset rename to Assets/Plugins/Behavior-Editor/Data/Actions/Check.asset diff --git a/Assets/Data/Actions/Check.asset.meta b/Assets/Plugins/Behavior-Editor/Data/Actions/Check.asset.meta similarity index 100% rename from Assets/Data/Actions/Check.asset.meta rename to Assets/Plugins/Behavior-Editor/Data/Actions/Check.asset.meta diff --git a/Assets/Data/Conditions.meta b/Assets/Plugins/Behavior-Editor/Data/Conditions.meta similarity index 100% rename from Assets/Data/Conditions.meta rename to Assets/Plugins/Behavior-Editor/Data/Conditions.meta diff --git a/Assets/Data/Graphs.meta b/Assets/Plugins/Behavior-Editor/Data/Graphs.meta similarity index 100% rename from Assets/Data/Graphs.meta rename to Assets/Plugins/Behavior-Editor/Data/Graphs.meta diff --git a/Assets/Data/Graphs/Graph.asset b/Assets/Plugins/Behavior-Editor/Data/Graphs/Graph.asset similarity index 100% rename from Assets/Data/Graphs/Graph.asset rename to Assets/Plugins/Behavior-Editor/Data/Graphs/Graph.asset diff --git a/Assets/Data/Graphs/Graph.asset.meta b/Assets/Plugins/Behavior-Editor/Data/Graphs/Graph.asset.meta similarity index 100% rename from Assets/Data/Graphs/Graph.asset.meta rename to Assets/Plugins/Behavior-Editor/Data/Graphs/Graph.asset.meta diff --git a/Assets/Data/Resources.meta b/Assets/Plugins/Behavior-Editor/Data/Resources.meta similarity index 100% rename from Assets/Data/Resources.meta rename to Assets/Plugins/Behavior-Editor/Data/Resources.meta diff --git a/Assets/Data/Resources/ActiveSkin.guiskin b/Assets/Plugins/Behavior-Editor/Data/Resources/ActiveSkin.guiskin similarity index 100% rename from Assets/Data/Resources/ActiveSkin.guiskin rename to Assets/Plugins/Behavior-Editor/Data/Resources/ActiveSkin.guiskin diff --git a/Assets/Data/Resources/ActiveSkin.guiskin.meta b/Assets/Plugins/Behavior-Editor/Data/Resources/ActiveSkin.guiskin.meta similarity index 100% rename from Assets/Data/Resources/ActiveSkin.guiskin.meta rename to Assets/Plugins/Behavior-Editor/Data/Resources/ActiveSkin.guiskin.meta diff --git a/Assets/Data/Resources/Editor.meta b/Assets/Plugins/Behavior-Editor/Data/Resources/Editor.meta similarity index 100% rename from Assets/Data/Resources/Editor.meta rename to Assets/Plugins/Behavior-Editor/Data/Resources/Editor.meta diff --git a/Assets/Data/Resources/Editor/CommentNode.asset b/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/CommentNode.asset similarity index 100% rename from Assets/Data/Resources/Editor/CommentNode.asset rename to Assets/Plugins/Behavior-Editor/Data/Resources/Editor/CommentNode.asset diff --git a/Assets/Data/Resources/Editor/CommentNode.asset.meta b/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/CommentNode.asset.meta similarity index 100% rename from Assets/Data/Resources/Editor/CommentNode.asset.meta rename to Assets/Plugins/Behavior-Editor/Data/Resources/Editor/CommentNode.asset.meta diff --git a/Assets/Data/Resources/Editor/PortalNode.asset b/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/PortalNode.asset similarity index 100% rename from Assets/Data/Resources/Editor/PortalNode.asset rename to Assets/Plugins/Behavior-Editor/Data/Resources/Editor/PortalNode.asset diff --git a/Assets/Data/Resources/Editor/PortalNode.asset.meta b/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/PortalNode.asset.meta similarity index 100% rename from Assets/Data/Resources/Editor/PortalNode.asset.meta rename to Assets/Plugins/Behavior-Editor/Data/Resources/Editor/PortalNode.asset.meta diff --git a/Assets/Data/Resources/Editor/StateNode.asset b/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/StateNode.asset similarity index 100% rename from Assets/Data/Resources/Editor/StateNode.asset rename to Assets/Plugins/Behavior-Editor/Data/Resources/Editor/StateNode.asset diff --git a/Assets/Data/Resources/Editor/StateNode.asset.meta b/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/StateNode.asset.meta similarity index 100% rename from Assets/Data/Resources/Editor/StateNode.asset.meta rename to Assets/Plugins/Behavior-Editor/Data/Resources/Editor/StateNode.asset.meta diff --git a/Assets/Data/Resources/Editor/TransitionNode.asset b/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset similarity index 100% rename from Assets/Data/Resources/Editor/TransitionNode.asset rename to Assets/Plugins/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset diff --git a/Assets/Data/Resources/Editor/TransitionNode.asset.meta b/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset.meta similarity index 100% rename from Assets/Data/Resources/Editor/TransitionNode.asset.meta rename to Assets/Plugins/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset.meta diff --git a/Assets/Data/Resources/EditorSettings.asset b/Assets/Plugins/Behavior-Editor/Data/Resources/EditorSettings.asset similarity index 100% rename from Assets/Data/Resources/EditorSettings.asset rename to Assets/Plugins/Behavior-Editor/Data/Resources/EditorSettings.asset diff --git a/Assets/Data/Resources/EditorSettings.asset.meta b/Assets/Plugins/Behavior-Editor/Data/Resources/EditorSettings.asset.meta similarity index 100% rename from Assets/Data/Resources/EditorSettings.asset.meta rename to Assets/Plugins/Behavior-Editor/Data/Resources/EditorSettings.asset.meta diff --git a/Assets/Data/Resources/EditorSkin.guiskin b/Assets/Plugins/Behavior-Editor/Data/Resources/EditorSkin.guiskin similarity index 100% rename from Assets/Data/Resources/EditorSkin.guiskin rename to Assets/Plugins/Behavior-Editor/Data/Resources/EditorSkin.guiskin diff --git a/Assets/Data/Resources/EditorSkin.guiskin.meta b/Assets/Plugins/Behavior-Editor/Data/Resources/EditorSkin.guiskin.meta similarity index 100% rename from Assets/Data/Resources/EditorSkin.guiskin.meta rename to Assets/Plugins/Behavior-Editor/Data/Resources/EditorSkin.guiskin.meta diff --git a/Assets/Data/States.meta b/Assets/Plugins/Behavior-Editor/Data/States.meta similarity index 100% rename from Assets/Data/States.meta rename to Assets/Plugins/Behavior-Editor/Data/States.meta diff --git a/Assets/Data/States/Moving.asset b/Assets/Plugins/Behavior-Editor/Data/States/Moving.asset similarity index 100% rename from Assets/Data/States/Moving.asset rename to Assets/Plugins/Behavior-Editor/Data/States/Moving.asset diff --git a/Assets/Data/States/Moving.asset.meta b/Assets/Plugins/Behavior-Editor/Data/States/Moving.asset.meta similarity index 100% rename from Assets/Data/States/Moving.asset.meta rename to Assets/Plugins/Behavior-Editor/Data/States/Moving.asset.meta diff --git a/Assets/Data/States/New State.asset b/Assets/Plugins/Behavior-Editor/Data/States/New State.asset similarity index 100% rename from Assets/Data/States/New State.asset rename to Assets/Plugins/Behavior-Editor/Data/States/New State.asset diff --git a/Assets/Data/States/New State.asset.meta b/Assets/Plugins/Behavior-Editor/Data/States/New State.asset.meta similarity index 100% rename from Assets/Data/States/New State.asset.meta rename to Assets/Plugins/Behavior-Editor/Data/States/New State.asset.meta diff --git a/Assets/Data/States/Normal.asset b/Assets/Plugins/Behavior-Editor/Data/States/Normal.asset similarity index 100% rename from Assets/Data/States/Normal.asset rename to Assets/Plugins/Behavior-Editor/Data/States/Normal.asset diff --git a/Assets/Data/States/Normal.asset.meta b/Assets/Plugins/Behavior-Editor/Data/States/Normal.asset.meta similarity index 100% rename from Assets/Data/States/Normal.asset.meta rename to Assets/Plugins/Behavior-Editor/Data/States/Normal.asset.meta diff --git a/Assets/Scripts.meta b/Assets/Plugins/Behavior-Editor/Scripts.meta similarity index 100% rename from Assets/Scripts.meta rename to Assets/Plugins/Behavior-Editor/Scripts.meta diff --git a/Assets/Scripts/ActionHook.cs b/Assets/Plugins/Behavior-Editor/Scripts/ActionHook.cs similarity index 100% rename from Assets/Scripts/ActionHook.cs rename to Assets/Plugins/Behavior-Editor/Scripts/ActionHook.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/ActionHook.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/ActionHook.cs.meta new file mode 100644 index 0000000..f2279c5 --- /dev/null +++ b/Assets/Plugins/Behavior-Editor/Scripts/ActionHook.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9af6ddacae5379d408e7f08f7090b0fa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Behavior.meta b/Assets/Plugins/Behavior-Editor/Scripts/Behavior.meta similarity index 100% rename from Assets/Scripts/Behavior.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior.meta diff --git a/Assets/Scripts/Behavior/Conditions.meta b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions.meta similarity index 100% rename from Assets/Scripts/Behavior/Conditions.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions.meta diff --git a/Assets/Scripts/Behavior/Conditions/Condition.cs b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs similarity index 94% rename from Assets/Scripts/Behavior/Conditions/Condition.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs index f0b2401..7806896 100644 --- a/Assets/Scripts/Behavior/Conditions/Condition.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs @@ -1,14 +1,14 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace SA -{ - public abstract class Condition : ScriptableObject - { - public string description; - - public abstract bool CheckCondition(StateManager state); - - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SA +{ + public abstract class Condition : ScriptableObject + { + public string description; + + public abstract bool CheckCondition(StateManager state); + + } +} diff --git a/Assets/Scripts/Behavior/Conditions/Condition.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs.meta similarity index 100% rename from Assets/Scripts/Behavior/Conditions/Condition.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions.meta b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions.meta new file mode 100644 index 0000000..46d41ff --- /dev/null +++ b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 06c2840f4e2d3d14eb0530d3cb504560 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Behavior/Mono Actions/Action.cs b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs similarity index 100% rename from Assets/Scripts/Behavior/Mono Actions/Action.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs.meta new file mode 100644 index 0000000..63a504e --- /dev/null +++ b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: db7c935bf49fff54d83a317a0b506627 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Behavior/Mono Actions/InputAxis.cs b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs similarity index 100% rename from Assets/Scripts/Behavior/Mono Actions/InputAxis.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs.meta new file mode 100644 index 0000000..c5868c0 --- /dev/null +++ b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7a8a58f494edcf84b819e091b3d131ca +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Behavior/Mono Actions/InputButton.cs b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs similarity index 100% rename from Assets/Scripts/Behavior/Mono Actions/InputButton.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs.meta new file mode 100644 index 0000000..8b7ac56 --- /dev/null +++ b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d322df7ef590bad4cb0ad4c75a895b47 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Behavior/State Actions.meta b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions.meta similarity index 100% rename from Assets/Scripts/Behavior/State Actions.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions.meta diff --git a/Assets/Scripts/Behavior/State Actions/StateActions.cs b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs similarity index 95% rename from Assets/Scripts/Behavior/State Actions/StateActions.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs index 96b1931..743017b 100644 --- a/Assets/Scripts/Behavior/State Actions/StateActions.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs @@ -1,11 +1,11 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace SA -{ - public abstract class StateActions : ScriptableObject - { - public abstract void Execute(StateManager states); - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SA +{ + public abstract class StateActions : ScriptableObject + { + public abstract void Execute(StateManager states); + } +} diff --git a/Assets/Scripts/Behavior/State Actions/StateActions.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs.meta similarity index 100% rename from Assets/Scripts/Behavior/State Actions/StateActions.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs.meta diff --git a/Assets/Scripts/Behavior/State.cs b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State.cs similarity index 96% rename from Assets/Scripts/Behavior/State.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior/State.cs index d961d48..c80cc85 100644 --- a/Assets/Scripts/Behavior/State.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State.cs @@ -1,97 +1,97 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace SA -{ - [CreateAssetMenu] - public class State : ScriptableObject - { - public StateActions[] onFixed; - public StateActions[] onUpdate; - public StateActions[] onEnter; - public StateActions[] onExit; - - public int idCount; - [SerializeField] - public List transitions = new List(); - - public void OnEnter(StateManager states) - { - ExecuteActions(states, onEnter); - } - - public void FixedTick(StateManager states) - { - ExecuteActions(states,onFixed); - } - - public void Tick(StateManager states) - { - ExecuteActions(states, onUpdate); - CheckTransitions(states); - } - - public void OnExit(StateManager states) - { - ExecuteActions(states, onExit); - } - - public void CheckTransitions(StateManager states) - { - for (int i = 0; i < transitions.Count; i++) - { - if (transitions[i].disable) - continue; - - if(transitions[i].condition.CheckCondition(states)) - { - if (transitions[i].targetState != null) - { - states.currentState = transitions[i].targetState; - OnExit(states); - states.currentState.OnEnter(states); - } - return; - } - } - } - - public void ExecuteActions(StateManager states, StateActions[] l) - { - for (int i = 0; i < l.Length; i++) - { - if (l[i] != null) - l[i].Execute(states); - } - } - - public Transition AddTransition() - { - Transition retVal = new Transition(); - transitions.Add(retVal); - retVal.id = idCount; - idCount++; - return retVal; - } - - public Transition GetTransition(int id) - { - for (int i = 0; i < transitions.Count; i++) - { - if (transitions[i].id == id) - return transitions[i]; - } - - return null; - } - - public void RemoveTransition(int id) - { - Transition t = GetTransition(id); - if (t != null) - transitions.Remove(t); - } - - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SA +{ + [CreateAssetMenu] + public class State : ScriptableObject + { + public StateActions[] onFixed; + public StateActions[] onUpdate; + public StateActions[] onEnter; + public StateActions[] onExit; + + public int idCount; + [SerializeField] + public List transitions = new List(); + + public void OnEnter(StateManager states) + { + ExecuteActions(states, onEnter); + } + + public void FixedTick(StateManager states) + { + ExecuteActions(states,onFixed); + } + + public void Tick(StateManager states) + { + ExecuteActions(states, onUpdate); + CheckTransitions(states); + } + + public void OnExit(StateManager states) + { + ExecuteActions(states, onExit); + } + + public void CheckTransitions(StateManager states) + { + for (int i = 0; i < transitions.Count; i++) + { + if (transitions[i].disable) + continue; + + if(transitions[i].condition.CheckCondition(states)) + { + if (transitions[i].targetState != null) + { + states.currentState = transitions[i].targetState; + OnExit(states); + states.currentState.OnEnter(states); + } + return; + } + } + } + + public void ExecuteActions(StateManager states, StateActions[] l) + { + for (int i = 0; i < l.Length; i++) + { + if (l[i] != null) + l[i].Execute(states); + } + } + + public Transition AddTransition() + { + Transition retVal = new Transition(); + transitions.Add(retVal); + retVal.id = idCount; + idCount++; + return retVal; + } + + public Transition GetTransition(int id) + { + for (int i = 0; i < transitions.Count; i++) + { + if (transitions[i].id == id) + return transitions[i]; + } + + return null; + } + + public void RemoveTransition(int id) + { + Transition t = GetTransition(id); + if (t != null) + transitions.Remove(t); + } + + } +} diff --git a/Assets/Scripts/Behavior/State.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State.cs.meta similarity index 100% rename from Assets/Scripts/Behavior/State.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Behavior/State.cs.meta diff --git a/Assets/Scripts/Editor.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor.meta similarity index 100% rename from Assets/Scripts/Editor.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor.meta diff --git a/Assets/Scripts/Editor/BehaviorEditor.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor.meta similarity index 100% rename from Assets/Scripts/Editor/BehaviorEditor.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor.meta diff --git a/Assets/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs similarity index 96% rename from Assets/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs index ac99627..2a9f31a 100644 --- a/Assets/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs @@ -1,494 +1,494 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; - -namespace SA.BehaviorEditor -{ - public class BehaviorEditor : EditorWindow - { - - #region Variables - Vector3 mousePosition; - bool clickedOnWindow; - BaseNode selectedNode; - - public static EditorSettings settings; - int transitFromId; - Rect mouseRect = new Rect(0, 0, 1, 1); - Rect all = new Rect(-5, -5, 10000, 10000); - GUIStyle style; - GUIStyle activeStyle; - Vector2 scrollPos; - Vector2 scrollStartPos; - static BehaviorEditor editor; - public static StateManager currentStateManager; - public static bool forceSetDirty; - static StateManager prevStateManager; - static State previousState; - int nodesToDelete; - - - public enum UserActions - { - addState,addTransitionNode,deleteNode,commentNode,makeTransition,makePortal,resetPan - } - #endregion - - #region Init - [MenuItem("Behavior Editor/Editor")] - static void ShowEditor() - { - editor = EditorWindow.GetWindow(); - editor.minSize = new Vector2(800, 600); - - } - - private void OnEnable() - { - settings = Resources.Load("EditorSettings") as EditorSettings; - style = settings.skin.GetStyle("window"); - activeStyle = settings.activeSkin.GetStyle("window"); - - } - #endregion - - private void Update() - { - if (currentStateManager != null) - { - if (previousState != currentStateManager.currentState) - { - Repaint(); - previousState = currentStateManager.currentState; - } - } - - if (nodesToDelete > 0) - { - if (settings.currentGraph != null) - { - settings.currentGraph.DeleteWindowsThatNeedTo(); - Repaint(); - } - nodesToDelete = 0; - } - } - - #region GUI Methods - private void OnGUI() - { - if (Selection.activeTransform != null) - { - currentStateManager = Selection.activeTransform.GetComponentInChildren(); - if (prevStateManager != currentStateManager) - { - prevStateManager = currentStateManager; - Repaint(); - } - } - - - - Event e = Event.current; - mousePosition = e.mousePosition; - UserInput(e); - - DrawWindows(); - - if (e.type == EventType.MouseDrag) - { - if (settings.currentGraph != null) - { - //settings.currentGraph.DeleteWindowsThatNeedTo(); - Repaint(); - } - } - - if (GUI.changed) - { - settings.currentGraph.DeleteWindowsThatNeedTo(); - Repaint(); - } - - if(settings.makeTransition) - { - mouseRect.x = mousePosition.x; - mouseRect.y = mousePosition.y; - Rect from = settings.currentGraph.GetNodeWithIndex(transitFromId).windowRect; - DrawNodeCurve(from, mouseRect, true, Color.blue); - Repaint(); - } - - if (forceSetDirty) - { - forceSetDirty = false; - EditorUtility.SetDirty(settings); - EditorUtility.SetDirty(settings.currentGraph); - - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - BaseNode n = settings.currentGraph.windows[i]; - if(n.stateRef.currentState != null) - EditorUtility.SetDirty(n.stateRef.currentState); - - } - - } - - } - - void DrawWindows() - { - GUILayout.BeginArea(all, style); - - BeginWindows(); - EditorGUILayout.LabelField(" ", GUILayout.Width(100)); - EditorGUILayout.LabelField("Assign Graph:", GUILayout.Width(100)); - settings.currentGraph = (BehaviorGraph)EditorGUILayout.ObjectField(settings.currentGraph, typeof(BehaviorGraph), false, GUILayout.Width(200)); - - if (settings.currentGraph != null) - { - foreach (BaseNode n in settings.currentGraph.windows) - { - n.DrawCurve(); - } - - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - BaseNode b = settings.currentGraph.windows[i]; - - if (b.drawNode is StateNode) - { - if (currentStateManager != null && b.stateRef.currentState == currentStateManager.currentState) - { - b.windowRect = GUI.Window(i, b.windowRect, - DrawNodeWindow, b.windowTitle,activeStyle); - } - else - { - b.windowRect = GUI.Window(i, b.windowRect, - DrawNodeWindow, b.windowTitle); - } - } - else - { - b.windowRect = GUI.Window(i, b.windowRect, - DrawNodeWindow, b.windowTitle); - } - } - } - EndWindows(); - - GUILayout.EndArea(); - - - } - - void DrawNodeWindow(int id) - { - settings.currentGraph.windows[id].DrawWindow(); - GUI.DragWindow(); - } - - void UserInput(Event e) - { - if (settings.currentGraph == null) - return; - - if(e.button == 1 && !settings.makeTransition) - { - if(e.type == EventType.MouseDown) - { - RightClick(e); - - } - } - - if (e.button == 0 && !settings.makeTransition) - { - if (e.type == EventType.MouseDown) - { - - } - } - - if(e.button == 0 && settings.makeTransition) - { - if(e.type == EventType.MouseDown) - { - MakeTransition(); - } - } - - if (e.button == 2 || e.button == 0 && e.modifiers == EventModifiers.Alt) - { - if (e.type == EventType.MouseDown) - { - scrollStartPos = e.mousePosition; - } - else if (e.type == EventType.MouseDrag) - { - HandlePanning(e); - } - else if (e.type == EventType.MouseUp) - { - - } - } - } - - void HandlePanning(Event e) - { - Vector2 diff = e.mousePosition - scrollStartPos; - diff *= .6f; - scrollStartPos = e.mousePosition; - scrollPos += diff; - - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - BaseNode b = settings.currentGraph.windows[i]; - b.windowRect.x += diff.x; - b.windowRect.y += diff.y; - } - } - - void ResetScroll() - { - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - BaseNode b = settings.currentGraph.windows[i]; - b.windowRect.x -= scrollPos.x; - b.windowRect.y -= scrollPos.y; - } - - scrollPos = Vector2.zero; - } - - void RightClick(Event e) - { - clickedOnWindow = false; - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - if (settings.currentGraph.windows[i].windowRect.Contains(e.mousePosition)) - { - clickedOnWindow = true; - selectedNode = settings.currentGraph.windows[i]; - break; - } - } - - if(!clickedOnWindow) - { - AddNewNode(e); - } - else - { - ModifyNode(e); - } - } - - void MakeTransition() - { - settings.makeTransition = false; - clickedOnWindow = false; - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - if (settings.currentGraph.windows[i].windowRect.Contains(mousePosition)) - { - clickedOnWindow = true; - selectedNode = settings.currentGraph.windows[i]; - break; - } - } - - if(clickedOnWindow) - { - if(selectedNode.drawNode is StateNode || selectedNode.drawNode is PortalNode) - { - if(selectedNode.id != transitFromId) - { - BaseNode transNode = settings.currentGraph.GetNodeWithIndex(transitFromId); - transNode.targetNode = selectedNode.id; - - BaseNode enterNode = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(transNode.enterNode); - Transition transition = enterNode.stateRef.currentState.GetTransition(transNode.transRef.transitionId); - - transition.targetState = selectedNode.stateRef.currentState; - } - } - } - } - #endregion - - #region Context Menus - void AddNewNode(Event e) - { - GenericMenu menu = new GenericMenu(); - menu.AddSeparator(""); - if (settings.currentGraph != null) - { - menu.AddItem(new GUIContent("Add State"), false, ContextCallback, UserActions.addState); - menu.AddItem(new GUIContent("Add Portal"), false, ContextCallback, UserActions.makePortal); - menu.AddItem(new GUIContent("Add Comment"), false, ContextCallback, UserActions.commentNode); - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Reset Panning"), false, ContextCallback, UserActions.resetPan); - } - else - { - menu.AddDisabledItem(new GUIContent("Add State")); - menu.AddDisabledItem(new GUIContent("Add Comment")); - } - menu.ShowAsContext(); - e.Use(); - } - - void ModifyNode(Event e) - { - GenericMenu menu = new GenericMenu(); - if (selectedNode.drawNode is StateNode) - { - if (selectedNode.stateRef.currentState != null) - { - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Add Condition"), false, ContextCallback, UserActions.addTransitionNode); - } - else - { - menu.AddSeparator(""); - menu.AddDisabledItem(new GUIContent("Add Condition")); - } - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); - } - - if (selectedNode.drawNode is PortalNode) - { - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); - } - - if (selectedNode.drawNode is TransitionNode) - { - if (selectedNode.isDuplicate || !selectedNode.isAssigned) - { - menu.AddSeparator(""); - menu.AddDisabledItem(new GUIContent("Make Transition")); - } - else - { - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Make Transition"), false, ContextCallback, UserActions.makeTransition); - } - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); - } - - if (selectedNode.drawNode is CommentNode) - { - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); - } - menu.ShowAsContext(); - e.Use(); - } - - void ContextCallback(object o) - { - UserActions a = (UserActions)o; - switch (a) - { - case UserActions.addState: - settings.AddNodeOnGraph(settings.stateNode, 200, 100, "State", mousePosition); - break; - case UserActions.makePortal: - settings.AddNodeOnGraph(settings.portalNode, 100, 80, "Portal", mousePosition); - break; - case UserActions.addTransitionNode: - AddTransitionNode(selectedNode, mousePosition); - - break; - case UserActions.commentNode: - BaseNode commentNode = settings.AddNodeOnGraph(settings.commentNode, 200, 100, "Comment", mousePosition); - commentNode.comment = "This is a comment"; - break; - default: - break; - case UserActions.deleteNode: - if (selectedNode.drawNode is TransitionNode) - { - BaseNode enterNode = settings.currentGraph.GetNodeWithIndex(selectedNode.enterNode); - if (enterNode != null) - enterNode.stateRef.currentState.RemoveTransition(selectedNode.transRef.transitionId); - } - - nodesToDelete++; - settings.currentGraph.DeleteNode(selectedNode.id); - break; - case UserActions.makeTransition: - transitFromId = selectedNode.id; - settings.makeTransition = true; - break; - case UserActions.resetPan: - ResetScroll(); - break; - } - - forceSetDirty = true; - - } - - public static BaseNode AddTransitionNode(BaseNode enterNode, Vector3 pos) - { - BaseNode transNode = settings.AddNodeOnGraph(settings.transitionNode, 200, 100, "Condition", pos); - transNode.enterNode = enterNode.id; - Transition t = settings.stateNode.AddTransition(enterNode); - transNode.transRef.transitionId = t.id; - return transNode; - } - - public static BaseNode AddTransitionNodeFromTransition(Transition transition, BaseNode enterNode, Vector3 pos) - { - BaseNode transNode = settings.AddNodeOnGraph(settings.transitionNode, 200, 100, "Condition", pos); - transNode.enterNode = enterNode.id; - transNode.transRef.transitionId = transition.id; - return transNode; - - } - - #endregion - - #region Helper Methods - public static void DrawNodeCurve(Rect start, Rect end, bool left, Color curveColor) - { - Vector3 startPos = new Vector3( - (left) ? start.x + start.width : start.x, - start.y + (start.height *.5f), - 0); - - Vector3 endPos = new Vector3(end.x + (end.width * .5f), end.y + (end.height * .5f), 0); - Vector3 startTan = startPos + Vector3.right * 50; - Vector3 endTan = endPos + Vector3.left * 50; - - Color shadow = new Color(0, 0, 0, 1); - for (int i = 0; i < 1; i++) - { - Handles.DrawBezier(startPos, endPos, startTan, endTan, shadow, null, 4); - } - - Handles.DrawBezier(startPos, endPos, startTan, endTan, curveColor, null, 3); - } - - public static void ClearWindowsFromList(Listl) - { - for (int i = 0; i < l.Count; i++) - { - // if (windows.Contains(l[i])) - // windows.Remove(l[i]); - } - } - - #endregion - - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace SA.BehaviorEditor +{ + public class BehaviorEditor : EditorWindow + { + + #region Variables + Vector3 mousePosition; + bool clickedOnWindow; + BaseNode selectedNode; + + public static EditorSettings settings; + int transitFromId; + Rect mouseRect = new Rect(0, 0, 1, 1); + Rect all = new Rect(-5, -5, 10000, 10000); + GUIStyle style; + GUIStyle activeStyle; + Vector2 scrollPos; + Vector2 scrollStartPos; + static BehaviorEditor editor; + public static StateManager currentStateManager; + public static bool forceSetDirty; + static StateManager prevStateManager; + static State previousState; + int nodesToDelete; + + + public enum UserActions + { + addState,addTransitionNode,deleteNode,commentNode,makeTransition,makePortal,resetPan + } + #endregion + + #region Init + [MenuItem("Behavior Editor/Editor")] + static void ShowEditor() + { + editor = EditorWindow.GetWindow(); + editor.minSize = new Vector2(800, 600); + + } + + private void OnEnable() + { + settings = Resources.Load("EditorSettings") as EditorSettings; + style = settings.skin.GetStyle("window"); + activeStyle = settings.activeSkin.GetStyle("window"); + + } + #endregion + + private void Update() + { + if (currentStateManager != null) + { + if (previousState != currentStateManager.currentState) + { + Repaint(); + previousState = currentStateManager.currentState; + } + } + + if (nodesToDelete > 0) + { + if (settings.currentGraph != null) + { + settings.currentGraph.DeleteWindowsThatNeedTo(); + Repaint(); + } + nodesToDelete = 0; + } + } + + #region GUI Methods + private void OnGUI() + { + if (Selection.activeTransform != null) + { + currentStateManager = Selection.activeTransform.GetComponentInChildren(); + if (prevStateManager != currentStateManager) + { + prevStateManager = currentStateManager; + Repaint(); + } + } + + + + Event e = Event.current; + mousePosition = e.mousePosition; + UserInput(e); + + DrawWindows(); + + if (e.type == EventType.MouseDrag) + { + if (settings.currentGraph != null) + { + //settings.currentGraph.DeleteWindowsThatNeedTo(); + Repaint(); + } + } + + if (GUI.changed) + { + settings.currentGraph.DeleteWindowsThatNeedTo(); + Repaint(); + } + + if(settings.makeTransition) + { + mouseRect.x = mousePosition.x; + mouseRect.y = mousePosition.y; + Rect from = settings.currentGraph.GetNodeWithIndex(transitFromId).windowRect; + DrawNodeCurve(from, mouseRect, true, Color.blue); + Repaint(); + } + + if (forceSetDirty) + { + forceSetDirty = false; + EditorUtility.SetDirty(settings); + EditorUtility.SetDirty(settings.currentGraph); + + for (int i = 0; i < settings.currentGraph.windows.Count; i++) + { + BaseNode n = settings.currentGraph.windows[i]; + if(n.stateRef.currentState != null) + EditorUtility.SetDirty(n.stateRef.currentState); + + } + + } + + } + + void DrawWindows() + { + GUILayout.BeginArea(all, style); + + BeginWindows(); + EditorGUILayout.LabelField(" ", GUILayout.Width(100)); + EditorGUILayout.LabelField("Assign Graph:", GUILayout.Width(100)); + settings.currentGraph = (BehaviorGraph)EditorGUILayout.ObjectField(settings.currentGraph, typeof(BehaviorGraph), false, GUILayout.Width(200)); + + if (settings.currentGraph != null) + { + foreach (BaseNode n in settings.currentGraph.windows) + { + n.DrawCurve(); + } + + for (int i = 0; i < settings.currentGraph.windows.Count; i++) + { + BaseNode b = settings.currentGraph.windows[i]; + + if (b.drawNode is StateNode) + { + if (currentStateManager != null && b.stateRef.currentState == currentStateManager.currentState) + { + b.windowRect = GUI.Window(i, b.windowRect, + DrawNodeWindow, b.windowTitle,activeStyle); + } + else + { + b.windowRect = GUI.Window(i, b.windowRect, + DrawNodeWindow, b.windowTitle); + } + } + else + { + b.windowRect = GUI.Window(i, b.windowRect, + DrawNodeWindow, b.windowTitle); + } + } + } + EndWindows(); + + GUILayout.EndArea(); + + + } + + void DrawNodeWindow(int id) + { + settings.currentGraph.windows[id].DrawWindow(); + GUI.DragWindow(); + } + + void UserInput(Event e) + { + if (settings.currentGraph == null) + return; + + if(e.button == 1 && !settings.makeTransition) + { + if(e.type == EventType.MouseDown) + { + RightClick(e); + + } + } + + if (e.button == 0 && !settings.makeTransition) + { + if (e.type == EventType.MouseDown) + { + + } + } + + if(e.button == 0 && settings.makeTransition) + { + if(e.type == EventType.MouseDown) + { + MakeTransition(); + } + } + + if (e.button == 2 || e.button == 0 && e.modifiers == EventModifiers.Alt) + { + if (e.type == EventType.MouseDown) + { + scrollStartPos = e.mousePosition; + } + else if (e.type == EventType.MouseDrag) + { + HandlePanning(e); + } + else if (e.type == EventType.MouseUp) + { + + } + } + } + + void HandlePanning(Event e) + { + Vector2 diff = e.mousePosition - scrollStartPos; + diff *= .6f; + scrollStartPos = e.mousePosition; + scrollPos += diff; + + for (int i = 0; i < settings.currentGraph.windows.Count; i++) + { + BaseNode b = settings.currentGraph.windows[i]; + b.windowRect.x += diff.x; + b.windowRect.y += diff.y; + } + } + + void ResetScroll() + { + for (int i = 0; i < settings.currentGraph.windows.Count; i++) + { + BaseNode b = settings.currentGraph.windows[i]; + b.windowRect.x -= scrollPos.x; + b.windowRect.y -= scrollPos.y; + } + + scrollPos = Vector2.zero; + } + + void RightClick(Event e) + { + clickedOnWindow = false; + for (int i = 0; i < settings.currentGraph.windows.Count; i++) + { + if (settings.currentGraph.windows[i].windowRect.Contains(e.mousePosition)) + { + clickedOnWindow = true; + selectedNode = settings.currentGraph.windows[i]; + break; + } + } + + if(!clickedOnWindow) + { + AddNewNode(e); + } + else + { + ModifyNode(e); + } + } + + void MakeTransition() + { + settings.makeTransition = false; + clickedOnWindow = false; + for (int i = 0; i < settings.currentGraph.windows.Count; i++) + { + if (settings.currentGraph.windows[i].windowRect.Contains(mousePosition)) + { + clickedOnWindow = true; + selectedNode = settings.currentGraph.windows[i]; + break; + } + } + + if(clickedOnWindow) + { + if(selectedNode.drawNode is StateNode || selectedNode.drawNode is PortalNode) + { + if(selectedNode.id != transitFromId) + { + BaseNode transNode = settings.currentGraph.GetNodeWithIndex(transitFromId); + transNode.targetNode = selectedNode.id; + + BaseNode enterNode = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(transNode.enterNode); + Transition transition = enterNode.stateRef.currentState.GetTransition(transNode.transRef.transitionId); + + transition.targetState = selectedNode.stateRef.currentState; + } + } + } + } + #endregion + + #region Context Menus + void AddNewNode(Event e) + { + GenericMenu menu = new GenericMenu(); + menu.AddSeparator(""); + if (settings.currentGraph != null) + { + menu.AddItem(new GUIContent("Add State"), false, ContextCallback, UserActions.addState); + menu.AddItem(new GUIContent("Add Portal"), false, ContextCallback, UserActions.makePortal); + menu.AddItem(new GUIContent("Add Comment"), false, ContextCallback, UserActions.commentNode); + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Reset Panning"), false, ContextCallback, UserActions.resetPan); + } + else + { + menu.AddDisabledItem(new GUIContent("Add State")); + menu.AddDisabledItem(new GUIContent("Add Comment")); + } + menu.ShowAsContext(); + e.Use(); + } + + void ModifyNode(Event e) + { + GenericMenu menu = new GenericMenu(); + if (selectedNode.drawNode is StateNode) + { + if (selectedNode.stateRef.currentState != null) + { + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Add Condition"), false, ContextCallback, UserActions.addTransitionNode); + } + else + { + menu.AddSeparator(""); + menu.AddDisabledItem(new GUIContent("Add Condition")); + } + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); + } + + if (selectedNode.drawNode is PortalNode) + { + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); + } + + if (selectedNode.drawNode is TransitionNode) + { + if (selectedNode.isDuplicate || !selectedNode.isAssigned) + { + menu.AddSeparator(""); + menu.AddDisabledItem(new GUIContent("Make Transition")); + } + else + { + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Make Transition"), false, ContextCallback, UserActions.makeTransition); + } + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); + } + + if (selectedNode.drawNode is CommentNode) + { + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); + } + menu.ShowAsContext(); + e.Use(); + } + + void ContextCallback(object o) + { + UserActions a = (UserActions)o; + switch (a) + { + case UserActions.addState: + settings.AddNodeOnGraph(settings.stateNode, 200, 100, "State", mousePosition); + break; + case UserActions.makePortal: + settings.AddNodeOnGraph(settings.portalNode, 100, 80, "Portal", mousePosition); + break; + case UserActions.addTransitionNode: + AddTransitionNode(selectedNode, mousePosition); + + break; + case UserActions.commentNode: + BaseNode commentNode = settings.AddNodeOnGraph(settings.commentNode, 200, 100, "Comment", mousePosition); + commentNode.comment = "This is a comment"; + break; + default: + break; + case UserActions.deleteNode: + if (selectedNode.drawNode is TransitionNode) + { + BaseNode enterNode = settings.currentGraph.GetNodeWithIndex(selectedNode.enterNode); + if (enterNode != null) + enterNode.stateRef.currentState.RemoveTransition(selectedNode.transRef.transitionId); + } + + nodesToDelete++; + settings.currentGraph.DeleteNode(selectedNode.id); + break; + case UserActions.makeTransition: + transitFromId = selectedNode.id; + settings.makeTransition = true; + break; + case UserActions.resetPan: + ResetScroll(); + break; + } + + forceSetDirty = true; + + } + + public static BaseNode AddTransitionNode(BaseNode enterNode, Vector3 pos) + { + BaseNode transNode = settings.AddNodeOnGraph(settings.transitionNode, 200, 100, "Condition", pos); + transNode.enterNode = enterNode.id; + Transition t = settings.stateNode.AddTransition(enterNode); + transNode.transRef.transitionId = t.id; + return transNode; + } + + public static BaseNode AddTransitionNodeFromTransition(Transition transition, BaseNode enterNode, Vector3 pos) + { + BaseNode transNode = settings.AddNodeOnGraph(settings.transitionNode, 200, 100, "Condition", pos); + transNode.enterNode = enterNode.id; + transNode.transRef.transitionId = transition.id; + return transNode; + + } + + #endregion + + #region Helper Methods + public static void DrawNodeCurve(Rect start, Rect end, bool left, Color curveColor) + { + Vector3 startPos = new Vector3( + (left) ? start.x + start.width : start.x, + start.y + (start.height *.5f), + 0); + + Vector3 endPos = new Vector3(end.x + (end.width * .5f), end.y + (end.height * .5f), 0); + Vector3 startTan = startPos + Vector3.right * 50; + Vector3 endTan = endPos + Vector3.left * 50; + + Color shadow = new Color(0, 0, 0, 1); + for (int i = 0; i < 1; i++) + { + Handles.DrawBezier(startPos, endPos, startTan, endTan, shadow, null, 4); + } + + Handles.DrawBezier(startPos, endPos, startTan, endTan, curveColor, null, 3); + } + + public static void ClearWindowsFromList(Listl) + { + for (int i = 0; i < l.Count; i++) + { + // if (windows.Contains(l[i])) + // windows.Remove(l[i]); + } + } + + #endregion + + } +} diff --git a/Assets/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta similarity index 100% rename from Assets/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta diff --git a/Assets/Scripts/Editor/BehaviorEditor/EditorSettings.cs b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs similarity index 97% rename from Assets/Scripts/Editor/BehaviorEditor/EditorSettings.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs index ec4bfb0..655fea3 100644 --- a/Assets/Scripts/Editor/BehaviorEditor/EditorSettings.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs @@ -2,35 +2,35 @@ using System.Collections.Generic; using UnityEngine; -namespace SA.BehaviorEditor -{ - [CreateAssetMenu(menuName ="Editor/Settings")] - public class EditorSettings : ScriptableObject - { - public BehaviorGraph currentGraph; - public StateNode stateNode; - public PortalNode portalNode; - public TransitionNode transitionNode; - public CommentNode commentNode; - public bool makeTransition; - public GUISkin skin; - public GUISkin activeSkin; - - public BaseNode AddNodeOnGraph(DrawNode type, float width,float height, string title, Vector3 pos) - { - BaseNode baseNode = new BaseNode(); - baseNode.drawNode = type; - baseNode.windowRect.width = width; - baseNode.windowRect.height = height; - baseNode.windowTitle = title; - baseNode.windowRect.x = pos.x; - baseNode.windowRect.y = pos.y; - currentGraph.windows.Add(baseNode); - baseNode.transRef = new TransitionNodeReferences(); - baseNode.stateRef = new StateNodeReferences(); - baseNode.id = currentGraph.idCount; - currentGraph.idCount++; - return baseNode; - } - } +namespace SA.BehaviorEditor +{ + [CreateAssetMenu(menuName ="Editor/Settings")] + public class EditorSettings : ScriptableObject + { + public BehaviorGraph currentGraph; + public StateNode stateNode; + public PortalNode portalNode; + public TransitionNode transitionNode; + public CommentNode commentNode; + public bool makeTransition; + public GUISkin skin; + public GUISkin activeSkin; + + public BaseNode AddNodeOnGraph(DrawNode type, float width,float height, string title, Vector3 pos) + { + BaseNode baseNode = new BaseNode(); + baseNode.drawNode = type; + baseNode.windowRect.width = width; + baseNode.windowRect.height = height; + baseNode.windowTitle = title; + baseNode.windowRect.x = pos.x; + baseNode.windowRect.y = pos.y; + currentGraph.windows.Add(baseNode); + baseNode.transRef = new TransitionNodeReferences(); + baseNode.stateRef = new StateNodeReferences(); + baseNode.id = currentGraph.idCount; + currentGraph.idCount++; + return baseNode; + } + } } diff --git a/Assets/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta similarity index 100% rename from Assets/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes.meta similarity index 100% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes.meta diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs similarity index 95% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs index fee2823..939d1cc 100644 --- a/Assets/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs @@ -1,74 +1,74 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEditor; -using UnityEditorInternal; -using UnityEngine; - -namespace SA.BehaviorEditor -{ - [System.Serializable] - public class BaseNode - { - public int id; - public DrawNode drawNode; - public Rect windowRect; - public string windowTitle; - public int enterNode; - public int targetNode; - public bool isDuplicate; - public string comment; - public bool isAssigned; - public bool showDescription; - public bool isOnCurrent; - - public bool collapse; - public bool showActions = true; - public bool showEnterExit = false; - [HideInInspector] - public bool previousCollapse; - - [SerializeField] - public StateNodeReferences stateRef; - [SerializeField] - public TransitionNodeReferences transRef; - - public void DrawWindow() - { - if(drawNode != null) - { - drawNode.DrawWindow(this); - } - } - - public void DrawCurve() - { - if (drawNode != null) - { - drawNode.DrawCurve(this); - } - } - - } - - [System.Serializable] - public class StateNodeReferences - { - // [HideInInspector] - public State currentState; - [HideInInspector] - public State previousState; - public SerializedObject serializedState; - public ReorderableList onFixedList; - public ReorderableList onUpdateList; - public ReorderableList onEnterList; - public ReorderableList onExitList; - } - - [System.Serializable] - public class TransitionNodeReferences - { - [HideInInspector] - public Condition previousCondition; - public int transitionId; - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; + +namespace SA.BehaviorEditor +{ + [System.Serializable] + public class BaseNode + { + public int id; + public DrawNode drawNode; + public Rect windowRect; + public string windowTitle; + public int enterNode; + public int targetNode; + public bool isDuplicate; + public string comment; + public bool isAssigned; + public bool showDescription; + public bool isOnCurrent; + + public bool collapse; + public bool showActions = true; + public bool showEnterExit = false; + [HideInInspector] + public bool previousCollapse; + + [SerializeField] + public StateNodeReferences stateRef; + [SerializeField] + public TransitionNodeReferences transRef; + + public void DrawWindow() + { + if(drawNode != null) + { + drawNode.DrawWindow(this); + } + } + + public void DrawCurve() + { + if (drawNode != null) + { + drawNode.DrawCurve(this); + } + } + + } + + [System.Serializable] + public class StateNodeReferences + { + // [HideInInspector] + public State currentState; + [HideInInspector] + public State previousState; + public SerializedObject serializedState; + public ReorderableList onFixedList; + public ReorderableList onUpdateList; + public ReorderableList onEnterList; + public ReorderableList onExitList; + } + + [System.Serializable] + public class TransitionNodeReferences + { + [HideInInspector] + public Condition previousCondition; + public int transitionId; + } +} diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta similarity index 100% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs similarity index 96% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs index f10b3e6..ac23bc7 100644 --- a/Assets/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs @@ -1,21 +1,21 @@ -using System; +using System; using System.Collections; using System.Collections.Generic; using UnityEngine; -namespace SA.BehaviorEditor -{ - [CreateAssetMenu(menuName = "Editor/Comment Node")] - public class CommentNode :DrawNode - { - - public override void DrawWindow(BaseNode b) - { - b.comment = GUILayout.TextArea(b.comment, 200); - } - - public override void DrawCurve(BaseNode b) - { - } - } +namespace SA.BehaviorEditor +{ + [CreateAssetMenu(menuName = "Editor/Comment Node")] + public class CommentNode :DrawNode + { + + public override void DrawWindow(BaseNode b) + { + b.comment = GUILayout.TextArea(b.comment, 200); + } + + public override void DrawCurve(BaseNode b) + { + } + } } diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta similarity index 100% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs similarity index 95% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs index c10e12e..39cab6f 100644 --- a/Assets/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs @@ -1,12 +1,12 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace SA.BehaviorEditor -{ - public abstract class DrawNode : ScriptableObject - { - public abstract void DrawWindow(BaseNode b); - public abstract void DrawCurve(BaseNode b); - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SA.BehaviorEditor +{ + public abstract class DrawNode : ScriptableObject + { + public abstract void DrawWindow(BaseNode b); + public abstract void DrawCurve(BaseNode b); + } +} diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta similarity index 100% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs similarity index 95% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs index 1e38233..17b5dfe 100644 --- a/Assets/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs @@ -1,30 +1,30 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; - - -namespace SA.BehaviorEditor -{ - [CreateAssetMenu(menuName = "Editor/Nodes/Portal Node")] - public class PortalNode : DrawNode - { - - public override void DrawCurve(BaseNode b) - { - - } - - public override void DrawWindow(BaseNode b) - { - b.stateRef.currentState = (State)EditorGUILayout.ObjectField(b.stateRef.currentState, typeof(State), false); - b.isAssigned = b.stateRef.currentState != null; - - if (b.stateRef.previousState != b.stateRef.currentState) - { - b.stateRef.previousState = b.stateRef.currentState; - BehaviorEditor.forceSetDirty = true; - } - } - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + + +namespace SA.BehaviorEditor +{ + [CreateAssetMenu(menuName = "Editor/Nodes/Portal Node")] + public class PortalNode : DrawNode + { + + public override void DrawCurve(BaseNode b) + { + + } + + public override void DrawWindow(BaseNode b) + { + b.stateRef.currentState = (State)EditorGUILayout.ObjectField(b.stateRef.currentState, typeof(State), false); + b.isAssigned = b.stateRef.currentState != null; + + if (b.stateRef.previousState != b.stateRef.currentState) + { + b.stateRef.previousState = b.stateRef.currentState; + BehaviorEditor.forceSetDirty = true; + } + } + } +} diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta similarity index 100% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs similarity index 97% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs index d5fbec1..c680b03 100644 --- a/Assets/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs @@ -1,164 +1,164 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using UnityEditorInternal; -using SA; -using System; -using System.IO; - -namespace SA.BehaviorEditor -{ - [CreateAssetMenu(menuName = "Editor/Nodes/State Node")] - public class StateNode : DrawNode - { - public override void DrawWindow(BaseNode b) - { - if(b.stateRef.currentState == null) - { - EditorGUILayout.LabelField("Add state to modify:"); - } - else - { - if(!b.collapse) - { - - } - else - { - b.windowRect.height = 100; - } - - b.collapse = EditorGUILayout.Toggle(" ", b.collapse); - } - - b.stateRef.currentState = (State)EditorGUILayout.ObjectField(b.stateRef.currentState, typeof(State), false); - - if(b.previousCollapse != b.collapse) - { - b.previousCollapse = b.collapse; - } - - if(b.stateRef.previousState != b.stateRef.currentState) - { - //b.serializedState = null; - b.isDuplicate = BehaviorEditor.settings.currentGraph.IsStateDuplicate(b); - b.stateRef.previousState = b.stateRef.currentState; - - if (!b.isDuplicate) - { - Vector3 pos = new Vector3(b.windowRect.x,b.windowRect.y,0); - pos.x += b.windowRect.width * 2; - - SetupReordableLists(b); - - //Load transtions - for (int i = 0; i < b.stateRef.currentState.transitions.Count; i++) - { - pos.y += i * 100; - BehaviorEditor.AddTransitionNodeFromTransition(b.stateRef.currentState.transitions[i], b, pos); - } - - BehaviorEditor.forceSetDirty = true; - } - - } - - if (b.isDuplicate) - { - EditorGUILayout.LabelField("State is a duplicate!"); - b.windowRect.height = 100; - return; - } - - if (b.stateRef.currentState != null) - { - b.isAssigned = true; - - if (!b.collapse) - { - if (b.stateRef.serializedState == null) - { - SetupReordableLists(b); - - // SerializedObject serializedState = new SerializedObject(b.stateRef.currentState); - } - - float standard = 150; - b.stateRef.serializedState.Update(); - b.showActions = EditorGUILayout.Toggle("Show Actions ", b.showActions); - if (b.showActions) - { - EditorGUILayout.LabelField(""); - b.stateRef.onFixedList.DoLayoutList(); - EditorGUILayout.LabelField(""); - b.stateRef.onUpdateList.DoLayoutList(); - standard += 100 + 40 + (b.stateRef.onUpdateList.count + b.stateRef.onFixedList.count) * 20; - } - b.showEnterExit = EditorGUILayout.Toggle("Show Enter/Exit ", b.showEnterExit); - if (b.showEnterExit) - { - EditorGUILayout.LabelField(""); - b.stateRef.onEnterList.DoLayoutList(); - EditorGUILayout.LabelField(""); - b.stateRef.onExitList.DoLayoutList(); - standard += 100 + 40 + (b.stateRef.onEnterList.count + b.stateRef.onExitList.count) * 20; - } - - b.stateRef.serializedState.ApplyModifiedProperties(); - b.windowRect.height = standard; - } - } - else - { - b.isAssigned = false; - } - } - - void SetupReordableLists(BaseNode b) - { - - b.stateRef.serializedState = new SerializedObject(b.stateRef.currentState); - b.stateRef.onFixedList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onFixed"), true, true, true, true); - b.stateRef.onUpdateList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onUpdate"), true, true, true, true); - b.stateRef.onEnterList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onEnter"), true, true, true, true); - b.stateRef.onExitList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onExit"), true, true, true, true); - - HandleReordableList(b.stateRef.onFixedList, "On Fixed"); - HandleReordableList(b.stateRef.onUpdateList, "On Update"); - HandleReordableList(b.stateRef.onEnterList, "On Enter"); - HandleReordableList(b.stateRef.onExitList, "On Exit"); - } - - void HandleReordableList(ReorderableList list, string targetName) - { - list.drawHeaderCallback = (Rect rect) => - { - EditorGUI.LabelField(rect, targetName); - }; - - list.drawElementCallback = (Rect rect, int index,bool isActive, bool isFocused) => - { - var element = list.serializedProperty.GetArrayElementAtIndex(index); - EditorGUI.ObjectField(new Rect(rect.x, rect.y, rect.width, EditorGUIUtility.singleLineHeight), element, GUIContent.none); - }; - } - - public override void DrawCurve(BaseNode b) - { - - } - - public Transition AddTransition(BaseNode b) - { - return b.stateRef.currentState.AddTransition(); - } - - public void ClearReferences() - { - // BehaviorEditor.ClearWindowsFromList(dependencies); - // dependencies.Clear(); - } - - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using UnityEditorInternal; +using SA; +using System; +using System.IO; + +namespace SA.BehaviorEditor +{ + [CreateAssetMenu(menuName = "Editor/Nodes/State Node")] + public class StateNode : DrawNode + { + public override void DrawWindow(BaseNode b) + { + if(b.stateRef.currentState == null) + { + EditorGUILayout.LabelField("Add state to modify:"); + } + else + { + if(!b.collapse) + { + + } + else + { + b.windowRect.height = 100; + } + + b.collapse = EditorGUILayout.Toggle(" ", b.collapse); + } + + b.stateRef.currentState = (State)EditorGUILayout.ObjectField(b.stateRef.currentState, typeof(State), false); + + if(b.previousCollapse != b.collapse) + { + b.previousCollapse = b.collapse; + } + + if(b.stateRef.previousState != b.stateRef.currentState) + { + //b.serializedState = null; + b.isDuplicate = BehaviorEditor.settings.currentGraph.IsStateDuplicate(b); + b.stateRef.previousState = b.stateRef.currentState; + + if (!b.isDuplicate) + { + Vector3 pos = new Vector3(b.windowRect.x,b.windowRect.y,0); + pos.x += b.windowRect.width * 2; + + SetupReordableLists(b); + + //Load transtions + for (int i = 0; i < b.stateRef.currentState.transitions.Count; i++) + { + pos.y += i * 100; + BehaviorEditor.AddTransitionNodeFromTransition(b.stateRef.currentState.transitions[i], b, pos); + } + + BehaviorEditor.forceSetDirty = true; + } + + } + + if (b.isDuplicate) + { + EditorGUILayout.LabelField("State is a duplicate!"); + b.windowRect.height = 100; + return; + } + + if (b.stateRef.currentState != null) + { + b.isAssigned = true; + + if (!b.collapse) + { + if (b.stateRef.serializedState == null) + { + SetupReordableLists(b); + + // SerializedObject serializedState = new SerializedObject(b.stateRef.currentState); + } + + float standard = 150; + b.stateRef.serializedState.Update(); + b.showActions = EditorGUILayout.Toggle("Show Actions ", b.showActions); + if (b.showActions) + { + EditorGUILayout.LabelField(""); + b.stateRef.onFixedList.DoLayoutList(); + EditorGUILayout.LabelField(""); + b.stateRef.onUpdateList.DoLayoutList(); + standard += 100 + 40 + (b.stateRef.onUpdateList.count + b.stateRef.onFixedList.count) * 20; + } + b.showEnterExit = EditorGUILayout.Toggle("Show Enter/Exit ", b.showEnterExit); + if (b.showEnterExit) + { + EditorGUILayout.LabelField(""); + b.stateRef.onEnterList.DoLayoutList(); + EditorGUILayout.LabelField(""); + b.stateRef.onExitList.DoLayoutList(); + standard += 100 + 40 + (b.stateRef.onEnterList.count + b.stateRef.onExitList.count) * 20; + } + + b.stateRef.serializedState.ApplyModifiedProperties(); + b.windowRect.height = standard; + } + } + else + { + b.isAssigned = false; + } + } + + void SetupReordableLists(BaseNode b) + { + + b.stateRef.serializedState = new SerializedObject(b.stateRef.currentState); + b.stateRef.onFixedList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onFixed"), true, true, true, true); + b.stateRef.onUpdateList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onUpdate"), true, true, true, true); + b.stateRef.onEnterList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onEnter"), true, true, true, true); + b.stateRef.onExitList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onExit"), true, true, true, true); + + HandleReordableList(b.stateRef.onFixedList, "On Fixed"); + HandleReordableList(b.stateRef.onUpdateList, "On Update"); + HandleReordableList(b.stateRef.onEnterList, "On Enter"); + HandleReordableList(b.stateRef.onExitList, "On Exit"); + } + + void HandleReordableList(ReorderableList list, string targetName) + { + list.drawHeaderCallback = (Rect rect) => + { + EditorGUI.LabelField(rect, targetName); + }; + + list.drawElementCallback = (Rect rect, int index,bool isActive, bool isFocused) => + { + var element = list.serializedProperty.GetArrayElementAtIndex(index); + EditorGUI.ObjectField(new Rect(rect.x, rect.y, rect.width, EditorGUIUtility.singleLineHeight), element, GUIContent.none); + }; + } + + public override void DrawCurve(BaseNode b) + { + + } + + public Transition AddTransition(BaseNode b) + { + return b.stateRef.currentState.AddTransition(); + } + + public void ClearReferences() + { + // BehaviorEditor.ClearWindowsFromList(dependencies); + // dependencies.Clear(); + } + + } +} diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta similarity index 100% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs similarity index 96% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs index a0b3b3a..a5ab553 100644 --- a/Assets/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs @@ -1,151 +1,151 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using SA; - -namespace SA.BehaviorEditor -{ - [CreateAssetMenu(menuName ="Editor/Transition Node")] - public class TransitionNode : DrawNode - { - - public void Init(StateNode enterState, Transition transition) - { - // this.enterState = enterState; - } - - public override void DrawWindow(BaseNode b) - { - EditorGUILayout.LabelField(""); - BaseNode enterNode = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.enterNode); - if (enterNode == null) - { - return; - } - - if (enterNode.stateRef.currentState == null) - { - BehaviorEditor.settings.currentGraph.DeleteNode(b.id); - return; - } - - Transition transition = enterNode.stateRef.currentState.GetTransition(b.transRef.transitionId); - - if (transition == null) - return; - - - transition.condition = - (Condition)EditorGUILayout.ObjectField(transition.condition - , typeof(Condition), false); - - if(transition.condition == null) - { - EditorGUILayout.LabelField("No Condition!"); - b.isAssigned = false; - } - else - { - - b.isAssigned = true; - if (b.isDuplicate) - { - EditorGUILayout.LabelField("Duplicate Condition!"); - } - else - { - GUILayout.Label(transition.condition.description); - - BaseNode targetNode = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.targetNode); - if (targetNode != null) - { - if (!targetNode.isDuplicate) - transition.targetState = targetNode.stateRef.currentState; - else - transition.targetState = null; - } - else - { - transition.targetState = null; - } - } - } - - if (b.transRef.previousCondition != transition.condition) - { - b.transRef.previousCondition = transition.condition; - b.isDuplicate = BehaviorEditor.settings.currentGraph.IsTransitionDuplicate(b); - - if (!b.isDuplicate) - { - BehaviorEditor.forceSetDirty = true; - // BehaviorEditor.settings.currentGraph.SetNode(this); - } - } - - } - - public override void DrawCurve(BaseNode b) - { - Rect rect = b.windowRect; - rect.y += b.windowRect.height * .5f; - rect.width = 1; - rect.height = 1; - - BaseNode e = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.enterNode); - if (e == null) - { - BehaviorEditor.settings.currentGraph.DeleteNode(b.id); - } - else - { - Color targetColor = Color.green; - if (!b.isAssigned || b.isDuplicate) - targetColor = Color.red; - - Rect r = e.windowRect; - BehaviorEditor.DrawNodeCurve(r, rect, true, targetColor); - } - - if (b.isDuplicate) - return; - - if(b.targetNode > 0) - { - BaseNode t = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.targetNode); - if (t == null) - { - b.targetNode = -1; - } - else - { - - - rect = b.windowRect; - rect.x += rect.width; - Rect endRect = t.windowRect; - endRect.x -= endRect.width * .5f; - - Color targetColor = Color.green; - - if (t.drawNode is StateNode) - { - if (!t.isAssigned || t.isDuplicate) - targetColor = Color.red; - } - else - { - if (!t.isAssigned) - targetColor = Color.red; - else - targetColor = Color.yellow; - } - - BehaviorEditor.DrawNodeCurve(rect,endRect,false, targetColor); - } - - } - } - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using SA; + +namespace SA.BehaviorEditor +{ + [CreateAssetMenu(menuName ="Editor/Transition Node")] + public class TransitionNode : DrawNode + { + + public void Init(StateNode enterState, Transition transition) + { + // this.enterState = enterState; + } + + public override void DrawWindow(BaseNode b) + { + EditorGUILayout.LabelField(""); + BaseNode enterNode = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.enterNode); + if (enterNode == null) + { + return; + } + + if (enterNode.stateRef.currentState == null) + { + BehaviorEditor.settings.currentGraph.DeleteNode(b.id); + return; + } + + Transition transition = enterNode.stateRef.currentState.GetTransition(b.transRef.transitionId); + + if (transition == null) + return; + + + transition.condition = + (Condition)EditorGUILayout.ObjectField(transition.condition + , typeof(Condition), false); + + if(transition.condition == null) + { + EditorGUILayout.LabelField("No Condition!"); + b.isAssigned = false; + } + else + { + + b.isAssigned = true; + if (b.isDuplicate) + { + EditorGUILayout.LabelField("Duplicate Condition!"); + } + else + { + GUILayout.Label(transition.condition.description); + + BaseNode targetNode = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.targetNode); + if (targetNode != null) + { + if (!targetNode.isDuplicate) + transition.targetState = targetNode.stateRef.currentState; + else + transition.targetState = null; + } + else + { + transition.targetState = null; + } + } + } + + if (b.transRef.previousCondition != transition.condition) + { + b.transRef.previousCondition = transition.condition; + b.isDuplicate = BehaviorEditor.settings.currentGraph.IsTransitionDuplicate(b); + + if (!b.isDuplicate) + { + BehaviorEditor.forceSetDirty = true; + // BehaviorEditor.settings.currentGraph.SetNode(this); + } + } + + } + + public override void DrawCurve(BaseNode b) + { + Rect rect = b.windowRect; + rect.y += b.windowRect.height * .5f; + rect.width = 1; + rect.height = 1; + + BaseNode e = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.enterNode); + if (e == null) + { + BehaviorEditor.settings.currentGraph.DeleteNode(b.id); + } + else + { + Color targetColor = Color.green; + if (!b.isAssigned || b.isDuplicate) + targetColor = Color.red; + + Rect r = e.windowRect; + BehaviorEditor.DrawNodeCurve(r, rect, true, targetColor); + } + + if (b.isDuplicate) + return; + + if(b.targetNode > 0) + { + BaseNode t = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.targetNode); + if (t == null) + { + b.targetNode = -1; + } + else + { + + + rect = b.windowRect; + rect.x += rect.width; + Rect endRect = t.windowRect; + endRect.x -= endRect.width * .5f; + + Color targetColor = Color.green; + + if (t.drawNode is StateNode) + { + if (!t.isAssigned || t.isDuplicate) + targetColor = Color.red; + } + else + { + if (!t.isAssigned) + targetColor = Color.red; + else + targetColor = Color.yellow; + } + + BehaviorEditor.DrawNodeCurve(rect,endRect,false, targetColor); + } + + } + } + } +} diff --git a/Assets/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta similarity index 100% rename from Assets/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta diff --git a/Assets/Scripts/Editor/BehaviorGraph.cs b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs similarity index 96% rename from Assets/Scripts/Editor/BehaviorGraph.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs index 3a452fd..07dee69 100644 --- a/Assets/Scripts/Editor/BehaviorGraph.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs @@ -1,85 +1,85 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - - -namespace SA.BehaviorEditor -{ - [CreateAssetMenu] - public class BehaviorGraph : ScriptableObject - { - [SerializeField] - public List windows = new List(); - [SerializeField] - public int idCount; - List indexToDelete = new List(); - - #region Checkers - public BaseNode GetNodeWithIndex(int index) - { - for (int i = 0; i < windows.Count; i++) - { - if (windows[i].id == index) - return windows[i]; - } - - return null; - } - - public void DeleteWindowsThatNeedTo() - { - for (int i = 0; i < indexToDelete.Count; i++) - { - BaseNode b = GetNodeWithIndex(indexToDelete[i]); - if(b != null) - windows.Remove(b); - } - - indexToDelete.Clear(); - } - - public void DeleteNode(int index) - { - if(!indexToDelete.Contains(index)) - indexToDelete.Add(index); - } - - public bool IsStateDuplicate(BaseNode b) - { - for (int i = 0; i < windows.Count; i++) - { - if (windows[i].id == b.id) - continue; - - if (windows[i].stateRef.currentState == b.stateRef.currentState && - !windows[i].isDuplicate) - return true; - } - - return false; - } - - public bool IsTransitionDuplicate(BaseNode b) - { - BaseNode enter = GetNodeWithIndex(b.enterNode); - if (enter == null) - { - Debug.Log("false"); - return false; - } - for (int i = 0; i < enter.stateRef.currentState.transitions.Count; i++) - { - Transition t = enter.stateRef.currentState.transitions[i]; - if (t.condition == b.transRef.previousCondition && b.transRef.transitionId != t.id) - { - return true; - } - } - - return false; - } - - #endregion - - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + + +namespace SA.BehaviorEditor +{ + [CreateAssetMenu] + public class BehaviorGraph : ScriptableObject + { + [SerializeField] + public List windows = new List(); + [SerializeField] + public int idCount; + List indexToDelete = new List(); + + #region Checkers + public BaseNode GetNodeWithIndex(int index) + { + for (int i = 0; i < windows.Count; i++) + { + if (windows[i].id == index) + return windows[i]; + } + + return null; + } + + public void DeleteWindowsThatNeedTo() + { + for (int i = 0; i < indexToDelete.Count; i++) + { + BaseNode b = GetNodeWithIndex(indexToDelete[i]); + if(b != null) + windows.Remove(b); + } + + indexToDelete.Clear(); + } + + public void DeleteNode(int index) + { + if(!indexToDelete.Contains(index)) + indexToDelete.Add(index); + } + + public bool IsStateDuplicate(BaseNode b) + { + for (int i = 0; i < windows.Count; i++) + { + if (windows[i].id == b.id) + continue; + + if (windows[i].stateRef.currentState == b.stateRef.currentState && + !windows[i].isDuplicate) + return true; + } + + return false; + } + + public bool IsTransitionDuplicate(BaseNode b) + { + BaseNode enter = GetNodeWithIndex(b.enterNode); + if (enter == null) + { + Debug.Log("false"); + return false; + } + for (int i = 0; i < enter.stateRef.currentState.transitions.Count; i++) + { + Transition t = enter.stateRef.currentState.transitions[i]; + if (t.condition == b.transRef.previousCondition && b.transRef.transitionId != t.id) + { + return true; + } + } + + return false; + } + + #endregion + + } +} diff --git a/Assets/Scripts/Editor/BehaviorGraph.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs.meta similarity index 100% rename from Assets/Scripts/Editor/BehaviorGraph.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors.meta new file mode 100644 index 0000000..f61ed5f --- /dev/null +++ b/Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5ac11c581de337d4cb4c3b1e1fd1af68 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Editor/Custom Inspectors/StateGUI.cs b/Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs similarity index 100% rename from Assets/Scripts/Editor/Custom Inspectors/StateGUI.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs diff --git a/Assets/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta similarity index 100% rename from Assets/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta diff --git a/Assets/Scripts/StateManager.cs b/Assets/Plugins/Behavior-Editor/Scripts/StateManager.cs similarity index 94% rename from Assets/Scripts/StateManager.cs rename to Assets/Plugins/Behavior-Editor/Scripts/StateManager.cs index 09f6207..3ede33a 100644 --- a/Assets/Scripts/StateManager.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/StateManager.cs @@ -1,32 +1,32 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace SA -{ - public class StateManager : MonoBehaviour - { - public float health; - - public State currentState; - - - [HideInInspector] - public float delta; - [HideInInspector] - public Transform mTransform; - - private void Start() - { - mTransform = this.transform; - } - - private void Update() - { - if(currentState != null) - { - currentState.Tick(this); - } - } - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SA +{ + public class StateManager : MonoBehaviour + { + public float health; + + public State currentState; + + + [HideInInspector] + public float delta; + [HideInInspector] + public Transform mTransform; + + private void Start() + { + mTransform = this.transform; + } + + private void Update() + { + if(currentState != null) + { + currentState.Tick(this); + } + } + } +} diff --git a/Assets/Scripts/StateManager.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/StateManager.cs.meta similarity index 100% rename from Assets/Scripts/StateManager.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/StateManager.cs.meta diff --git a/Assets/Scripts/Transition.cs b/Assets/Plugins/Behavior-Editor/Scripts/Transition.cs similarity index 95% rename from Assets/Scripts/Transition.cs rename to Assets/Plugins/Behavior-Editor/Scripts/Transition.cs index 43bd373..3b54cb1 100644 --- a/Assets/Scripts/Transition.cs +++ b/Assets/Plugins/Behavior-Editor/Scripts/Transition.cs @@ -1,15 +1,15 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace SA -{ - [System.Serializable] - public class Transition - { - public int id; - public Condition condition; - public State targetState; - public bool disable; - } -} +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SA +{ + [System.Serializable] + public class Transition + { + public int id; + public Condition condition; + public State targetState; + public bool disable; + } +} diff --git a/Assets/Scripts/Transition.cs.meta b/Assets/Plugins/Behavior-Editor/Scripts/Transition.cs.meta similarity index 100% rename from Assets/Scripts/Transition.cs.meta rename to Assets/Plugins/Behavior-Editor/Scripts/Transition.cs.meta diff --git a/Packages/manifest.json b/Packages/manifest.json new file mode 100644 index 0000000..2258d36 --- /dev/null +++ b/Packages/manifest.json @@ -0,0 +1,35 @@ +{ + "dependencies": { + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} From b007e0bde47d7ed4689331a322f0959b6717194e Mon Sep 17 00:00:00 2001 From: Richard Bryan Irwin Date: Sat, 12 Oct 2024 15:15:47 -0600 Subject: [PATCH 2/9] Moved repo to code subfolder --- Assets/Plugins.meta | 8 ----- Assets/scene1.unity.meta | 9 ----- ...havior-Editor.meta => Behavior-Editor.meta | 0 .../Data.meta | 0 .../Data/Actions.meta | 0 .../Data/Actions/Check.asset | 0 .../Data/Actions/Check.asset.meta | 0 .../Data/Conditions.meta | 0 .../Data/Graphs.meta | 0 .../Data/Graphs/Graph.asset | 0 .../Data/Graphs/Graph.asset.meta | 0 .../Data/Resources.meta | 0 .../Data/Resources/ActiveSkin.guiskin | 0 .../Data/Resources/ActiveSkin.guiskin.meta | 0 .../Data/Resources/Editor.meta | 0 .../Data/Resources/Editor/CommentNode.asset | 0 .../Resources/Editor/CommentNode.asset.meta | 0 .../Data/Resources/Editor/PortalNode.asset | 0 .../Resources/Editor/PortalNode.asset.meta | 0 .../Data/Resources/Editor/StateNode.asset | 0 .../Resources/Editor/StateNode.asset.meta | 0 .../Resources/Editor/TransitionNode.asset | 0 .../Editor/TransitionNode.asset.meta | 0 .../Data/Resources/EditorSettings.asset | 0 .../Data/Resources/EditorSettings.asset.meta | 0 .../Data/Resources/EditorSkin.guiskin | 0 .../Data/Resources/EditorSkin.guiskin.meta | 0 .../Data/States.meta | 0 .../Data/States/Moving.asset | 0 .../Data/States/Moving.asset.meta | 0 .../Data/States/New State.asset | 0 .../Data/States/New State.asset.meta | 0 .../Data/States/Normal.asset | 0 .../Data/States/Normal.asset.meta | 0 .../Scripts.meta | 0 .../Scripts/ActionHook.cs | 0 .../Scripts/ActionHook.cs.meta | 0 .../Scripts/Behavior.meta | 0 .../Scripts/Behavior/Conditions.meta | 0 .../Scripts/Behavior/Conditions/Condition.cs | 0 .../Behavior/Conditions/Condition.cs.meta | 0 .../Scripts/Behavior/Mono Actions.meta | 0 .../Scripts/Behavior/Mono Actions/Action.cs | 0 .../Behavior/Mono Actions/Action.cs.meta | 0 .../Behavior/Mono Actions/InputAxis.cs | 0 .../Behavior/Mono Actions/InputAxis.cs.meta | 0 .../Behavior/Mono Actions/InputButton.cs | 0 .../Behavior/Mono Actions/InputButton.cs.meta | 0 .../Scripts/Behavior/State Actions.meta | 0 .../Behavior/State Actions/StateActions.cs | 0 .../State Actions/StateActions.cs.meta | 0 .../Scripts/Behavior/State.cs | 0 .../Scripts/Behavior/State.cs.meta | 0 .../Scripts/Editor.meta | 0 .../Scripts/Editor/BehaviorEditor.meta | 0 .../Editor/BehaviorEditor/BehaviorEditor.cs | 0 .../BehaviorEditor/BehaviorEditor.cs.meta | 0 .../Editor/BehaviorEditor/EditorSettings.cs | 0 .../BehaviorEditor/EditorSettings.cs.meta | 0 .../Scripts/Editor/BehaviorEditor/Nodes.meta | 0 .../Editor/BehaviorEditor/Nodes/BaseNode.cs | 0 .../BehaviorEditor/Nodes/BaseNode.cs.meta | 0 .../BehaviorEditor/Nodes/CommentNode.cs | 0 .../BehaviorEditor/Nodes/CommentNode.cs.meta | 0 .../Editor/BehaviorEditor/Nodes/DrawNode.cs | 0 .../BehaviorEditor/Nodes/DrawNode.cs.meta | 0 .../Editor/BehaviorEditor/Nodes/PortalNode.cs | 0 .../BehaviorEditor/Nodes/PortalNode.cs.meta | 0 .../Editor/BehaviorEditor/Nodes/StateNode.cs | 0 .../BehaviorEditor/Nodes/StateNode.cs.meta | 0 .../BehaviorEditor/Nodes/TransitionNode.cs | 0 .../Nodes/TransitionNode.cs.meta | 0 .../Scripts/Editor/BehaviorGraph.cs | 0 .../Scripts/Editor/BehaviorGraph.cs.meta | 0 .../Scripts/Editor/Custom Inspectors.meta | 0 .../Editor/Custom Inspectors/StateGUI.cs | 0 .../Editor/Custom Inspectors/StateGUI.cs.meta | 0 .../Scripts/StateManager.cs | 0 .../Scripts/StateManager.cs.meta | 0 .../Scripts/Transition.cs | 0 .../Scripts/Transition.cs.meta | 0 {Assets => Behavior-Editor}/scene1.unity | 0 Packages/manifest.json | 35 ------------------- README.md | 30 ---------------- 84 files changed, 82 deletions(-) delete mode 100644 Assets/Plugins.meta delete mode 100644 Assets/scene1.unity.meta rename Assets/Plugins/Behavior-Editor.meta => Behavior-Editor.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Actions.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Actions/Check.asset (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Actions/Check.asset.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Conditions.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Graphs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Graphs/Graph.asset (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Graphs/Graph.asset.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/ActiveSkin.guiskin (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/ActiveSkin.guiskin.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/Editor.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/Editor/CommentNode.asset (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/Editor/CommentNode.asset.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/Editor/PortalNode.asset (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/Editor/PortalNode.asset.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/Editor/StateNode.asset (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/Editor/StateNode.asset.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/Editor/TransitionNode.asset (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/Editor/TransitionNode.asset.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/EditorSettings.asset (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/EditorSettings.asset.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/EditorSkin.guiskin (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/Resources/EditorSkin.guiskin.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/States.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/States/Moving.asset (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/States/Moving.asset.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/States/New State.asset (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/States/New State.asset.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/States/Normal.asset (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Data/States/Normal.asset.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/ActionHook.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/ActionHook.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/Conditions.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/Conditions/Condition.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/Conditions/Condition.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/Mono Actions.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/Mono Actions/Action.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/Mono Actions/Action.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/Mono Actions/InputAxis.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/Mono Actions/InputAxis.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/Mono Actions/InputButton.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/Mono Actions/InputButton.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/State Actions.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/State Actions/StateActions.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/State Actions/StateActions.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/State.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Behavior/State.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/EditorSettings.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorGraph.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/BehaviorGraph.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/Custom Inspectors.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/Custom Inspectors/StateGUI.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/StateManager.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/StateManager.cs.meta (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Transition.cs (100%) rename {Assets/Plugins/Behavior-Editor => Behavior-Editor}/Scripts/Transition.cs.meta (100%) rename {Assets => Behavior-Editor}/scene1.unity (100%) delete mode 100644 Packages/manifest.json delete mode 100644 README.md diff --git a/Assets/Plugins.meta b/Assets/Plugins.meta deleted file mode 100644 index 7c39bff..0000000 --- a/Assets/Plugins.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fee896f225a58ab4ca0058e0bd852709 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/scene1.unity.meta b/Assets/scene1.unity.meta deleted file mode 100644 index d675bba..0000000 --- a/Assets/scene1.unity.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 80803aaa640862342beb47472cb7d18d -timeCreated: 1522484457 -licenseType: Free -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Behavior-Editor.meta b/Behavior-Editor.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor.meta rename to Behavior-Editor.meta diff --git a/Assets/Plugins/Behavior-Editor/Data.meta b/Behavior-Editor/Data.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data.meta rename to Behavior-Editor/Data.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Actions.meta b/Behavior-Editor/Data/Actions.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Actions.meta rename to Behavior-Editor/Data/Actions.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Actions/Check.asset b/Behavior-Editor/Data/Actions/Check.asset similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Actions/Check.asset rename to Behavior-Editor/Data/Actions/Check.asset diff --git a/Assets/Plugins/Behavior-Editor/Data/Actions/Check.asset.meta b/Behavior-Editor/Data/Actions/Check.asset.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Actions/Check.asset.meta rename to Behavior-Editor/Data/Actions/Check.asset.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Conditions.meta b/Behavior-Editor/Data/Conditions.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Conditions.meta rename to Behavior-Editor/Data/Conditions.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Graphs.meta b/Behavior-Editor/Data/Graphs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Graphs.meta rename to Behavior-Editor/Data/Graphs.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Graphs/Graph.asset b/Behavior-Editor/Data/Graphs/Graph.asset similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Graphs/Graph.asset rename to Behavior-Editor/Data/Graphs/Graph.asset diff --git a/Assets/Plugins/Behavior-Editor/Data/Graphs/Graph.asset.meta b/Behavior-Editor/Data/Graphs/Graph.asset.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Graphs/Graph.asset.meta rename to Behavior-Editor/Data/Graphs/Graph.asset.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources.meta b/Behavior-Editor/Data/Resources.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources.meta rename to Behavior-Editor/Data/Resources.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/ActiveSkin.guiskin b/Behavior-Editor/Data/Resources/ActiveSkin.guiskin similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/ActiveSkin.guiskin rename to Behavior-Editor/Data/Resources/ActiveSkin.guiskin diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/ActiveSkin.guiskin.meta b/Behavior-Editor/Data/Resources/ActiveSkin.guiskin.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/ActiveSkin.guiskin.meta rename to Behavior-Editor/Data/Resources/ActiveSkin.guiskin.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/Editor.meta b/Behavior-Editor/Data/Resources/Editor.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/Editor.meta rename to Behavior-Editor/Data/Resources/Editor.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/CommentNode.asset b/Behavior-Editor/Data/Resources/Editor/CommentNode.asset similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/Editor/CommentNode.asset rename to Behavior-Editor/Data/Resources/Editor/CommentNode.asset diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/CommentNode.asset.meta b/Behavior-Editor/Data/Resources/Editor/CommentNode.asset.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/Editor/CommentNode.asset.meta rename to Behavior-Editor/Data/Resources/Editor/CommentNode.asset.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/PortalNode.asset b/Behavior-Editor/Data/Resources/Editor/PortalNode.asset similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/Editor/PortalNode.asset rename to Behavior-Editor/Data/Resources/Editor/PortalNode.asset diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/PortalNode.asset.meta b/Behavior-Editor/Data/Resources/Editor/PortalNode.asset.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/Editor/PortalNode.asset.meta rename to Behavior-Editor/Data/Resources/Editor/PortalNode.asset.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/StateNode.asset b/Behavior-Editor/Data/Resources/Editor/StateNode.asset similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/Editor/StateNode.asset rename to Behavior-Editor/Data/Resources/Editor/StateNode.asset diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/StateNode.asset.meta b/Behavior-Editor/Data/Resources/Editor/StateNode.asset.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/Editor/StateNode.asset.meta rename to Behavior-Editor/Data/Resources/Editor/StateNode.asset.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset b/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset rename to Behavior-Editor/Data/Resources/Editor/TransitionNode.asset diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset.meta b/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset.meta rename to Behavior-Editor/Data/Resources/Editor/TransitionNode.asset.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/EditorSettings.asset b/Behavior-Editor/Data/Resources/EditorSettings.asset similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/EditorSettings.asset rename to Behavior-Editor/Data/Resources/EditorSettings.asset diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/EditorSettings.asset.meta b/Behavior-Editor/Data/Resources/EditorSettings.asset.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/EditorSettings.asset.meta rename to Behavior-Editor/Data/Resources/EditorSettings.asset.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/EditorSkin.guiskin b/Behavior-Editor/Data/Resources/EditorSkin.guiskin similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/EditorSkin.guiskin rename to Behavior-Editor/Data/Resources/EditorSkin.guiskin diff --git a/Assets/Plugins/Behavior-Editor/Data/Resources/EditorSkin.guiskin.meta b/Behavior-Editor/Data/Resources/EditorSkin.guiskin.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/Resources/EditorSkin.guiskin.meta rename to Behavior-Editor/Data/Resources/EditorSkin.guiskin.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/States.meta b/Behavior-Editor/Data/States.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/States.meta rename to Behavior-Editor/Data/States.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/States/Moving.asset b/Behavior-Editor/Data/States/Moving.asset similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/States/Moving.asset rename to Behavior-Editor/Data/States/Moving.asset diff --git a/Assets/Plugins/Behavior-Editor/Data/States/Moving.asset.meta b/Behavior-Editor/Data/States/Moving.asset.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/States/Moving.asset.meta rename to Behavior-Editor/Data/States/Moving.asset.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/States/New State.asset b/Behavior-Editor/Data/States/New State.asset similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/States/New State.asset rename to Behavior-Editor/Data/States/New State.asset diff --git a/Assets/Plugins/Behavior-Editor/Data/States/New State.asset.meta b/Behavior-Editor/Data/States/New State.asset.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/States/New State.asset.meta rename to Behavior-Editor/Data/States/New State.asset.meta diff --git a/Assets/Plugins/Behavior-Editor/Data/States/Normal.asset b/Behavior-Editor/Data/States/Normal.asset similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/States/Normal.asset rename to Behavior-Editor/Data/States/Normal.asset diff --git a/Assets/Plugins/Behavior-Editor/Data/States/Normal.asset.meta b/Behavior-Editor/Data/States/Normal.asset.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Data/States/Normal.asset.meta rename to Behavior-Editor/Data/States/Normal.asset.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts.meta b/Behavior-Editor/Scripts.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts.meta rename to Behavior-Editor/Scripts.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/ActionHook.cs b/Behavior-Editor/Scripts/ActionHook.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/ActionHook.cs rename to Behavior-Editor/Scripts/ActionHook.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/ActionHook.cs.meta b/Behavior-Editor/Scripts/ActionHook.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/ActionHook.cs.meta rename to Behavior-Editor/Scripts/ActionHook.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior.meta b/Behavior-Editor/Scripts/Behavior.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior.meta rename to Behavior-Editor/Scripts/Behavior.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions.meta b/Behavior-Editor/Scripts/Behavior/Conditions.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions.meta rename to Behavior-Editor/Scripts/Behavior/Conditions.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs b/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs rename to Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs.meta b/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs.meta rename to Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions.meta b/Behavior-Editor/Scripts/Behavior/Mono Actions.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions.meta rename to Behavior-Editor/Scripts/Behavior/Mono Actions.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs b/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs rename to Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs.meta b/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs.meta rename to Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs b/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs rename to Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs.meta b/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs.meta rename to Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs b/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs rename to Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs.meta b/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs.meta rename to Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions.meta b/Behavior-Editor/Scripts/Behavior/State Actions.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions.meta rename to Behavior-Editor/Scripts/Behavior/State Actions.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs b/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs rename to Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs.meta b/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs.meta rename to Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State.cs b/Behavior-Editor/Scripts/Behavior/State.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/State.cs rename to Behavior-Editor/Scripts/Behavior/State.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Behavior/State.cs.meta b/Behavior-Editor/Scripts/Behavior/State.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Behavior/State.cs.meta rename to Behavior-Editor/Scripts/Behavior/State.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor.meta b/Behavior-Editor/Scripts/Editor.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor.meta rename to Behavior-Editor/Scripts/Editor.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor.meta rename to Behavior-Editor/Scripts/Editor/BehaviorEditor.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes.meta rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta rename to Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs b/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs rename to Behavior-Editor/Scripts/Editor/BehaviorGraph.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs.meta rename to Behavior-Editor/Scripts/Editor/BehaviorGraph.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors.meta b/Behavior-Editor/Scripts/Editor/Custom Inspectors.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors.meta rename to Behavior-Editor/Scripts/Editor/Custom Inspectors.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs b/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs rename to Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta b/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta rename to Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/StateManager.cs b/Behavior-Editor/Scripts/StateManager.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/StateManager.cs rename to Behavior-Editor/Scripts/StateManager.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/StateManager.cs.meta b/Behavior-Editor/Scripts/StateManager.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/StateManager.cs.meta rename to Behavior-Editor/Scripts/StateManager.cs.meta diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Transition.cs b/Behavior-Editor/Scripts/Transition.cs similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Transition.cs rename to Behavior-Editor/Scripts/Transition.cs diff --git a/Assets/Plugins/Behavior-Editor/Scripts/Transition.cs.meta b/Behavior-Editor/Scripts/Transition.cs.meta similarity index 100% rename from Assets/Plugins/Behavior-Editor/Scripts/Transition.cs.meta rename to Behavior-Editor/Scripts/Transition.cs.meta diff --git a/Assets/scene1.unity b/Behavior-Editor/scene1.unity similarity index 100% rename from Assets/scene1.unity rename to Behavior-Editor/scene1.unity diff --git a/Packages/manifest.json b/Packages/manifest.json deleted file mode 100644 index 2258d36..0000000 --- a/Packages/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "dependencies": { - "com.unity.modules.ai": "1.0.0", - "com.unity.modules.androidjni": "1.0.0", - "com.unity.modules.animation": "1.0.0", - "com.unity.modules.assetbundle": "1.0.0", - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.cloth": "1.0.0", - "com.unity.modules.director": "1.0.0", - "com.unity.modules.imageconversion": "1.0.0", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.particlesystem": "1.0.0", - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.physics2d": "1.0.0", - "com.unity.modules.screencapture": "1.0.0", - "com.unity.modules.terrain": "1.0.0", - "com.unity.modules.terrainphysics": "1.0.0", - "com.unity.modules.tilemap": "1.0.0", - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.uielements": "1.0.0", - "com.unity.modules.umbra": "1.0.0", - "com.unity.modules.unityanalytics": "1.0.0", - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.unitywebrequestassetbundle": "1.0.0", - "com.unity.modules.unitywebrequestaudio": "1.0.0", - "com.unity.modules.unitywebrequesttexture": "1.0.0", - "com.unity.modules.unitywebrequestwww": "1.0.0", - "com.unity.modules.vehicles": "1.0.0", - "com.unity.modules.video": "1.0.0", - "com.unity.modules.vr": "1.0.0", - "com.unity.modules.wind": "1.0.0", - "com.unity.modules.xr": "1.0.0" - } -} diff --git a/README.md b/README.md deleted file mode 100644 index 10ecff1..0000000 --- a/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Behavior-Editor -A behavior node editor for the strategy pattern and more - -# How to use -The editor is designed to work with the strategy pattern inside Unity. -Watch this video if you are not familiar with the strategy pattern design : -https://www.youtube.com/watch?v=UjcG0B7JFbM - -For how to use the editor, this video will show you the basics : -https://www.youtube.com/watch?v=JOgnGG0OQ9w - -Go to my site to find this used in actual development enviroment : -https://sharpaccent.com/ - -You can learn how to make your own Editor here : -https://sharpaccent.com/?c=course&id=27 - -# Support -If you want more tutorials and tools, these projects are completely patreon funded. -Be one here : -https://www.patreon.com/csharpaccent? - - - -# License -CC-BY-4.0 If you use this in your project provide proper attribution to: - -Athos Kele www.sharpaccent.com - -Feel free to contact me if you can't work with this license From fb1c9f3d06eb8742e62631824707c371ca06186a Mon Sep 17 00:00:00 2001 From: Richard Bryan Irwin Date: Sat, 12 Oct 2024 22:04:26 -0600 Subject: [PATCH 3/9] Automagic for creating State SOs and Action Scripts and SOs --- Behavior-Editor/Scripts/BehaviorIO.cs | 158 ++++++++++++ .../Editor/BehaviorEditor/Nodes/BaseNode.cs | 33 +-- .../Editor/BehaviorEditor/Nodes/StateNode.cs | 226 +++++++++++------- 3 files changed, 311 insertions(+), 106 deletions(-) create mode 100644 Behavior-Editor/Scripts/BehaviorIO.cs diff --git a/Behavior-Editor/Scripts/BehaviorIO.cs b/Behavior-Editor/Scripts/BehaviorIO.cs new file mode 100644 index 0000000..5e83abd --- /dev/null +++ b/Behavior-Editor/Scripts/BehaviorIO.cs @@ -0,0 +1,158 @@ +using System; +using System.IO; +using System.Linq; +using UnityEditor; +using UnityEngine; + +namespace SA.BehaviorEditor +{ + public class BehaviorIO + { + + public static State CreateStateSO(string stateName, string folderName) + { + if (string.IsNullOrEmpty(stateName) || string.IsNullOrEmpty(folderName)) + { + Debug.LogError("State Name and Folder Name cannot be empty."); + return null; + } + + string folderPath = Path.Combine("Assets", folderName); + if (!Directory.Exists(folderPath)) + { + Directory.CreateDirectory(folderPath); + } + + string filePath = Path.Combine(folderPath, stateName + ".cs"); + if (File.Exists(filePath)) + { + Debug.LogError("File already exists."); + return null; + } + + string assetPath = Path.Combine(folderPath, stateName + ".asset"); + State newState = ScriptableObject.CreateInstance(); + newState.name = stateName; + + AssetDatabase.CreateAsset(newState, assetPath); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + + EditorUtility.FocusProjectWindow(); + Selection.activeObject = newState; + + Debug.Log("State ScriptableObject created at " + assetPath); + return newState; + } + + public static ScriptableObject CreateSOForAction(string typeName, string newActionSOName, string newFolderNamee) + { + if (string.IsNullOrEmpty(newActionSOName) || string.IsNullOrEmpty(newFolderNamee)) + { + Debug.LogError("State Name and Folder Name cannot be empty."); + return null; + } + + string folderPath = Path.Combine("Assets", newFolderNamee); + if (!Directory.Exists(folderPath)) + { + Directory.CreateDirectory(folderPath); + } + + string filePath = Path.Combine(folderPath, newActionSOName + ".cs"); + if (File.Exists(filePath)) + { + Debug.LogError("File already exists."); + return null; + } + + string assetPath = Path.Combine(folderPath, newActionSOName + ".asset"); + + // Use reflection to find the type + //Type type = Type.GetType(typeName); + Type type = GetTypeFromAllAssemblies(typeName); + if (type == null) + { + Debug.LogError("Type not found: " + typeName); + return null; + } + + // Check if the type is a ScriptableObject + if (!typeof(ScriptableObject).IsAssignableFrom(type)) + { + Debug.LogError(typeName + " is not a ScriptableObject type."); + return null; + } + + // Create an instance of the ScriptableObject + ScriptableObject newAction = ScriptableObject.CreateInstance(type); + newAction.name = newActionSOName; + + // Save the new instance as an asset + AssetDatabase.CreateAsset(newAction, assetPath); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + + // Focus on the newly created asset + EditorUtility.FocusProjectWindow(); + Selection.activeObject = newAction; + + Debug.Log("State ScriptableObject created at " + assetPath); + return newAction; + } + + private static Type GetTypeFromAllAssemblies(string typeName) + { + return AppDomain.CurrentDomain.GetAssemblies() + .SelectMany(assembly => assembly.GetTypes()) + .FirstOrDefault(type => type.Name == typeName); + } + public static bool CheckIfFileExists(string newActionName, string newActionFolderName) + { + string folderPath = Path.Combine("Assets", newActionFolderName); + if (!Directory.Exists(folderPath)) + { + return false; + } + + return true; + } + + public static bool CreateScriptForActionWithMenuPath(string newActionName, string newActionFolderName, string newActionMenuPath) + { + if (string.IsNullOrEmpty(newActionName) || string.IsNullOrEmpty(newActionFolderName)) + { + Debug.LogError("State Name and Folder Name cannot be empty."); + return false; + } + + string folderPath = Path.Combine("Assets", newActionFolderName); + if (!Directory.Exists(folderPath)) + { + Directory.CreateDirectory(folderPath); + } + + string filePath = Path.Combine(folderPath, newActionName + ".cs"); + if (File.Exists(filePath)) + { + Debug.LogError("File already exists."); + return false; + } + + using (StreamWriter writer = new StreamWriter(filePath)) + { + writer.WriteLine("using UnityEngine;"); + writer.WriteLine(""); + writer.WriteLine("[CreateAssetMenu(fileName = \"" + newActionName + $"\", menuName = \"{newActionMenuPath}/" + newActionName + "\", order = 1)]"); + writer.WriteLine("public class " + newActionName + " : ScriptableObject"); + writer.WriteLine("{"); + writer.WriteLine(" // Add your variables here"); + writer.WriteLine("}"); + } + + AssetDatabase.Refresh(); + Debug.Log("ScriptableObject script created at " + filePath); + return true; + } + } +} \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs index 939d1cc..14d8f33 100644 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs +++ b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs @@ -1,6 +1,4 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEditor; +using UnityEditor; using UnityEditorInternal; using UnityEngine; @@ -18,12 +16,12 @@ public class BaseNode public bool isDuplicate; public string comment; public bool isAssigned; - public bool showDescription; - public bool isOnCurrent; + public bool showDescription; + public bool isOnCurrent; public bool collapse; - public bool showActions = true; - public bool showEnterExit = false; + public bool showActions = true; + public bool showEnterExit = false; [HideInInspector] public bool previousCollapse; @@ -32,6 +30,9 @@ public class BaseNode [SerializeField] public TransitionNodeReferences transRef; + public bool createActions; + public bool showUpdateAndFixed; + public void DrawWindow() { if(drawNode != null) @@ -53,22 +54,22 @@ public void DrawCurve() [System.Serializable] public class StateNodeReferences { - // [HideInInspector] + // [HideInInspector] public State currentState; [HideInInspector] public State previousState; - public SerializedObject serializedState; - public ReorderableList onFixedList; - public ReorderableList onUpdateList; - public ReorderableList onEnterList; - public ReorderableList onExitList; - } + public SerializedObject serializedState; + public ReorderableList onFixedList; + public ReorderableList onUpdateList; + public ReorderableList onEnterList; + public ReorderableList onExitList; + } - [System.Serializable] + [System.Serializable] public class TransitionNodeReferences { [HideInInspector] public Condition previousCondition; public int transitionId; } -} +} \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs index c680b03..f94b087 100644 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs +++ b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs @@ -1,28 +1,41 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; using UnityEditor; using UnityEditorInternal; -using SA; -using System; -using System.IO; namespace SA.BehaviorEditor { [CreateAssetMenu(menuName = "Editor/Nodes/State Node")] public class StateNode : DrawNode { + private string newStateName = ""; + private string newFolderName = ""; + private float _addStateModeHeight = 200; + private string newActionName; + private string newActionFolderName; + private string newActionMenuPath; + private string newSOName; + public override void DrawWindow(BaseNode b) { - if(b.stateRef.currentState == null) + if (b.stateRef.currentState == null) { - EditorGUILayout.LabelField("Add state to modify:"); + EditorGUILayout.LabelField("State Name"); + newStateName = EditorGUILayout.TextField("", newStateName); + EditorGUILayout.LabelField("New folder name :"); + newFolderName = EditorGUILayout.TextField("", newFolderName); + + if (GUILayout.Button("Create State S.O.")) + { + b.stateRef.currentState = BehaviorIO.CreateStateSO(newStateName, newFolderName); + } + + EditorGUILayout.LabelField("Or, add state to modify:"); + b.windowRect.height = _addStateModeHeight; } else { - if(!b.collapse) + if (!b.collapse) { - } else { @@ -34,119 +47,153 @@ public override void DrawWindow(BaseNode b) b.stateRef.currentState = (State)EditorGUILayout.ObjectField(b.stateRef.currentState, typeof(State), false); - if(b.previousCollapse != b.collapse) + if (b.previousCollapse != b.collapse) { b.previousCollapse = b.collapse; } - if(b.stateRef.previousState != b.stateRef.currentState) + if (b.stateRef.previousState != b.stateRef.currentState) { //b.serializedState = null; b.isDuplicate = BehaviorEditor.settings.currentGraph.IsStateDuplicate(b); - b.stateRef.previousState = b.stateRef.currentState; + b.stateRef.previousState = b.stateRef.currentState; - if (!b.isDuplicate) - { - Vector3 pos = new Vector3(b.windowRect.x,b.windowRect.y,0); - pos.x += b.windowRect.width * 2; + if (!b.isDuplicate) + { + Vector3 pos = new Vector3(b.windowRect.x, b.windowRect.y, 0); + pos.x += b.windowRect.width * 2; - SetupReordableLists(b); + SetupReordableLists(b); - //Load transtions - for (int i = 0; i < b.stateRef.currentState.transitions.Count; i++) - { - pos.y += i * 100; - BehaviorEditor.AddTransitionNodeFromTransition(b.stateRef.currentState.transitions[i], b, pos); - } + //Load transtions + for (int i = 0; i < b.stateRef.currentState.transitions.Count; i++) + { + pos.y += i * 100; + BehaviorEditor.AddTransitionNodeFromTransition(b.stateRef.currentState.transitions[i], b, pos); + } - BehaviorEditor.forceSetDirty = true; - } - - } + BehaviorEditor.forceSetDirty = true; + } + } - if (b.isDuplicate) + if (b.isDuplicate) { EditorGUILayout.LabelField("State is a duplicate!"); - b.windowRect.height = 100; - return; + b.windowRect.height = _addStateModeHeight; + return; } if (b.stateRef.currentState != null) { b.isAssigned = true; - + if (!b.collapse) { - if (b.stateRef.serializedState == null) - { - SetupReordableLists(b); - - // SerializedObject serializedState = new SerializedObject(b.stateRef.currentState); - } - - float standard = 150; - b.stateRef.serializedState.Update(); - b.showActions = EditorGUILayout.Toggle("Show Actions ", b.showActions); - if (b.showActions) - { - EditorGUILayout.LabelField(""); - b.stateRef.onFixedList.DoLayoutList(); - EditorGUILayout.LabelField(""); - b.stateRef.onUpdateList.DoLayoutList(); - standard += 100 + 40 + (b.stateRef.onUpdateList.count + b.stateRef.onFixedList.count) * 20; - } - b.showEnterExit = EditorGUILayout.Toggle("Show Enter/Exit ", b.showEnterExit); - if (b.showEnterExit) - { - EditorGUILayout.LabelField(""); - b.stateRef.onEnterList.DoLayoutList(); - EditorGUILayout.LabelField(""); - b.stateRef.onExitList.DoLayoutList(); - standard += 100 + 40 + (b.stateRef.onEnterList.count + b.stateRef.onExitList.count) * 20; - } - - b.stateRef.serializedState.ApplyModifiedProperties(); - b.windowRect.height = standard; - } + if (b.stateRef.serializedState == null) + { + SetupReordableLists(b); + + // SerializedObject serializedState = new SerializedObject(b.stateRef.currentState); + } + + float standard = 150; + b.stateRef.serializedState.Update(); + + + b.showActions = EditorGUILayout.Toggle("Show Actions ", b.showActions); + if (b.showActions) + { + b.createActions = EditorGUILayout.Toggle("Create Actions ", b.createActions); + if (b.createActions) + { + EditorGUILayout.LabelField("Select Actions :"); + EditorGUILayout.LabelField("New Action Name :"); + newActionName = EditorGUILayout.TextField("", newActionName); + EditorGUILayout.LabelField("New folder path (USE '\\') :"); + newActionFolderName = EditorGUILayout.TextField("", newActionFolderName); + EditorGUILayout.LabelField("SO Name : "); + newSOName = EditorGUILayout.TextField("", newSOName); + EditorGUILayout.LabelField("New Menu Path (USE '/'):"); + newActionMenuPath = EditorGUILayout.TextField("", newActionMenuPath); + + if (GUILayout.Button("Create Script and State S.O.")) + { + EditorGUILayout.LabelField($"{newActionName} @ {newActionFolderName} already exists."); + BehaviorIO.CreateScriptForActionWithMenuPath(newActionName, newActionFolderName, + newActionMenuPath); + } + + if (GUILayout.Button("Create Action SO at Menu Path")) + { + BehaviorIO.CreateSOForAction(newActionName, newSOName, newActionMenuPath); + } + } + + b.showUpdateAndFixed = EditorGUILayout.Toggle("Show Update / FixedUpdate ", b.showUpdateAndFixed); + if (b.showUpdateAndFixed) + { + EditorGUILayout.LabelField(""); + b.stateRef.onFixedList.DoLayoutList(); + EditorGUILayout.LabelField(""); + b.stateRef.onUpdateList.DoLayoutList(); + } + + standard += 100 + 40 + (b.stateRef.onUpdateList.count + b.stateRef.onFixedList.count) * 20; + } + + b.showEnterExit = EditorGUILayout.Toggle("Show Enter/Exit ", b.showEnterExit); + if (b.showEnterExit) + { + EditorGUILayout.LabelField(""); + b.stateRef.onEnterList.DoLayoutList(); + EditorGUILayout.LabelField(""); + b.stateRef.onExitList.DoLayoutList(); + standard += 100 + 40 + (b.stateRef.onEnterList.count + b.stateRef.onExitList.count) * 20; + } + + b.stateRef.serializedState.ApplyModifiedProperties(); + b.windowRect.height = standard + 500; + } } else { b.isAssigned = false; } - } - - void SetupReordableLists(BaseNode b) - { + } - b.stateRef.serializedState = new SerializedObject(b.stateRef.currentState); - b.stateRef.onFixedList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onFixed"), true, true, true, true); - b.stateRef.onUpdateList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onUpdate"), true, true, true, true); - b.stateRef.onEnterList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onEnter"), true, true, true, true); - b.stateRef.onExitList = new ReorderableList(b.stateRef.serializedState, b.stateRef.serializedState.FindProperty("onExit"), true, true, true, true); - HandleReordableList(b.stateRef.onFixedList, "On Fixed"); - HandleReordableList(b.stateRef.onUpdateList, "On Update"); - HandleReordableList(b.stateRef.onEnterList, "On Enter"); - HandleReordableList(b.stateRef.onExitList, "On Exit"); - } + void SetupReordableLists(BaseNode b) + { + b.stateRef.serializedState = new SerializedObject(b.stateRef.currentState); + b.stateRef.onFixedList = new ReorderableList(b.stateRef.serializedState, + b.stateRef.serializedState.FindProperty("onFixed"), true, true, true, true); + b.stateRef.onUpdateList = new ReorderableList(b.stateRef.serializedState, + b.stateRef.serializedState.FindProperty("onUpdate"), true, true, true, true); + b.stateRef.onEnterList = new ReorderableList(b.stateRef.serializedState, + b.stateRef.serializedState.FindProperty("onEnter"), true, true, true, true); + b.stateRef.onExitList = new ReorderableList(b.stateRef.serializedState, + b.stateRef.serializedState.FindProperty("onExit"), true, true, true, true); + + HandleReordableList(b.stateRef.onFixedList, "On Fixed"); + HandleReordableList(b.stateRef.onUpdateList, "On Update"); + HandleReordableList(b.stateRef.onEnterList, "On Enter"); + HandleReordableList(b.stateRef.onExitList, "On Exit"); + } void HandleReordableList(ReorderableList list, string targetName) { - list.drawHeaderCallback = (Rect rect) => + list.drawHeaderCallback = (Rect rect) => { EditorGUI.LabelField(rect, targetName); }; + + list.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => { - EditorGUI.LabelField(rect, targetName); + var element = list.serializedProperty.GetArrayElementAtIndex(index); + EditorGUI.ObjectField(new Rect(rect.x, rect.y, rect.width, EditorGUIUtility.singleLineHeight), element, + GUIContent.none); }; - - list.drawElementCallback = (Rect rect, int index,bool isActive, bool isFocused) => - { - var element = list.serializedProperty.GetArrayElementAtIndex(index); - EditorGUI.ObjectField(new Rect(rect.x, rect.y, rect.width, EditorGUIUtility.singleLineHeight), element, GUIContent.none); - }; } public override void DrawCurve(BaseNode b) { - } public Transition AddTransition(BaseNode b) @@ -156,9 +203,8 @@ public Transition AddTransition(BaseNode b) public void ClearReferences() { - // BehaviorEditor.ClearWindowsFromList(dependencies); - // dependencies.Clear(); + // BehaviorEditor.ClearWindowsFromList(dependencies); + // dependencies.Clear(); } - } -} +} \ No newline at end of file From fea0a681a3bd851f2ef8a1deb7b8af7192c5ba9d Mon Sep 17 00:00:00 2001 From: Richard Bryan Irwin Date: Fri, 24 Jan 2025 12:00:37 -0700 Subject: [PATCH 4/9] last from laptop --- .../Data/Conditions/TestCondition.asset | 15 +++++ .../Data/Conditions/TestCondition.asset.meta | 8 +++ Behavior-Editor/Data/Graphs/Graph.asset | 65 +++++++++++++++++-- .../Data/Resources/EditorSettings.asset | 5 +- .../Behavior/Conditions/TestCondition.cs | 13 ++++ .../Behavior/Conditions/TestCondition.cs.meta | 11 ++++ Behavior-Editor/Scripts/BehaviorIO.cs.meta | 11 ++++ .../.idea.BehaviorEditor.dir/.idea/.gitignore | 13 ++++ .../.idea/encodings.xml | 4 ++ .../.idea/indexLayout.xml | 8 +++ .../.idea.BehaviorEditor.dir/.idea/vcs.xml | 6 ++ .../.idea/.idea.Nodes.dir/.idea/.gitignore | 13 ++++ .../.idea/.idea.Nodes.dir/.idea/encodings.xml | 4 ++ .../.idea.Nodes.dir/.idea/indexLayout.xml | 8 +++ .../Nodes/.idea/.idea.Nodes.dir/.idea/vcs.xml | 6 ++ .../Editor/BehaviorEditor/Nodes/BaseNode.cs | 2 +- Behavior-Editor/scene1.unity.meta | 7 ++ 17 files changed, 192 insertions(+), 7 deletions(-) create mode 100644 Behavior-Editor/Data/Conditions/TestCondition.asset create mode 100644 Behavior-Editor/Data/Conditions/TestCondition.asset.meta create mode 100644 Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs create mode 100644 Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs.meta create mode 100644 Behavior-Editor/Scripts/BehaviorIO.cs.meta create mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/.gitignore create mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/encodings.xml create mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/indexLayout.xml create mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/vcs.xml create mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/.gitignore create mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/encodings.xml create mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/indexLayout.xml create mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/vcs.xml create mode 100644 Behavior-Editor/scene1.unity.meta diff --git a/Behavior-Editor/Data/Conditions/TestCondition.asset b/Behavior-Editor/Data/Conditions/TestCondition.asset new file mode 100644 index 0000000..9b1279a --- /dev/null +++ b/Behavior-Editor/Data/Conditions/TestCondition.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c626afabcc5a3bd41b991d776ee93486, type: 3} + m_Name: TestCondition + m_EditorClassIdentifier: + description: diff --git a/Behavior-Editor/Data/Conditions/TestCondition.asset.meta b/Behavior-Editor/Data/Conditions/TestCondition.asset.meta new file mode 100644 index 0000000..78a5409 --- /dev/null +++ b/Behavior-Editor/Data/Conditions/TestCondition.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b46df90a2b7d8b24498044db4999c7bf +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Behavior-Editor/Data/Graphs/Graph.asset b/Behavior-Editor/Data/Graphs/Graph.asset index 462c97a..8a03d39 100644 --- a/Behavior-Editor/Data/Graphs/Graph.asset +++ b/Behavior-Editor/Data/Graphs/Graph.asset @@ -3,13 +3,70 @@ --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 711dbd0dcc0707448ad710a82f0aa6b6, type: 3} m_Name: Graph m_EditorClassIdentifier: - windows: [] - idCount: 0 + windows: + - id: 0 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 125 + y: 217 + width: 200 + height: 200 + windowTitle: State + enterNode: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 0 + showDescription: 0 + isOnCurrent: 0 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + currentState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + - id: 1 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 544 + y: 218 + width: 200 + height: 200 + windowTitle: State + enterNode: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 0 + showDescription: 0 + isOnCurrent: 0 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + currentState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + idCount: 2 diff --git a/Behavior-Editor/Data/Resources/EditorSettings.asset b/Behavior-Editor/Data/Resources/EditorSettings.asset index efcb93c..0e4dad0 100644 --- a/Behavior-Editor/Data/Resources/EditorSettings.asset +++ b/Behavior-Editor/Data/Resources/EditorSettings.asset @@ -3,8 +3,9 @@ --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 diff --git a/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs b/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs new file mode 100644 index 0000000..b7e39d8 --- /dev/null +++ b/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs @@ -0,0 +1,13 @@ + +using System.Collections; +using System.Collections.Generic; +using SA; +using UnityEngine; +[CreateAssetMenu(fileName = "TestCondition", menuName = "Behavior/Conditions/TestCondition")] +public class TestCondition : Condition +{ + public override bool CheckCondition(StateManager state) + { + throw new System.NotImplementedException(); + } +} diff --git a/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs.meta b/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs.meta new file mode 100644 index 0000000..9b52700 --- /dev/null +++ b/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c626afabcc5a3bd41b991d776ee93486 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Behavior-Editor/Scripts/BehaviorIO.cs.meta b/Behavior-Editor/Scripts/BehaviorIO.cs.meta new file mode 100644 index 0000000..f84a49c --- /dev/null +++ b/Behavior-Editor/Scripts/BehaviorIO.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0288cc513e64b294fb9386248771028f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/.gitignore b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/.gitignore new file mode 100644 index 0000000..12c2aa1 --- /dev/null +++ b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/contentModel.xml +/modules.xml +/projectSettingsUpdater.xml +/.idea.BehaviorEditor.iml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/encodings.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/indexLayout.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/vcs.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/vcs.xml new file mode 100644 index 0000000..4fce1d8 --- /dev/null +++ b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/.gitignore b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/.gitignore new file mode 100644 index 0000000..0cc09eb --- /dev/null +++ b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/contentModel.xml +/projectSettingsUpdater.xml +/.idea.Nodes.iml +/modules.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/encodings.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/indexLayout.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/vcs.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/vcs.xml new file mode 100644 index 0000000..bc59970 --- /dev/null +++ b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs index 14d8f33..2353ba5 100644 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs +++ b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs @@ -1,4 +1,4 @@ -using UnityEditor; + using UnityEditor; using UnityEditorInternal; using UnityEngine; diff --git a/Behavior-Editor/scene1.unity.meta b/Behavior-Editor/scene1.unity.meta new file mode 100644 index 0000000..20d6e63 --- /dev/null +++ b/Behavior-Editor/scene1.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e5dfbd879317d614a8cc1ec1b8dba1f2 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: From a7f56bd2b41151372d53df2fdab79bc13a72df19 Mon Sep 17 00:00:00 2001 From: "Github-Actions[bot]" Date: Mon, 3 Mar 2025 13:35:22 -0700 Subject: [PATCH 5/9] hello added --- Hello.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Hello.md diff --git a/Hello.md b/Hello.md new file mode 100644 index 0000000..a115602 --- /dev/null +++ b/Hello.md @@ -0,0 +1,33 @@ +# Behavior-Editor + +> _"Branched from SA's Behavior editor, intended to be an evolution of previous scriptable object state machines"_ + +--- + +## 🎉 **Changelog** + +**Version 1.0.0 - March 2025** +- Initial release of the project. +- Major features: + - Changelist feature implemented + - Submodule functionality integrated + +**Version 1.1.0 - April 2025** +- Bug fixes: + - Fixed issue with submodule tracking + - Resolved commit reference errors + +--- + +## 🐛 **Issues / Bugs** + +### [#1] xyz +**Description**: xyz. +**Status**: xyz +**Severity**: xyz +**Priority**: 🟠 + + +--- + +## 🛠 **How-To Guide** From 155241f3ee3499c3f32d6f20f9a942a80032bca0 Mon Sep 17 00:00:00 2001 From: Richard Bryan Irwin Date: Mon, 3 Mar 2025 13:36:42 -0700 Subject: [PATCH 6/9] Create README.md --- README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..9c595a6 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +temp From dfb185803106df39095366fb3f7627e3f0161e5c Mon Sep 17 00:00:00 2001 From: "Github-Actions[bot]" Date: Mon, 3 Mar 2025 13:37:57 -0700 Subject: [PATCH 7/9] swapped readme --- Hello.md | 33 --------------------------------- README.md | 34 +++++++++++++++++++++++++++++++++- README.md.meta | 7 +++++++ 3 files changed, 40 insertions(+), 34 deletions(-) delete mode 100644 Hello.md create mode 100644 README.md.meta diff --git a/Hello.md b/Hello.md deleted file mode 100644 index a115602..0000000 --- a/Hello.md +++ /dev/null @@ -1,33 +0,0 @@ -# Behavior-Editor - -> _"Branched from SA's Behavior editor, intended to be an evolution of previous scriptable object state machines"_ - ---- - -## 🎉 **Changelog** - -**Version 1.0.0 - March 2025** -- Initial release of the project. -- Major features: - - Changelist feature implemented - - Submodule functionality integrated - -**Version 1.1.0 - April 2025** -- Bug fixes: - - Fixed issue with submodule tracking - - Resolved commit reference errors - ---- - -## 🐛 **Issues / Bugs** - -### [#1] xyz -**Description**: xyz. -**Status**: xyz -**Severity**: xyz -**Priority**: 🟠 - - ---- - -## 🛠 **How-To Guide** diff --git a/README.md b/README.md index 9c595a6..a115602 100644 --- a/README.md +++ b/README.md @@ -1 +1,33 @@ -temp +# Behavior-Editor + +> _"Branched from SA's Behavior editor, intended to be an evolution of previous scriptable object state machines"_ + +--- + +## 🎉 **Changelog** + +**Version 1.0.0 - March 2025** +- Initial release of the project. +- Major features: + - Changelist feature implemented + - Submodule functionality integrated + +**Version 1.1.0 - April 2025** +- Bug fixes: + - Fixed issue with submodule tracking + - Resolved commit reference errors + +--- + +## 🐛 **Issues / Bugs** + +### [#1] xyz +**Description**: xyz. +**Status**: xyz +**Severity**: xyz +**Priority**: 🟠 + + +--- + +## 🛠 **How-To Guide** diff --git a/README.md.meta b/README.md.meta new file mode 100644 index 0000000..8120d06 --- /dev/null +++ b/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 798a91cf2acd10b4ea4ecebba7eedfc3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: From 614d8a9809882a889a18745be83caff603b7b5ce Mon Sep 17 00:00:00 2001 From: "Github-Actions[bot]" Date: Mon, 3 Mar 2025 13:39:24 -0700 Subject: [PATCH 8/9] Updated from project --- ...cene1.unity => BehaviorExampleScene.unity} | 0 Behavior-Editor/Data.meta | 9 - Behavior-Editor/Data/Conditions.meta | 9 - Behavior-Editor/Data/Graphs/Graph.asset | 72 - .../Data/Resources/EditorSettings.asset | 22 - Behavior-Editor/Data/States.meta | 9 - Behavior-Editor/Data/States/Moving.asset | 23 - Behavior-Editor/Data/States/New State.asset | 18 - Behavior-Editor/Data/States/Normal.asset | 22 - Behavior-Editor/Data/States/Normal.asset.meta | 9 - .../{Data => SampleData}/Actions.meta | 0 .../{Data => SampleData}/Actions/Check.asset | 0 .../Actions/Check.asset.meta | 0 .../{Data => SampleData}/Graphs.meta | 0 .../SampleData/Graphs/CharGraph.asset | 1385 +++++++++++++++++ .../Graphs/CharGraph.asset.meta} | 2 +- Behavior-Editor/SampleData/Graphs/Graph.asset | 1163 ++++++++++++++ .../Graphs/Graph.asset.meta | 4 +- .../{Data => SampleData}/Resources.meta | 0 .../Resources/ActiveSkin.guiskin | 0 .../Resources/ActiveSkin.guiskin.meta | 0 .../SampleData/Resources/CharLoop.asset | 39 + .../Resources/CharLoop.asset.meta} | 4 +- .../Resources/Editor.meta | 0 .../Resources/Editor/CommentNode.asset | 0 .../Resources/Editor/CommentNode.asset.meta | 0 .../Editor/Multi Transition Node.asset} | 5 +- .../Editor/Multi Transition Node.asset.meta} | 5 +- .../Resources/Editor/PortalNode.asset | 0 .../Resources/Editor/PortalNode.asset.meta | 0 .../Resources/Editor/StateNode.asset | 0 .../Resources/Editor/StateNode.asset.meta | 0 .../Resources/Editor/TransitionNode.asset | 0 .../Editor/TransitionNode.asset.meta | 0 .../Resources/EditorSkin.guiskin | 0 .../Resources/EditorSkin.guiskin.meta | 0 .../Resources/InitAndGameloop.asset | 39 + .../Resources/InitAndGameloop.asset.meta} | 0 Behavior-Editor/Scripts.meta | 9 - Behavior-Editor/Scripts/ActionHook.cs | 6 +- .../Scripts/Behavior/Conditions/Condition.cs | 8 +- .../Behavior/Conditions/TestCondition.cs | 13 - .../Behavior/Conditions/TestCondition.cs.meta | 11 - .../Scripts/Behavior/Mono Actions/Action.cs | 6 +- .../Behavior/Mono Actions/InputAxis.cs | 2 +- .../Behavior/Mono Actions/InputButton.cs | 2 +- .../Behavior/State Actions/StateActions.cs | 6 +- Behavior-Editor/Scripts/Behavior/State.cs | 59 +- Behavior-Editor/Scripts/BehaviorIO.cs | 158 -- Behavior-Editor/Scripts/BehaviorIO.cs.meta | 11 - .../Scripts/Editor/BehaviorEditor.meta | 9 - .../.idea.BehaviorEditor.dir/.idea/.gitignore | 13 - .../.idea/encodings.xml | 4 - .../.idea/indexLayout.xml | 8 - .../.idea.BehaviorEditor.dir/.idea/vcs.xml | 6 - .../Editor/BehaviorEditor/BehaviorEditor.cs | 494 ------ .../BehaviorEditor/BehaviorEditor.cs.meta | 12 - .../Editor/BehaviorEditor/EditorSettings.cs | 36 - .../BehaviorEditor/EditorSettings.cs.meta | 13 - .../Scripts/Editor/BehaviorEditor/Nodes.meta | 9 - .../.idea/.idea.Nodes.dir/.idea/.gitignore | 13 - .../.idea/.idea.Nodes.dir/.idea/encodings.xml | 4 - .../.idea.Nodes.dir/.idea/indexLayout.xml | 8 - .../Nodes/.idea/.idea.Nodes.dir/.idea/vcs.xml | 6 - .../Editor/BehaviorEditor/Nodes/BaseNode.cs | 75 - .../BehaviorEditor/Nodes/BaseNode.cs.meta | 12 - .../BehaviorEditor/Nodes/CommentNode.cs | 21 - .../BehaviorEditor/Nodes/CommentNode.cs.meta | 12 - .../Editor/BehaviorEditor/Nodes/DrawNode.cs | 12 - .../BehaviorEditor/Nodes/DrawNode.cs.meta | 13 - .../Editor/BehaviorEditor/Nodes/PortalNode.cs | 30 - .../BehaviorEditor/Nodes/PortalNode.cs.meta | 13 - .../Editor/BehaviorEditor/Nodes/StateNode.cs | 210 --- .../BehaviorEditor/Nodes/StateNode.cs.meta | 12 - .../BehaviorEditor/Nodes/TransitionNode.cs | 151 -- .../Nodes/TransitionNode.cs.meta | 12 - .../Scripts/Editor/BehaviorGraph.cs | 85 - .../Scripts/Editor/BehaviorGraph.cs.meta | 13 - .../Editor/Custom Inspectors/StateGUI.cs | 118 -- .../Editor/Custom Inspectors/StateGUI.cs.meta | 13 - Behavior-Editor/Scripts/StateManager.cs | 86 +- Behavior-Editor/Scripts/Transition.cs | 13 +- Behavior-Editor/scene1.unity.meta | 7 - 83 files changed, 2767 insertions(+), 1906 deletions(-) rename Behavior-Editor/{scene1.unity => BehaviorExampleScene.unity} (100%) delete mode 100644 Behavior-Editor/Data.meta delete mode 100644 Behavior-Editor/Data/Conditions.meta delete mode 100644 Behavior-Editor/Data/Graphs/Graph.asset delete mode 100644 Behavior-Editor/Data/Resources/EditorSettings.asset delete mode 100644 Behavior-Editor/Data/States.meta delete mode 100644 Behavior-Editor/Data/States/Moving.asset delete mode 100644 Behavior-Editor/Data/States/New State.asset delete mode 100644 Behavior-Editor/Data/States/Normal.asset delete mode 100644 Behavior-Editor/Data/States/Normal.asset.meta rename Behavior-Editor/{Data => SampleData}/Actions.meta (100%) rename Behavior-Editor/{Data => SampleData}/Actions/Check.asset (100%) rename Behavior-Editor/{Data => SampleData}/Actions/Check.asset.meta (100%) rename Behavior-Editor/{Data => SampleData}/Graphs.meta (100%) create mode 100644 Behavior-Editor/SampleData/Graphs/CharGraph.asset rename Behavior-Editor/{Data/Conditions/TestCondition.asset.meta => SampleData/Graphs/CharGraph.asset.meta} (79%) create mode 100644 Behavior-Editor/SampleData/Graphs/Graph.asset rename Behavior-Editor/{Data => SampleData}/Graphs/Graph.asset.meta (69%) rename Behavior-Editor/{Data => SampleData}/Resources.meta (100%) rename Behavior-Editor/{Data => SampleData}/Resources/ActiveSkin.guiskin (100%) rename Behavior-Editor/{Data => SampleData}/Resources/ActiveSkin.guiskin.meta (100%) create mode 100644 Behavior-Editor/SampleData/Resources/CharLoop.asset rename Behavior-Editor/{Data/States/New State.asset.meta => SampleData/Resources/CharLoop.asset.meta} (64%) rename Behavior-Editor/{Data => SampleData}/Resources/Editor.meta (100%) rename Behavior-Editor/{Data => SampleData}/Resources/Editor/CommentNode.asset (100%) rename Behavior-Editor/{Data => SampleData}/Resources/Editor/CommentNode.asset.meta (100%) rename Behavior-Editor/{Data/Conditions/TestCondition.asset => SampleData/Resources/Editor/Multi Transition Node.asset} (71%) rename Behavior-Editor/{Data/States/Moving.asset.meta => SampleData/Resources/Editor/Multi Transition Node.asset.meta} (61%) rename Behavior-Editor/{Data => SampleData}/Resources/Editor/PortalNode.asset (100%) rename Behavior-Editor/{Data => SampleData}/Resources/Editor/PortalNode.asset.meta (100%) rename Behavior-Editor/{Data => SampleData}/Resources/Editor/StateNode.asset (100%) rename Behavior-Editor/{Data => SampleData}/Resources/Editor/StateNode.asset.meta (100%) rename Behavior-Editor/{Data => SampleData}/Resources/Editor/TransitionNode.asset (100%) rename Behavior-Editor/{Data => SampleData}/Resources/Editor/TransitionNode.asset.meta (100%) rename Behavior-Editor/{Data => SampleData}/Resources/EditorSkin.guiskin (100%) rename Behavior-Editor/{Data => SampleData}/Resources/EditorSkin.guiskin.meta (100%) create mode 100644 Behavior-Editor/SampleData/Resources/InitAndGameloop.asset rename Behavior-Editor/{Data/Resources/EditorSettings.asset.meta => SampleData/Resources/InitAndGameloop.asset.meta} (100%) delete mode 100644 Behavior-Editor/Scripts.meta delete mode 100644 Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs delete mode 100644 Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs.meta delete mode 100644 Behavior-Editor/Scripts/BehaviorIO.cs delete mode 100644 Behavior-Editor/Scripts/BehaviorIO.cs.meta delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor.meta delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/.gitignore delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/encodings.xml delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/indexLayout.xml delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/vcs.xml delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes.meta delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/.gitignore delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/encodings.xml delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/indexLayout.xml delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/vcs.xml delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorGraph.cs delete mode 100644 Behavior-Editor/Scripts/Editor/BehaviorGraph.cs.meta delete mode 100644 Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs delete mode 100644 Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta delete mode 100644 Behavior-Editor/scene1.unity.meta diff --git a/Behavior-Editor/scene1.unity b/Behavior-Editor/BehaviorExampleScene.unity similarity index 100% rename from Behavior-Editor/scene1.unity rename to Behavior-Editor/BehaviorExampleScene.unity diff --git a/Behavior-Editor/Data.meta b/Behavior-Editor/Data.meta deleted file mode 100644 index 85477e9..0000000 --- a/Behavior-Editor/Data.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: dbe3dfe9c0db72849929862cccc18b52 -folderAsset: yes -timeCreated: 1521642212 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Data/Conditions.meta b/Behavior-Editor/Data/Conditions.meta deleted file mode 100644 index 8e80f5f..0000000 --- a/Behavior-Editor/Data/Conditions.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: a358a7db988bdee42853caca69996735 -folderAsset: yes -timeCreated: 1521648598 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Data/Graphs/Graph.asset b/Behavior-Editor/Data/Graphs/Graph.asset deleted file mode 100644 index 8a03d39..0000000 --- a/Behavior-Editor/Data/Graphs/Graph.asset +++ /dev/null @@ -1,72 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 711dbd0dcc0707448ad710a82f0aa6b6, type: 3} - m_Name: Graph - m_EditorClassIdentifier: - windows: - - id: 0 - drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} - windowRect: - serializedVersion: 2 - x: 125 - y: 217 - width: 200 - height: 200 - windowTitle: State - enterNode: 0 - targetNode: 0 - isDuplicate: 0 - comment: - isAssigned: 0 - showDescription: 0 - isOnCurrent: 0 - collapse: 0 - showActions: 1 - showEnterExit: 0 - previousCollapse: 0 - stateRef: - currentState: {fileID: 0} - previousState: {fileID: 0} - transRef: - previousCondition: {fileID: 0} - transitionId: 0 - createActions: 0 - showUpdateAndFixed: 0 - - id: 1 - drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} - windowRect: - serializedVersion: 2 - x: 544 - y: 218 - width: 200 - height: 200 - windowTitle: State - enterNode: 0 - targetNode: 0 - isDuplicate: 0 - comment: - isAssigned: 0 - showDescription: 0 - isOnCurrent: 0 - collapse: 0 - showActions: 1 - showEnterExit: 0 - previousCollapse: 0 - stateRef: - currentState: {fileID: 0} - previousState: {fileID: 0} - transRef: - previousCondition: {fileID: 0} - transitionId: 0 - createActions: 0 - showUpdateAndFixed: 0 - idCount: 2 diff --git a/Behavior-Editor/Data/Resources/EditorSettings.asset b/Behavior-Editor/Data/Resources/EditorSettings.asset deleted file mode 100644 index 0e4dad0..0000000 --- a/Behavior-Editor/Data/Resources/EditorSettings.asset +++ /dev/null @@ -1,22 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59ca634d0f1ec1d4494c1ece88ff8cd9, type: 3} - m_Name: EditorSettings - m_EditorClassIdentifier: - currentGraph: {fileID: 11400000, guid: 2ce9d6039a9e6b947b688a9b8434fbbf, type: 2} - stateNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} - portalNode: {fileID: 11400000, guid: 765a518b20d9ed8449bf9d452b8f6306, type: 2} - transitionNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} - commentNode: {fileID: 11400000, guid: 620177d1bd0b0454784ce845c386ea89, type: 2} - makeTransition: 0 - skin: {fileID: 11400000, guid: b70ce5cc1a4ee204bb04e67f8d96e7b5, type: 2} - activeSkin: {fileID: 11400000, guid: 0aa2bdc068fc4d241a6953c78b6f8fd6, type: 2} diff --git a/Behavior-Editor/Data/States.meta b/Behavior-Editor/Data/States.meta deleted file mode 100644 index c8f23d9..0000000 --- a/Behavior-Editor/Data/States.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: d5435ea943fb3ae4f8011e056651f070 -folderAsset: yes -timeCreated: 1521642217 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Data/States/Moving.asset b/Behavior-Editor/Data/States/Moving.asset deleted file mode 100644 index e8553a3..0000000 --- a/Behavior-Editor/Data/States/Moving.asset +++ /dev/null @@ -1,23 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e09f12a9b8fb5e44eb81fa499afbecc4, type: 3} - m_Name: Moving - m_EditorClassIdentifier: - onState: - - {fileID: 11400000, guid: a8f3a985e1bfde748a600c1dab9bedf9, type: 2} - onEnter: [] - onExit: [] - idCount: 9 - transitions: - - id: 8 - condition: {fileID: 11400000, guid: 4abd115f053fbaf4aab8a3e13945d550, type: 2} - targetState: {fileID: 11400000, guid: fa444fdc218edb14b89d5662b84aa39d, type: 2} - disable: 0 diff --git a/Behavior-Editor/Data/States/New State.asset b/Behavior-Editor/Data/States/New State.asset deleted file mode 100644 index b3fd2b2..0000000 --- a/Behavior-Editor/Data/States/New State.asset +++ /dev/null @@ -1,18 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e09f12a9b8fb5e44eb81fa499afbecc4, type: 3} - m_Name: New State - m_EditorClassIdentifier: - onState: [] - onEnter: [] - onExit: [] - idCount: 2 - transitions: [] diff --git a/Behavior-Editor/Data/States/Normal.asset b/Behavior-Editor/Data/States/Normal.asset deleted file mode 100644 index eda4666..0000000 --- a/Behavior-Editor/Data/States/Normal.asset +++ /dev/null @@ -1,22 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e09f12a9b8fb5e44eb81fa499afbecc4, type: 3} - m_Name: Normal - m_EditorClassIdentifier: - onState: [] - onEnter: [] - onExit: [] - idCount: 1 - transitions: - - id: 0 - condition: {fileID: 11400000, guid: b4d4e95741ce8624486e7fb11f2bd7ab, type: 2} - targetState: {fileID: 11400000, guid: 3cb2311cf9b6fcc488a0a7b62dc1b7c3, type: 2} - disable: 0 diff --git a/Behavior-Editor/Data/States/Normal.asset.meta b/Behavior-Editor/Data/States/Normal.asset.meta deleted file mode 100644 index cc5c8ac..0000000 --- a/Behavior-Editor/Data/States/Normal.asset.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: f4da63c1154fd5f47bc53091e96fdae7 -timeCreated: 1521642222 -licenseType: Free -NativeFormatImporter: - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Data/Actions.meta b/Behavior-Editor/SampleData/Actions.meta similarity index 100% rename from Behavior-Editor/Data/Actions.meta rename to Behavior-Editor/SampleData/Actions.meta diff --git a/Behavior-Editor/Data/Actions/Check.asset b/Behavior-Editor/SampleData/Actions/Check.asset similarity index 100% rename from Behavior-Editor/Data/Actions/Check.asset rename to Behavior-Editor/SampleData/Actions/Check.asset diff --git a/Behavior-Editor/Data/Actions/Check.asset.meta b/Behavior-Editor/SampleData/Actions/Check.asset.meta similarity index 100% rename from Behavior-Editor/Data/Actions/Check.asset.meta rename to Behavior-Editor/SampleData/Actions/Check.asset.meta diff --git a/Behavior-Editor/Data/Graphs.meta b/Behavior-Editor/SampleData/Graphs.meta similarity index 100% rename from Behavior-Editor/Data/Graphs.meta rename to Behavior-Editor/SampleData/Graphs.meta diff --git a/Behavior-Editor/SampleData/Graphs/CharGraph.asset b/Behavior-Editor/SampleData/Graphs/CharGraph.asset new file mode 100644 index 0000000..daf2ab7 --- /dev/null +++ b/Behavior-Editor/SampleData/Graphs/CharGraph.asset @@ -0,0 +1,1385 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 711dbd0dcc0707448ad710a82f0aa6b6, type: 3} + m_Name: CharGraph + m_EditorClassIdentifier: + windows: + - id: 6 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: -1741.446 + y: -282.6631 + width: 199.99992 + height: 430 + windowTitle: CharInit + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 20b781a814c21c24193237db6604216a, type: 2} + previousState: {fileID: 11400000, guid: 20b781a814c21c24193237db6604216a, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: -1741.446 + y: -282.6631 + width: 199.99992 + height: 430 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 70 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: -1236.7219 + y: -143.91809 + width: 199.99992 + height: 310 + windowTitle: Separate + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 1936a3079e75aa24db004beada54b50d, type: 2} + previousState: {fileID: 11400000, guid: 1936a3079e75aa24db004beada54b50d, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: -1236.7219 + y: -143.91809 + width: 199.99992 + height: 310 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 71 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: -1494.8286 + y: -27.279053 + width: 199.99992 + height: 100 + windowTitle: HasInit + fromNodeId: 6 + targetNode: 70 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 8ed4e90a38217db458b2f0c4bcb33896, type: 2} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: -1494.8286 + y: -27.279053 + width: 199.99992 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 80 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: -69.89331 + y: 165.57294 + width: 199.99992 + height: 500 + windowTitle: WaypointTravelling + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 0678b6f42d1aa19499da36798d0b4ce4, type: 2} + previousState: {fileID: 11400000, guid: 0678b6f42d1aa19499da36798d0b4ce4, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: -69.89331 + y: 165.57294 + width: 199.99992 + height: 500 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 84 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 647.579 + y: -438.86255 + width: 199.99992 + height: 470 + windowTitle: PathIsBlocked + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 07f9cfad60f43014299f96d8f6753dac, type: 2} + previousState: {fileID: 11400000, guid: 07f9cfad60f43014299f96d8f6753dac, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 647.579 + y: -438.86255 + width: 199.99992 + height: 470 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 181 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: -950.228 + y: -229.42944 + width: 199.99992 + height: 100 + windowTitle: CharState_SimplyTravelling + fromNodeId: 70 + targetNode: 182 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 4088740721f7c6f429866182f999e0e7, type: 2} + transitionId: 22 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: -950.228 + y: -229.42944 + width: 199.99992 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 182 + drawNode: {fileID: 11400000, guid: 765a518b20d9ed8449bf9d452b8f6306, type: 2} + windowRect: + serializedVersion: 2 + x: -683.2273 + y: -210.4303 + width: 99.99996 + height: 80.00001 + windowTitle: WaypointTravelling + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 0678b6f42d1aa19499da36798d0b4ce4, type: 2} + previousState: {fileID: 11400000, guid: 0678b6f42d1aa19499da36798d0b4ce4, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: -683.2273 + y: -210.4303 + width: 99.99996 + height: 80.00001 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 185 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 995.04517 + y: 402.5741 + width: 199.99992 + height: 680 + windowTitle: IncrementWaypointIndex + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 6afc7f5e47e61fc47b604eefa72e1a87, type: 2} + previousState: {fileID: 11400000, guid: 6afc7f5e47e61fc47b604eefa72e1a87, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 1 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 995.04517 + y: 402.5741 + width: 199.99992 + height: 680 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 187 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 191.77417 + y: 500.5669 + width: 199.99992 + height: 100 + windowTitle: HasReachedPosition + fromNodeId: 80 + targetNode: 189 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 92e758036cc08664a8d6a3564a5d4bc4, type: 2} + transitionId: 3 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 191.77417 + y: 500.5669 + width: 199.99992 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 189 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 434.771 + y: 584.57007 + width: 199.99992 + height: 470 + windowTitle: ManageSpreadAmongstGroup + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 5a04f153bc4dda948a836ca33eb59f18, type: 2} + previousState: {fileID: 11400000, guid: 5a04f153bc4dda948a836ca33eb59f18, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 434.771 + y: 584.57007 + width: 199.99992 + height: 470 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 192 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 666.77014 + y: 674.5663 + width: 199.99992 + height: 100 + windowTitle: True + fromNodeId: 189 + targetNode: 185 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: c73928d54cab3b748b82754f01102601, type: 2} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 666.77014 + y: 674.5663 + width: 199.99992 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 196 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 1862.5752 + y: 473.651 + width: 199.99992 + height: 550 + windowTitle: Gather + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: fb54c62a4d1b56d4cbc997b260574c40, type: 2} + previousState: {fileID: 11400000, guid: fb54c62a4d1b56d4cbc997b260574c40, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 1862.5752 + y: 473.651 + width: 199.99992 + height: 550 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 198 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: -974.37524 + y: 23.507202 + width: 199.99992 + height: 100 + windowTitle: Gather + fromNodeId: 70 + targetNode: 199 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 5bd393f8983f0e64f9560b6e03fe7efd, type: 2} + transitionId: 24 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: -974.37524 + y: 23.507202 + width: 199.99992 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 199 + drawNode: {fileID: 11400000, guid: 765a518b20d9ed8449bf9d452b8f6306, type: 2} + windowRect: + serializedVersion: 2 + x: -710.37427 + y: 40.508728 + width: 99.99996 + height: 80.00001 + windowTitle: Gather + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: fb54c62a4d1b56d4cbc997b260574c40, type: 2} + previousState: {fileID: 11400000, guid: fb54c62a4d1b56d4cbc997b260574c40, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: -710.37427 + y: 40.508728 + width: 99.99996 + height: 80.00001 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 202 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 1292.8347 + y: 519.69885 + width: 199.99992 + height: 100 + windowTitle: CharState_SimplyTravelling + fromNodeId: 185 + targetNode: 80 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 4088740721f7c6f429866182f999e0e7, type: 2} + transitionId: 3 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 1292.8347 + y: 519.69885 + width: 199.99992 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 203 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 1293.7667 + y: 690.07825 + width: 199.99992 + height: 100 + windowTitle: Gather + fromNodeId: 185 + targetNode: 206 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 5bd393f8983f0e64f9560b6e03fe7efd, type: 2} + transitionId: 4 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 1293.7667 + y: 690.07825 + width: 199.99992 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 206 + drawNode: {fileID: 11400000, guid: 765a518b20d9ed8449bf9d452b8f6306, type: 2} + windowRect: + serializedVersion: 2 + x: 1583.7842 + y: 702.7261 + width: 99.99996 + height: 80.00001 + windowTitle: Gather + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: fb54c62a4d1b56d4cbc997b260574c40, type: 2} + previousState: {fileID: 11400000, guid: fb54c62a4d1b56d4cbc997b260574c40, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 1583.7842 + y: 702.7261 + width: 99.99996 + height: 80.00001 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 208 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 2110.1108 + y: 724.8994 + width: 199.99992 + height: 100 + windowTitle: CharState_SimplyTravelling + fromNodeId: 196 + targetNode: 209 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 4088740721f7c6f429866182f999e0e7, type: 2} + transitionId: 1 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 2110.1108 + y: 724.8994 + width: 199.99992 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 209 + drawNode: {fileID: 11400000, guid: 765a518b20d9ed8449bf9d452b8f6306, type: 2} + windowRect: + serializedVersion: 2 + x: 2344.1462 + y: 734.6073 + width: 99.99996 + height: 80.00001 + windowTitle: WaypointTravelling + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 0678b6f42d1aa19499da36798d0b4ce4, type: 2} + previousState: {fileID: 11400000, guid: 0678b6f42d1aa19499da36798d0b4ce4, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 2344.1462 + y: 734.6073 + width: 99.99996 + height: 80.00001 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 211 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 185.1482 + y: 248.38885 + width: 199.99992 + height: 100 + windowTitle: IsPathToTargetBlocked + fromNodeId: 80 + targetNode: 230 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 45ac06847d617bc4086937b43240b1f2, type: 2} + transitionId: 4 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 185.1482 + y: 248.38885 + width: 199.99992 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 215 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 972.9818 + y: -150.47522 + width: 199.99992 + height: 100 + windowTitle: IfThereIsPathfindingPath + fromNodeId: 84 + targetNode: 224 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 901a7af639089d7498e7c5bad832804d, type: 2} + transitionId: 3 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 972.9818 + y: -150.47522 + width: 199.99992 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 216 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 932.0852 + y: -416.7646 + width: 199.99992 + height: 100 + windowTitle: NoPathfindingPath + fromNodeId: 84 + targetNode: 218 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: e1ef826520513b04988385290a56d62b, type: 2} + transitionId: 4 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 932.0852 + y: -416.7646 + width: 199.99992 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 218 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 1268.5779 + y: -574.5789 + width: 199.99992 + height: 340 + windowTitle: CreatePath + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 1176f8d5830a2154b9f6e65b5f190a27, type: 2} + previousState: {fileID: 11400000, guid: 1176f8d5830a2154b9f6e65b5f190a27, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 1268.5779 + y: -574.5789 + width: 199.99992 + height: 340 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 220 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 1570.5737 + y: -570.9657 + width: 199.99995 + height: 100 + windowTitle: NoPathfindingPath + fromNodeId: 218 + targetNode: 221 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: e1ef826520513b04988385290a56d62b, type: 2} + transitionId: 1 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 1570.5737 + y: -570.9657 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 221 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 1844.5745 + y: -805.9656 + width: 199.99995 + height: 340 + windowTitle: IncrementWayfindIndex + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 26fa1120985178a489edf07e8e845546, type: 2} + previousState: {fileID: 11400000, guid: 26fa1120985178a489edf07e8e845546, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 1844.5745 + y: -805.9656 + width: 199.99995 + height: 340 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 222 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 2161.9458 + y: -642.9659 + width: 199.99995 + height: 100 + windowTitle: True + fromNodeId: 221 + targetNode: 218 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: c73928d54cab3b748b82754f01102601, type: 2} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 2161.9458 + y: -642.9659 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 223 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 1560.5737 + y: -353.9658 + width: 199.99995 + height: 100 + windowTitle: IfThereIsPathfindingPath + fromNodeId: 218 + targetNode: 224 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 901a7af639089d7498e7c5bad832804d, type: 2} + transitionId: 2 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 1560.5737 + y: -353.9658 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 224 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 1837.5759 + y: -358.9658 + width: 199.99995 + height: 330 + windowTitle: MoveAlongPath + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: ded89bc751361cc47b40398196ccc3ea, type: 2} + previousState: {fileID: 11400000, guid: ded89bc751361cc47b40398196ccc3ea, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 1837.5759 + y: -358.9658 + width: 199.99995 + height: 330 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 225 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 2367.5762 + y: -496.9655 + width: 199.99995 + height: 390 + windowTitle: ContinueAlongWay + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: e6fbbdc21e5d62242a0d2b21d0107caa, type: 2} + previousState: {fileID: 11400000, guid: e6fbbdc21e5d62242a0d2b21d0107caa, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 2367.5762 + y: -496.9655 + width: 199.99995 + height: 390 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 226 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 2084.5747 + y: -352.96576 + width: 199.99995 + height: 100 + windowTitle: AproachingEndOfPath + fromNodeId: 224 + targetNode: 225 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 0a5a91072cf6877418b3872f385bed44, type: 2} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 2084.5747 + y: -352.96576 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 227 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 2584.5728 + y: -311.96576 + width: 199.99995 + height: 100 + windowTitle: True + fromNodeId: 225 + targetNode: 229 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: c73928d54cab3b748b82754f01102601, type: 2} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 2584.5728 + y: -311.96576 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 229 + drawNode: {fileID: 11400000, guid: 765a518b20d9ed8449bf9d452b8f6306, type: 2} + windowRect: + serializedVersion: 2 + x: 2896.5723 + y: -307.96588 + width: 99.99998 + height: 80.00001 + windowTitle: WaypointTravelling + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 0678b6f42d1aa19499da36798d0b4ce4, type: 2} + previousState: {fileID: 11400000, guid: 0678b6f42d1aa19499da36798d0b4ce4, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 2896.5723 + y: -307.96588 + width: 99.99998 + height: 80.00001 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 230 + drawNode: {fileID: 11400000, guid: 765a518b20d9ed8449bf9d452b8f6306, type: 2} + windowRect: + serializedVersion: 2 + x: 393.7837 + y: 147.45245 + width: 99.99998 + height: 80.00001 + windowTitle: PathIsBlocked + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 07f9cfad60f43014299f96d8f6753dac, type: 2} + previousState: {fileID: 11400000, guid: 07f9cfad60f43014299f96d8f6753dac, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 393.7837 + y: 147.45245 + width: 99.99998 + height: 80.00001 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 232 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 2073 + y: 63 + width: 200.00002 + height: 100 + windowTitle: BlockedByEntity + fromNodeId: 224 + targetNode: 234 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 797cd36c88a972e4c8f790bef5eef744, type: 2} + transitionId: 2 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 2073 + y: 63 + width: 200.00002 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 233 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 2065 + y: 220 + width: 200.00002 + height: 100 + windowTitle: ReceivedSignalToStepAside + fromNodeId: 224 + targetNode: 235 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 03489986d34189a439b4b6195dd39f40, type: 2} + transitionId: 3 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 2065 + y: 220 + width: 200.00002 + height: 100 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 234 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 2379 + y: -85 + width: 200.00002 + height: 340 + windowTitle: RespondToBeingBlocked + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 8b418bea32f08584a80206bccc81c9b4, type: 2} + previousState: {fileID: 11400000, guid: 8b418bea32f08584a80206bccc81c9b4, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 2379 + y: -85 + width: 200.00002 + height: 340 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + - id: 235 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 2378 + y: 276 + width: 200.00002 + height: 340 + windowTitle: RespondToBlockingSignal + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 08329b1423cd2f04db1f27c89723d2ea, type: 2} + previousState: {fileID: 11400000, guid: 08329b1423cd2f04db1f27c89723d2ea, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f, type: 2} + scaledRect: + serializedVersion: 2 + x: 2378 + y: 276 + width: 200.00002 + height: 340 + graphZoom: 1 + graphPan: {x: 1005.2471, y: -456.03632} + isMultiNode: 0 + targetNodes: + idCount: 0 diff --git a/Behavior-Editor/Data/Conditions/TestCondition.asset.meta b/Behavior-Editor/SampleData/Graphs/CharGraph.asset.meta similarity index 79% rename from Behavior-Editor/Data/Conditions/TestCondition.asset.meta rename to Behavior-Editor/SampleData/Graphs/CharGraph.asset.meta index 78a5409..a0b0519 100644 --- a/Behavior-Editor/Data/Conditions/TestCondition.asset.meta +++ b/Behavior-Editor/SampleData/Graphs/CharGraph.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b46df90a2b7d8b24498044db4999c7bf +guid: 470609acc4199854db9629454e9a66fc NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Behavior-Editor/SampleData/Graphs/Graph.asset b/Behavior-Editor/SampleData/Graphs/Graph.asset new file mode 100644 index 0000000..ac13224 --- /dev/null +++ b/Behavior-Editor/SampleData/Graphs/Graph.asset @@ -0,0 +1,1163 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 711dbd0dcc0707448ad710a82f0aa6b6, type: 3} + m_Name: Graph + m_EditorClassIdentifier: + windows: + - id: 0 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: -3121.5789 + y: 163.51096 + width: 199.99995 + height: 530 + windowTitle: InitState + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: e340de5ce0fff84438a8ed3289bb844d, type: 2} + previousState: {fileID: 11400000, guid: e340de5ce0fff84438a8ed3289bb844d, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -3121.5789 + y: 163.51096 + width: 199.99995 + height: 530 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 1 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: -2878.5823 + y: 349.5088 + width: 199.99995 + height: 100 + windowTitle: IfFadeSceneHasLoaded + fromNodeId: 0 + targetNode: 2 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 5807405c6f29dff4bb7c66c4546fc027, type: 2} + transitionId: 4 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -2878.5823 + y: 349.5088 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 2 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: -2616.585 + y: 171.51102 + width: 199.99995 + height: 480 + windowTitle: LoadAPISceneState + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 339d33aa7cdef494fb2ef0129bea044b, type: 2} + previousState: {fileID: 11400000, guid: 339d33aa7cdef494fb2ef0129bea044b, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -2616.585 + y: 171.51102 + width: 199.99995 + height: 480 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 3 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: -2375.5657 + y: 347.50922 + width: 199.99995 + height: 100 + windowTitle: CurrentLocationManagerFound + fromNodeId: 2 + targetNode: 4 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: fb0fa4f8aca6a0848bc929a4fb91c5e1, type: 2} + transitionId: 6 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -2375.5657 + y: 347.50922 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 4 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: -2059.5708 + y: 300.50873 + width: 199.99995 + height: 150 + windowTitle: SubNearbyPlaces + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 2e64fc7e1b75f7a499b374c22a174053, type: 2} + previousState: {fileID: 11400000, guid: 2e64fc7e1b75f7a499b374c22a174053, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -2059.5708 + y: 300.50873 + width: 199.99995 + height: 150 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 5 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: -1809.5643 + y: 327.51 + width: 199.99995 + height: 100 + windowTitle: True + fromNodeId: 4 + targetNode: 6 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: c73928d54cab3b748b82754f01102601, type: 2} + transitionId: 7 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -1809.5643 + y: 327.51 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 6 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: -1563.568 + y: 309.51013 + width: 199.99995 + height: 150 + windowTitle: SetupGameLoop + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 8d2466cfe45cd3e46bd78a800d1922ac, type: 2} + previousState: {fileID: 11400000, guid: 8d2466cfe45cd3e46bd78a800d1922ac, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -1563.568 + y: 309.51013 + width: 199.99995 + height: 150 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 7 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: -1335.5732 + y: 327.51 + width: 199.99995 + height: 100 + windowTitle: PlayerStartPositionsFound + fromNodeId: 6 + targetNode: 8 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: b6c9d12885653f14cba4e447a23ef04f, type: 2} + transitionId: 11 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -1335.5732 + y: 327.51 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 8 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: -1076.5645 + y: 282.5097 + width: 199.99995 + height: 150 + windowTitle: Setup + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 4d4d706b8761c8844a0ceda4be2b4dcc, type: 2} + previousState: {fileID: 11400000, guid: 4d4d706b8761c8844a0ceda4be2b4dcc, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -1076.5645 + y: 282.5097 + width: 199.99995 + height: 150 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 9 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: -821.5627 + y: 300.50873 + width: 199.99995 + height: 100 + windowTitle: CharsHaveLoaded + fromNodeId: 8 + targetNode: 10 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 3db863855c270d343aeac13d3def84ed, type: 2} + transitionId: 5 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -821.5627 + y: 300.50873 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 10 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: -570.5649 + y: 273.5105 + width: 199.99995 + height: 930 + windowTitle: SetupTheRestOfCharacterReqsAndStart + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: cef2ab8e3201ff746941791ac4469382, type: 2} + previousState: {fileID: 11400000, guid: cef2ab8e3201ff746941791ac4469382, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 1 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -570.5649 + y: 273.5105 + width: 199.99995 + height: 930 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 13 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: -350.57498 + y: 539.50995 + width: 199.99995 + height: 100 + windowTitle: True + fromNodeId: 10 + targetNode: 14 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 10d8856114ab7754aa9cbc86a8f97778, type: 2} + transitionId: 4 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -350.57498 + y: 539.50995 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 14 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: -70.7039 + y: 349.5088 + width: 199.99995 + height: 580 + windowTitle: MapState + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: e1d1b8c8603647445b2ef477c2321d3e, type: 2} + previousState: {fileID: 11400000, guid: e1d1b8c8603647445b2ef477c2321d3e, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -70.7039 + y: 349.5088 + width: 199.99995 + height: 580 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 15 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 208.43292 + y: 51.510986 + width: 199.99995 + height: 100 + windowTitle: LocationConfirmedCondition + fromNodeId: 14 + targetNode: 67 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: ff3f086084d901444b7049898f32bb7a, type: 2} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 208.43292 + y: 51.510986 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 16 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 474.43475 + y: 164.5101 + width: 199.99995 + height: 480 + windowTitle: StartTransitionToPathWalk + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 3165168865338fa4bb238d8dc6af8aeb, type: 2} + previousState: {fileID: 11400000, guid: 3165168865338fa4bb238d8dc6af8aeb, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 1 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 474.43475 + y: 164.5101 + width: 199.99995 + height: 480 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 32 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 1212.633 + y: 261.64066 + width: 199.99995 + height: 540 + windowTitle: AtDestination + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: cf50fbc092708664f94896a180a30b7a, type: 2} + previousState: {fileID: 11400000, guid: cf50fbc092708664f94896a180a30b7a, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 1 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 1212.633 + y: 261.64066 + width: 199.99995 + height: 540 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 37 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 947.7892 + y: 137.64502 + width: 199.99995 + height: 150 + windowTitle: Travel + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 37f683623ade1b749bf7fa7cd17ebb1e, type: 2} + previousState: {fileID: 11400000, guid: 37f683623ade1b749bf7fa7cd17ebb1e, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 947.7892 + y: 137.64502 + width: 199.99995 + height: 150 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 39 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 1199.3207 + y: 108.28165 + width: 199.99995 + height: 100 + windowTitle: ArrivedAtLocation + fromNodeId: 37 + targetNode: 32 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 164dd3fb957e77d49b8198563fd956c3, type: 2} + transitionId: 1 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 1199.3207 + y: 108.28165 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 67 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 221.54263 + y: 167.79138 + width: 199.99995 + height: 540 + windowTitle: FadeOut + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: b626466a28f367e4c85a07bbbbf5ce1d, type: 2} + previousState: {fileID: 11400000, guid: b626466a28f367e4c85a07bbbbf5ce1d, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 1 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 221.54263 + y: 167.79138 + width: 199.99995 + height: 540 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 68 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 484.54395 + y: 37.790955 + width: 199.99995 + height: 100 + windowTitle: FaderFadedOut + fromNodeId: 67 + targetNode: 16 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 42b9054533a88d64a9c1a1d2f5e0e377, type: 2} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 484.54395 + y: 37.790955 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 73 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 1652.8876 + y: 262.8742 + width: 199.99995 + height: 100 + windowTitle: LocIsUninhabited + fromNodeId: 32 + targetNode: 83 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: bcfa769df8d3c9047bb793146f6a06a4, type: 2} + transitionId: 26 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 1652.8876 + y: 262.8742 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 75 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: -917.9516 + y: -165.45627 + width: 199.99995 + height: 390 + windowTitle: StartCleanupFromTravel + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: b316470f9ca833648b305a251e616ca4, type: 2} + previousState: {fileID: 11400000, guid: b316470f9ca833648b305a251e616ca4, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -917.9516 + y: -165.45627 + width: 199.99995 + height: 390 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 83 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 1929.5737 + y: 168.68005 + width: 199.99997 + height: 390 + windowTitle: DisplayPlaceServices + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: b312b6a5eccb525499e46f9eee1de7f0, type: 2} + previousState: {fileID: 11400000, guid: b312b6a5eccb525499e46f9eee1de7f0, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 1929.5737 + y: 168.68005 + width: 199.99997 + height: 390 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 85 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 1648.5762 + y: 375.67993 + width: 199.99997 + height: 100 + windowTitle: LocIsSafe + fromNodeId: 32 + targetNode: 83 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: ff100b4191960bc40885043e188d66d8, type: 2} + transitionId: 27 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 1648.5762 + y: 375.67993 + width: 199.99997 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 87 + drawNode: {fileID: 11400000, guid: 765a518b20d9ed8449bf9d452b8f6306, type: 2} + windowRect: + serializedVersion: 2 + x: 2467.5654 + y: 221.67969 + width: 99.999985 + height: 80.000015 + windowTitle: CleanupFromTravel + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: b316470f9ca833648b305a251e616ca4, type: 2} + previousState: {fileID: 11400000, guid: b316470f9ca833648b305a251e616ca4, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 2467.5654 + y: 221.67969 + width: 99.999985 + height: 80.000015 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 90 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 2183.577 + y: 264.67963 + width: 199.99997 + height: 100 + windowTitle: IsMapState + fromNodeId: 83 + targetNode: 87 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 6bf35477af613584986d83fb48081754, type: 2} + transitionId: 4 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 2183.577 + y: 264.67963 + width: 199.99997 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 91 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 1630.5719 + y: 519.67993 + width: 199.99997 + height: 100 + windowTitle: LocIsUnknown + fromNodeId: 32 + targetNode: 83 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: da8b6f4eb0cd8f741a500d9e72234b65, type: 2} + transitionId: 28 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 1630.5719 + y: 519.67993 + width: 199.99997 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 95 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: -614.31573 + y: -108.61096 + width: 199.99995 + height: 100 + windowTitle: ScreenHasFaded + fromNodeId: 75 + targetNode: 14 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 222970719a1e75944b15f968616f661d, type: 2} + transitionId: 3 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: -614.31573 + y: -108.61096 + width: 199.99995 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 96 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 713.1192 + y: 107.764984 + width: 200.00002 + height: 100 + windowTitle: IsMaskCreated + fromNodeId: 16 + targetNode: 97 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 6a163f3fe761efc42be71ec821dde4a7, type: 2} + transitionId: 6 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 713.1192 + y: 107.764984 + width: 200.00002 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 97 + drawNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + windowRect: + serializedVersion: 2 + x: 714.82355 + y: 231.5882 + width: 200.00002 + height: 990 + windowTitle: ContinueTransitionToPath + fromNodeId: 0 + targetNode: 0 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 1 + previousCollapse: 0 + stateRef: + inputState: {fileID: 11400000, guid: 25cdf2f09a2b27c4e8f3de5d6a62a2a8, type: 2} + previousState: {fileID: 11400000, guid: 25cdf2f09a2b27c4e8f3de5d6a62a2a8, type: 2} + transRef: + previousCondition: {fileID: 0} + transitionId: 0 + createActions: 1 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 714.82355 + y: 231.5882 + width: 200.00002 + height: 990 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + - id: 99 + drawNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + windowRect: + serializedVersion: 2 + x: 946.35266 + y: 20.999939 + width: 200.00002 + height: 100 + windowTitle: DidWeFindSmooth + fromNodeId: 97 + targetNode: 37 + isDuplicate: 0 + comment: + isAssigned: 1 + collapse: 0 + showActions: 1 + showEnterExit: 0 + previousCollapse: 0 + stateRef: + inputState: {fileID: 0} + previousState: {fileID: 0} + transRef: + previousCondition: {fileID: 11400000, guid: 16e5fe84512d2b5488dfb35314573afd, type: 2} + transitionId: 1 + createActions: 0 + showUpdateAndFixed: 0 + settings: {fileID: 11400000, guid: 90d462ef149a7a54e95a6b3738b88cff, type: 2} + scaledRect: + serializedVersion: 2 + x: 946.35266 + y: 20.999939 + width: 200.00002 + height: 100 + graphZoom: 1 + graphPan: {x: -1179.933, y: -723.6742} + isMultiNode: 0 + targetNodes: + idCount: 0 diff --git a/Behavior-Editor/Data/Graphs/Graph.asset.meta b/Behavior-Editor/SampleData/Graphs/Graph.asset.meta similarity index 69% rename from Behavior-Editor/Data/Graphs/Graph.asset.meta rename to Behavior-Editor/SampleData/Graphs/Graph.asset.meta index be86ab1..01d6fd1 100644 --- a/Behavior-Editor/Data/Graphs/Graph.asset.meta +++ b/Behavior-Editor/SampleData/Graphs/Graph.asset.meta @@ -1,10 +1,8 @@ fileFormatVersion: 2 guid: 2ce9d6039a9e6b947b688a9b8434fbbf -timeCreated: 1522484006 -licenseType: Free NativeFormatImporter: externalObjects: {} - mainObjectFileID: 11400000 + mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Behavior-Editor/Data/Resources.meta b/Behavior-Editor/SampleData/Resources.meta similarity index 100% rename from Behavior-Editor/Data/Resources.meta rename to Behavior-Editor/SampleData/Resources.meta diff --git a/Behavior-Editor/Data/Resources/ActiveSkin.guiskin b/Behavior-Editor/SampleData/Resources/ActiveSkin.guiskin similarity index 100% rename from Behavior-Editor/Data/Resources/ActiveSkin.guiskin rename to Behavior-Editor/SampleData/Resources/ActiveSkin.guiskin diff --git a/Behavior-Editor/Data/Resources/ActiveSkin.guiskin.meta b/Behavior-Editor/SampleData/Resources/ActiveSkin.guiskin.meta similarity index 100% rename from Behavior-Editor/Data/Resources/ActiveSkin.guiskin.meta rename to Behavior-Editor/SampleData/Resources/ActiveSkin.guiskin.meta diff --git a/Behavior-Editor/SampleData/Resources/CharLoop.asset b/Behavior-Editor/SampleData/Resources/CharLoop.asset new file mode 100644 index 0000000..9546f84 --- /dev/null +++ b/Behavior-Editor/SampleData/Resources/CharLoop.asset @@ -0,0 +1,39 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59ca634d0f1ec1d4494c1ece88ff8cd9, type: 3} + m_Name: CharLoop + m_EditorClassIdentifier: + currentGraph: {fileID: 11400000, guid: 470609acc4199854db9629454e9a66fc, type: 2} + stateNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + portalNode: {fileID: 11400000, guid: 765a518b20d9ed8449bf9d452b8f6306, type: 2} + transitionNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + commentNode: {fileID: 11400000, guid: 620177d1bd0b0454784ce845c386ea89, type: 2} + beginDrawingTransition: 0 + skin: {fileID: 11400000, guid: b70ce5cc1a4ee204bb04e67f8d96e7b5, type: 2} + activeSkin: {fileID: 11400000, guid: 0aa2bdc068fc4d241a6953c78b6f8fd6, type: 2} + scriptRoot: Scriptable/MyScripts + scriptActionRoot: Actions + scriptDecisionRoot: Decisions + scriptableObjectRoot: Scriptable/SO + actionRoot: Actions + decisionRoot: Conditions + scriptableStateRoot: States + windowWidth: 200 + windowHeight: 400 + curveThickness: 4 + labelFieldWidth: 100 + objectFieldWidth: 200 + RepaintGraph: 1 + GridExperiment: 0 + objectHeightMultiplier: 40 + defaultToggleWidth: 179.11 + generatedNumbers: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b0000007c0000007d0000007e0000007f000000800000008100000082000000830000008400000085000000860000008700000088000000890000008a0000008b0000008c0000008d0000008e0000008f000000900000009100000092000000930000009400000095000000960000009700000098000000990000009a0000009b0000009c0000009d0000009e0000009f000000a0000000a1000000a2000000a3000000a4000000a5000000a6000000a7000000a8000000a9000000aa000000ab000000ac000000ad000000ae000000af000000b0000000b1000000b2000000b3000000b4000000b5000000b6000000b7000000b8000000b9000000ba000000bb000000bc000000bd000000be000000bf000000c0000000c1000000c2000000c3000000c4000000c5000000c6000000c7000000c8000000c9000000ca000000cb000000cc000000cd000000ce000000cf000000d0000000d1000000d2000000d3000000d4000000d5000000d6000000d7000000d8000000d9000000da000000db000000dc000000dd000000de000000df000000e0000000e1000000e2000000e3000000e4000000e5000000e6000000e7000000e8000000e9000000ea000000eb000000ec000000ed000000 diff --git a/Behavior-Editor/Data/States/New State.asset.meta b/Behavior-Editor/SampleData/Resources/CharLoop.asset.meta similarity index 64% rename from Behavior-Editor/Data/States/New State.asset.meta rename to Behavior-Editor/SampleData/Resources/CharLoop.asset.meta index 6f61d59..4a8ee99 100644 --- a/Behavior-Editor/Data/States/New State.asset.meta +++ b/Behavior-Editor/SampleData/Resources/CharLoop.asset.meta @@ -1,7 +1,5 @@ fileFormatVersion: 2 -guid: fa444fdc218edb14b89d5662b84aa39d -timeCreated: 1521894440 -licenseType: Free +guid: 87b2dea8ce1c0ad4abbcd8d6a74fbc8f NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Behavior-Editor/Data/Resources/Editor.meta b/Behavior-Editor/SampleData/Resources/Editor.meta similarity index 100% rename from Behavior-Editor/Data/Resources/Editor.meta rename to Behavior-Editor/SampleData/Resources/Editor.meta diff --git a/Behavior-Editor/Data/Resources/Editor/CommentNode.asset b/Behavior-Editor/SampleData/Resources/Editor/CommentNode.asset similarity index 100% rename from Behavior-Editor/Data/Resources/Editor/CommentNode.asset rename to Behavior-Editor/SampleData/Resources/Editor/CommentNode.asset diff --git a/Behavior-Editor/Data/Resources/Editor/CommentNode.asset.meta b/Behavior-Editor/SampleData/Resources/Editor/CommentNode.asset.meta similarity index 100% rename from Behavior-Editor/Data/Resources/Editor/CommentNode.asset.meta rename to Behavior-Editor/SampleData/Resources/Editor/CommentNode.asset.meta diff --git a/Behavior-Editor/Data/Conditions/TestCondition.asset b/Behavior-Editor/SampleData/Resources/Editor/Multi Transition Node.asset similarity index 71% rename from Behavior-Editor/Data/Conditions/TestCondition.asset rename to Behavior-Editor/SampleData/Resources/Editor/Multi Transition Node.asset index 9b1279a..bc13f7e 100644 --- a/Behavior-Editor/Data/Conditions/TestCondition.asset +++ b/Behavior-Editor/SampleData/Resources/Editor/Multi Transition Node.asset @@ -9,7 +9,6 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c626afabcc5a3bd41b991d776ee93486, type: 3} - m_Name: TestCondition + m_Script: {fileID: 11500000, guid: 8cf8cf7f2dea40269e7d0c8c2b9d8819, type: 3} + m_Name: Multi Transition Node m_EditorClassIdentifier: - description: diff --git a/Behavior-Editor/Data/States/Moving.asset.meta b/Behavior-Editor/SampleData/Resources/Editor/Multi Transition Node.asset.meta similarity index 61% rename from Behavior-Editor/Data/States/Moving.asset.meta rename to Behavior-Editor/SampleData/Resources/Editor/Multi Transition Node.asset.meta index d6c56eb..c411209 100644 --- a/Behavior-Editor/Data/States/Moving.asset.meta +++ b/Behavior-Editor/SampleData/Resources/Editor/Multi Transition Node.asset.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 3cb2311cf9b6fcc488a0a7b62dc1b7c3 -timeCreated: 1521645085 -licenseType: Free +guid: a254bbb63db15274abdfacbd863f86ed NativeFormatImporter: + externalObjects: {} mainObjectFileID: 11400000 userData: assetBundleName: diff --git a/Behavior-Editor/Data/Resources/Editor/PortalNode.asset b/Behavior-Editor/SampleData/Resources/Editor/PortalNode.asset similarity index 100% rename from Behavior-Editor/Data/Resources/Editor/PortalNode.asset rename to Behavior-Editor/SampleData/Resources/Editor/PortalNode.asset diff --git a/Behavior-Editor/Data/Resources/Editor/PortalNode.asset.meta b/Behavior-Editor/SampleData/Resources/Editor/PortalNode.asset.meta similarity index 100% rename from Behavior-Editor/Data/Resources/Editor/PortalNode.asset.meta rename to Behavior-Editor/SampleData/Resources/Editor/PortalNode.asset.meta diff --git a/Behavior-Editor/Data/Resources/Editor/StateNode.asset b/Behavior-Editor/SampleData/Resources/Editor/StateNode.asset similarity index 100% rename from Behavior-Editor/Data/Resources/Editor/StateNode.asset rename to Behavior-Editor/SampleData/Resources/Editor/StateNode.asset diff --git a/Behavior-Editor/Data/Resources/Editor/StateNode.asset.meta b/Behavior-Editor/SampleData/Resources/Editor/StateNode.asset.meta similarity index 100% rename from Behavior-Editor/Data/Resources/Editor/StateNode.asset.meta rename to Behavior-Editor/SampleData/Resources/Editor/StateNode.asset.meta diff --git a/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset b/Behavior-Editor/SampleData/Resources/Editor/TransitionNode.asset similarity index 100% rename from Behavior-Editor/Data/Resources/Editor/TransitionNode.asset rename to Behavior-Editor/SampleData/Resources/Editor/TransitionNode.asset diff --git a/Behavior-Editor/Data/Resources/Editor/TransitionNode.asset.meta b/Behavior-Editor/SampleData/Resources/Editor/TransitionNode.asset.meta similarity index 100% rename from Behavior-Editor/Data/Resources/Editor/TransitionNode.asset.meta rename to Behavior-Editor/SampleData/Resources/Editor/TransitionNode.asset.meta diff --git a/Behavior-Editor/Data/Resources/EditorSkin.guiskin b/Behavior-Editor/SampleData/Resources/EditorSkin.guiskin similarity index 100% rename from Behavior-Editor/Data/Resources/EditorSkin.guiskin rename to Behavior-Editor/SampleData/Resources/EditorSkin.guiskin diff --git a/Behavior-Editor/Data/Resources/EditorSkin.guiskin.meta b/Behavior-Editor/SampleData/Resources/EditorSkin.guiskin.meta similarity index 100% rename from Behavior-Editor/Data/Resources/EditorSkin.guiskin.meta rename to Behavior-Editor/SampleData/Resources/EditorSkin.guiskin.meta diff --git a/Behavior-Editor/SampleData/Resources/InitAndGameloop.asset b/Behavior-Editor/SampleData/Resources/InitAndGameloop.asset new file mode 100644 index 0000000..7eee484 --- /dev/null +++ b/Behavior-Editor/SampleData/Resources/InitAndGameloop.asset @@ -0,0 +1,39 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59ca634d0f1ec1d4494c1ece88ff8cd9, type: 3} + m_Name: InitAndGameloop + m_EditorClassIdentifier: + currentGraph: {fileID: 11400000, guid: 2ce9d6039a9e6b947b688a9b8434fbbf, type: 2} + stateNode: {fileID: 11400000, guid: 3de6cb72c5d54a842957b3d8754294e2, type: 2} + portalNode: {fileID: 11400000, guid: 765a518b20d9ed8449bf9d452b8f6306, type: 2} + transitionNode: {fileID: 11400000, guid: 02d1192eec6276044a75147866515bb8, type: 2} + commentNode: {fileID: 11400000, guid: 620177d1bd0b0454784ce845c386ea89, type: 2} + beginDrawingTransition: 0 + skin: {fileID: 11400000, guid: b70ce5cc1a4ee204bb04e67f8d96e7b5, type: 2} + activeSkin: {fileID: 11400000, guid: 0aa2bdc068fc4d241a6953c78b6f8fd6, type: 2} + scriptRoot: Scriptable/MyScripts + scriptActionRoot: Actions + scriptDecisionRoot: Decisions + scriptableObjectRoot: Scriptable/SO + actionRoot: Actions + decisionRoot: Conditions + scriptableStateRoot: States + windowWidth: 200 + windowHeight: 400 + curveThickness: 4 + labelFieldWidth: 100 + objectFieldWidth: 200 + RepaintGraph: 1 + GridExperiment: 0 + objectHeightMultiplier: 40 + defaultToggleWidth: 179.11 + generatedNumbers: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f00000060000000610000006200000063000000 diff --git a/Behavior-Editor/Data/Resources/EditorSettings.asset.meta b/Behavior-Editor/SampleData/Resources/InitAndGameloop.asset.meta similarity index 100% rename from Behavior-Editor/Data/Resources/EditorSettings.asset.meta rename to Behavior-Editor/SampleData/Resources/InitAndGameloop.asset.meta diff --git a/Behavior-Editor/Scripts.meta b/Behavior-Editor/Scripts.meta deleted file mode 100644 index ac1a1f3..0000000 --- a/Behavior-Editor/Scripts.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: b0a719a9ef5ec0243908a68226ffedb0 -folderAsset: yes -timeCreated: 1521640723 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/ActionHook.cs b/Behavior-Editor/Scripts/ActionHook.cs index 6c089bd..8b0f5aa 100644 --- a/Behavior-Editor/Scripts/ActionHook.cs +++ b/Behavior-Editor/Scripts/ActionHook.cs @@ -1,8 +1,6 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; -namespace SA +namespace SFIBehavior { public class ActionHook : MonoBehaviour { diff --git a/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs b/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs index 7806896..30642ab 100644 --- a/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs +++ b/Behavior-Editor/Scripts/Behavior/Conditions/Condition.cs @@ -1,14 +1,16 @@ -using System.Collections; -using System.Collections.Generic; +using System; using UnityEngine; -namespace SA +namespace SFIBehavior { public abstract class Condition : ScriptableObject { public string description; public abstract bool CheckCondition(StateManager state); + // public abstract int CheckMultiCondition(StateManager state); + + //public abstract Type GetMultiConditionInfo(); } } diff --git a/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs b/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs deleted file mode 100644 index b7e39d8..0000000 --- a/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs +++ /dev/null @@ -1,13 +0,0 @@ - -using System.Collections; -using System.Collections.Generic; -using SA; -using UnityEngine; -[CreateAssetMenu(fileName = "TestCondition", menuName = "Behavior/Conditions/TestCondition")] -public class TestCondition : Condition -{ - public override bool CheckCondition(StateManager state) - { - throw new System.NotImplementedException(); - } -} diff --git a/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs.meta b/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs.meta deleted file mode 100644 index 9b52700..0000000 --- a/Behavior-Editor/Scripts/Behavior/Conditions/TestCondition.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c626afabcc5a3bd41b991d776ee93486 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs b/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs index 714cb6e..26e473c 100644 --- a/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs +++ b/Behavior-Editor/Scripts/Behavior/Mono Actions/Action.cs @@ -1,8 +1,6 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; -namespace SA +namespace SFIBehavior { public abstract class Action : ScriptableObject { diff --git a/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs b/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs index d6e95f3..1e0efdf 100644 --- a/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs +++ b/Behavior-Editor/Scripts/Behavior/Mono Actions/InputAxis.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using UnityEngine; -namespace SA +namespace SFIBehavior { [CreateAssetMenu(menuName = "Inputs/Axis")] public class InputAxis : Action diff --git a/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs b/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs index 6e9db0f..e22e3e0 100644 --- a/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs +++ b/Behavior-Editor/Scripts/Behavior/Mono Actions/InputButton.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using UnityEngine; -namespace SA +namespace SFIBehavior { [CreateAssetMenu(menuName = "Inputs/Button")] public class InputButton : Action diff --git a/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs b/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs index 743017b..0b2296f 100644 --- a/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs +++ b/Behavior-Editor/Scripts/Behavior/State Actions/StateActions.cs @@ -1,8 +1,6 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; -namespace SA +namespace SFIBehavior { public abstract class StateActions : ScriptableObject { diff --git a/Behavior-Editor/Scripts/Behavior/State.cs b/Behavior-Editor/Scripts/Behavior/State.cs index c80cc85..d3176c7 100644 --- a/Behavior-Editor/Scripts/Behavior/State.cs +++ b/Behavior-Editor/Scripts/Behavior/State.cs @@ -1,30 +1,28 @@ -using System.Collections; -using System.Collections.Generic; +using System.Collections.Generic; using UnityEngine; -namespace SA +namespace SFIBehavior { [CreateAssetMenu] public class State : ScriptableObject { - public StateActions[] onFixed; + public StateActions[] onFixed; public StateActions[] onUpdate; public StateActions[] onEnter; public StateActions[] onExit; public int idCount; - [SerializeField] - public List transitions = new List(); + [SerializeField] public List transitions = new List(); public void OnEnter(StateManager states) { ExecuteActions(states, onEnter); } - - public void FixedTick(StateManager states) - { - ExecuteActions(states,onFixed); - } + + public void FixedTick(StateManager states) + { + ExecuteActions(states, onFixed); + } public void Tick(StateManager states) { @@ -43,8 +41,24 @@ public void CheckTransitions(StateManager states) { if (transitions[i].disable) continue; - - if(transitions[i].condition.CheckCondition(states)) +//////////////////////////// + // if (transitions[i].isMultiTransition) + // { + // // Condition multi = transitions[i].condition; + // //MultiTransition multiTransition = transitions[i] as MultiTransition; + // var res =transitions[i].condition.CheckMultiCondition(states); + // if (res >= 0 && res < transitions[i].targetStates.Count) + // { + // states.currentState = transitions[i].targetStates[res]; + // OnExit(states); + // states.currentState.OnEnter(states); + // } else { + // Debug.LogWarning("condition options are out of range or not connected"); + // } + // } +////////////////////////// + //else + if (transitions[i].condition.CheckCondition(states)) { if (transitions[i].targetState != null) { @@ -52,11 +66,12 @@ public void CheckTransitions(StateManager states) OnExit(states); states.currentState.OnEnter(states); } + return; } } } - + public void ExecuteActions(StateManager states, StateActions[] l) { for (int i = 0; i < l.Length; i++) @@ -85,13 +100,13 @@ public Transition GetTransition(int id) return null; } + - public void RemoveTransition(int id) - { - Transition t = GetTransition(id); - if (t != null) - transitions.Remove(t); - } - + public void RemoveTransition(int id) + { + Transition t = GetTransition(id); + if (t != null) + transitions.Remove(t); + } } -} +} \ No newline at end of file diff --git a/Behavior-Editor/Scripts/BehaviorIO.cs b/Behavior-Editor/Scripts/BehaviorIO.cs deleted file mode 100644 index 5e83abd..0000000 --- a/Behavior-Editor/Scripts/BehaviorIO.cs +++ /dev/null @@ -1,158 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using UnityEditor; -using UnityEngine; - -namespace SA.BehaviorEditor -{ - public class BehaviorIO - { - - public static State CreateStateSO(string stateName, string folderName) - { - if (string.IsNullOrEmpty(stateName) || string.IsNullOrEmpty(folderName)) - { - Debug.LogError("State Name and Folder Name cannot be empty."); - return null; - } - - string folderPath = Path.Combine("Assets", folderName); - if (!Directory.Exists(folderPath)) - { - Directory.CreateDirectory(folderPath); - } - - string filePath = Path.Combine(folderPath, stateName + ".cs"); - if (File.Exists(filePath)) - { - Debug.LogError("File already exists."); - return null; - } - - string assetPath = Path.Combine(folderPath, stateName + ".asset"); - State newState = ScriptableObject.CreateInstance(); - newState.name = stateName; - - AssetDatabase.CreateAsset(newState, assetPath); - AssetDatabase.SaveAssets(); - AssetDatabase.Refresh(); - - EditorUtility.FocusProjectWindow(); - Selection.activeObject = newState; - - Debug.Log("State ScriptableObject created at " + assetPath); - return newState; - } - - public static ScriptableObject CreateSOForAction(string typeName, string newActionSOName, string newFolderNamee) - { - if (string.IsNullOrEmpty(newActionSOName) || string.IsNullOrEmpty(newFolderNamee)) - { - Debug.LogError("State Name and Folder Name cannot be empty."); - return null; - } - - string folderPath = Path.Combine("Assets", newFolderNamee); - if (!Directory.Exists(folderPath)) - { - Directory.CreateDirectory(folderPath); - } - - string filePath = Path.Combine(folderPath, newActionSOName + ".cs"); - if (File.Exists(filePath)) - { - Debug.LogError("File already exists."); - return null; - } - - string assetPath = Path.Combine(folderPath, newActionSOName + ".asset"); - - // Use reflection to find the type - //Type type = Type.GetType(typeName); - Type type = GetTypeFromAllAssemblies(typeName); - if (type == null) - { - Debug.LogError("Type not found: " + typeName); - return null; - } - - // Check if the type is a ScriptableObject - if (!typeof(ScriptableObject).IsAssignableFrom(type)) - { - Debug.LogError(typeName + " is not a ScriptableObject type."); - return null; - } - - // Create an instance of the ScriptableObject - ScriptableObject newAction = ScriptableObject.CreateInstance(type); - newAction.name = newActionSOName; - - // Save the new instance as an asset - AssetDatabase.CreateAsset(newAction, assetPath); - AssetDatabase.SaveAssets(); - AssetDatabase.Refresh(); - - // Focus on the newly created asset - EditorUtility.FocusProjectWindow(); - Selection.activeObject = newAction; - - Debug.Log("State ScriptableObject created at " + assetPath); - return newAction; - } - - private static Type GetTypeFromAllAssemblies(string typeName) - { - return AppDomain.CurrentDomain.GetAssemblies() - .SelectMany(assembly => assembly.GetTypes()) - .FirstOrDefault(type => type.Name == typeName); - } - public static bool CheckIfFileExists(string newActionName, string newActionFolderName) - { - string folderPath = Path.Combine("Assets", newActionFolderName); - if (!Directory.Exists(folderPath)) - { - return false; - } - - return true; - } - - public static bool CreateScriptForActionWithMenuPath(string newActionName, string newActionFolderName, string newActionMenuPath) - { - if (string.IsNullOrEmpty(newActionName) || string.IsNullOrEmpty(newActionFolderName)) - { - Debug.LogError("State Name and Folder Name cannot be empty."); - return false; - } - - string folderPath = Path.Combine("Assets", newActionFolderName); - if (!Directory.Exists(folderPath)) - { - Directory.CreateDirectory(folderPath); - } - - string filePath = Path.Combine(folderPath, newActionName + ".cs"); - if (File.Exists(filePath)) - { - Debug.LogError("File already exists."); - return false; - } - - using (StreamWriter writer = new StreamWriter(filePath)) - { - writer.WriteLine("using UnityEngine;"); - writer.WriteLine(""); - writer.WriteLine("[CreateAssetMenu(fileName = \"" + newActionName + $"\", menuName = \"{newActionMenuPath}/" + newActionName + "\", order = 1)]"); - writer.WriteLine("public class " + newActionName + " : ScriptableObject"); - writer.WriteLine("{"); - writer.WriteLine(" // Add your variables here"); - writer.WriteLine("}"); - } - - AssetDatabase.Refresh(); - Debug.Log("ScriptableObject script created at " + filePath); - return true; - } - } -} \ No newline at end of file diff --git a/Behavior-Editor/Scripts/BehaviorIO.cs.meta b/Behavior-Editor/Scripts/BehaviorIO.cs.meta deleted file mode 100644 index f84a49c..0000000 --- a/Behavior-Editor/Scripts/BehaviorIO.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0288cc513e64b294fb9386248771028f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor.meta deleted file mode 100644 index 428e5fd..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: a5403b96d519aca4697c7998f0498c0a -folderAsset: yes -timeCreated: 1521640818 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/.gitignore b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/.gitignore deleted file mode 100644 index 12c2aa1..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Rider ignored files -/contentModel.xml -/modules.xml -/projectSettingsUpdater.xml -/.idea.BehaviorEditor.iml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/encodings.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/encodings.xml deleted file mode 100644 index df87cf9..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/encodings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/indexLayout.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/indexLayout.xml deleted file mode 100644 index 7b08163..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/indexLayout.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/vcs.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/vcs.xml deleted file mode 100644 index 4fce1d8..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/.idea/.idea.BehaviorEditor.dir/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs deleted file mode 100644 index 2a9f31a..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs +++ /dev/null @@ -1,494 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; - -namespace SA.BehaviorEditor -{ - public class BehaviorEditor : EditorWindow - { - - #region Variables - Vector3 mousePosition; - bool clickedOnWindow; - BaseNode selectedNode; - - public static EditorSettings settings; - int transitFromId; - Rect mouseRect = new Rect(0, 0, 1, 1); - Rect all = new Rect(-5, -5, 10000, 10000); - GUIStyle style; - GUIStyle activeStyle; - Vector2 scrollPos; - Vector2 scrollStartPos; - static BehaviorEditor editor; - public static StateManager currentStateManager; - public static bool forceSetDirty; - static StateManager prevStateManager; - static State previousState; - int nodesToDelete; - - - public enum UserActions - { - addState,addTransitionNode,deleteNode,commentNode,makeTransition,makePortal,resetPan - } - #endregion - - #region Init - [MenuItem("Behavior Editor/Editor")] - static void ShowEditor() - { - editor = EditorWindow.GetWindow(); - editor.minSize = new Vector2(800, 600); - - } - - private void OnEnable() - { - settings = Resources.Load("EditorSettings") as EditorSettings; - style = settings.skin.GetStyle("window"); - activeStyle = settings.activeSkin.GetStyle("window"); - - } - #endregion - - private void Update() - { - if (currentStateManager != null) - { - if (previousState != currentStateManager.currentState) - { - Repaint(); - previousState = currentStateManager.currentState; - } - } - - if (nodesToDelete > 0) - { - if (settings.currentGraph != null) - { - settings.currentGraph.DeleteWindowsThatNeedTo(); - Repaint(); - } - nodesToDelete = 0; - } - } - - #region GUI Methods - private void OnGUI() - { - if (Selection.activeTransform != null) - { - currentStateManager = Selection.activeTransform.GetComponentInChildren(); - if (prevStateManager != currentStateManager) - { - prevStateManager = currentStateManager; - Repaint(); - } - } - - - - Event e = Event.current; - mousePosition = e.mousePosition; - UserInput(e); - - DrawWindows(); - - if (e.type == EventType.MouseDrag) - { - if (settings.currentGraph != null) - { - //settings.currentGraph.DeleteWindowsThatNeedTo(); - Repaint(); - } - } - - if (GUI.changed) - { - settings.currentGraph.DeleteWindowsThatNeedTo(); - Repaint(); - } - - if(settings.makeTransition) - { - mouseRect.x = mousePosition.x; - mouseRect.y = mousePosition.y; - Rect from = settings.currentGraph.GetNodeWithIndex(transitFromId).windowRect; - DrawNodeCurve(from, mouseRect, true, Color.blue); - Repaint(); - } - - if (forceSetDirty) - { - forceSetDirty = false; - EditorUtility.SetDirty(settings); - EditorUtility.SetDirty(settings.currentGraph); - - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - BaseNode n = settings.currentGraph.windows[i]; - if(n.stateRef.currentState != null) - EditorUtility.SetDirty(n.stateRef.currentState); - - } - - } - - } - - void DrawWindows() - { - GUILayout.BeginArea(all, style); - - BeginWindows(); - EditorGUILayout.LabelField(" ", GUILayout.Width(100)); - EditorGUILayout.LabelField("Assign Graph:", GUILayout.Width(100)); - settings.currentGraph = (BehaviorGraph)EditorGUILayout.ObjectField(settings.currentGraph, typeof(BehaviorGraph), false, GUILayout.Width(200)); - - if (settings.currentGraph != null) - { - foreach (BaseNode n in settings.currentGraph.windows) - { - n.DrawCurve(); - } - - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - BaseNode b = settings.currentGraph.windows[i]; - - if (b.drawNode is StateNode) - { - if (currentStateManager != null && b.stateRef.currentState == currentStateManager.currentState) - { - b.windowRect = GUI.Window(i, b.windowRect, - DrawNodeWindow, b.windowTitle,activeStyle); - } - else - { - b.windowRect = GUI.Window(i, b.windowRect, - DrawNodeWindow, b.windowTitle); - } - } - else - { - b.windowRect = GUI.Window(i, b.windowRect, - DrawNodeWindow, b.windowTitle); - } - } - } - EndWindows(); - - GUILayout.EndArea(); - - - } - - void DrawNodeWindow(int id) - { - settings.currentGraph.windows[id].DrawWindow(); - GUI.DragWindow(); - } - - void UserInput(Event e) - { - if (settings.currentGraph == null) - return; - - if(e.button == 1 && !settings.makeTransition) - { - if(e.type == EventType.MouseDown) - { - RightClick(e); - - } - } - - if (e.button == 0 && !settings.makeTransition) - { - if (e.type == EventType.MouseDown) - { - - } - } - - if(e.button == 0 && settings.makeTransition) - { - if(e.type == EventType.MouseDown) - { - MakeTransition(); - } - } - - if (e.button == 2 || e.button == 0 && e.modifiers == EventModifiers.Alt) - { - if (e.type == EventType.MouseDown) - { - scrollStartPos = e.mousePosition; - } - else if (e.type == EventType.MouseDrag) - { - HandlePanning(e); - } - else if (e.type == EventType.MouseUp) - { - - } - } - } - - void HandlePanning(Event e) - { - Vector2 diff = e.mousePosition - scrollStartPos; - diff *= .6f; - scrollStartPos = e.mousePosition; - scrollPos += diff; - - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - BaseNode b = settings.currentGraph.windows[i]; - b.windowRect.x += diff.x; - b.windowRect.y += diff.y; - } - } - - void ResetScroll() - { - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - BaseNode b = settings.currentGraph.windows[i]; - b.windowRect.x -= scrollPos.x; - b.windowRect.y -= scrollPos.y; - } - - scrollPos = Vector2.zero; - } - - void RightClick(Event e) - { - clickedOnWindow = false; - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - if (settings.currentGraph.windows[i].windowRect.Contains(e.mousePosition)) - { - clickedOnWindow = true; - selectedNode = settings.currentGraph.windows[i]; - break; - } - } - - if(!clickedOnWindow) - { - AddNewNode(e); - } - else - { - ModifyNode(e); - } - } - - void MakeTransition() - { - settings.makeTransition = false; - clickedOnWindow = false; - for (int i = 0; i < settings.currentGraph.windows.Count; i++) - { - if (settings.currentGraph.windows[i].windowRect.Contains(mousePosition)) - { - clickedOnWindow = true; - selectedNode = settings.currentGraph.windows[i]; - break; - } - } - - if(clickedOnWindow) - { - if(selectedNode.drawNode is StateNode || selectedNode.drawNode is PortalNode) - { - if(selectedNode.id != transitFromId) - { - BaseNode transNode = settings.currentGraph.GetNodeWithIndex(transitFromId); - transNode.targetNode = selectedNode.id; - - BaseNode enterNode = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(transNode.enterNode); - Transition transition = enterNode.stateRef.currentState.GetTransition(transNode.transRef.transitionId); - - transition.targetState = selectedNode.stateRef.currentState; - } - } - } - } - #endregion - - #region Context Menus - void AddNewNode(Event e) - { - GenericMenu menu = new GenericMenu(); - menu.AddSeparator(""); - if (settings.currentGraph != null) - { - menu.AddItem(new GUIContent("Add State"), false, ContextCallback, UserActions.addState); - menu.AddItem(new GUIContent("Add Portal"), false, ContextCallback, UserActions.makePortal); - menu.AddItem(new GUIContent("Add Comment"), false, ContextCallback, UserActions.commentNode); - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Reset Panning"), false, ContextCallback, UserActions.resetPan); - } - else - { - menu.AddDisabledItem(new GUIContent("Add State")); - menu.AddDisabledItem(new GUIContent("Add Comment")); - } - menu.ShowAsContext(); - e.Use(); - } - - void ModifyNode(Event e) - { - GenericMenu menu = new GenericMenu(); - if (selectedNode.drawNode is StateNode) - { - if (selectedNode.stateRef.currentState != null) - { - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Add Condition"), false, ContextCallback, UserActions.addTransitionNode); - } - else - { - menu.AddSeparator(""); - menu.AddDisabledItem(new GUIContent("Add Condition")); - } - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); - } - - if (selectedNode.drawNode is PortalNode) - { - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); - } - - if (selectedNode.drawNode is TransitionNode) - { - if (selectedNode.isDuplicate || !selectedNode.isAssigned) - { - menu.AddSeparator(""); - menu.AddDisabledItem(new GUIContent("Make Transition")); - } - else - { - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Make Transition"), false, ContextCallback, UserActions.makeTransition); - } - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); - } - - if (selectedNode.drawNode is CommentNode) - { - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Delete"), false, ContextCallback, UserActions.deleteNode); - } - menu.ShowAsContext(); - e.Use(); - } - - void ContextCallback(object o) - { - UserActions a = (UserActions)o; - switch (a) - { - case UserActions.addState: - settings.AddNodeOnGraph(settings.stateNode, 200, 100, "State", mousePosition); - break; - case UserActions.makePortal: - settings.AddNodeOnGraph(settings.portalNode, 100, 80, "Portal", mousePosition); - break; - case UserActions.addTransitionNode: - AddTransitionNode(selectedNode, mousePosition); - - break; - case UserActions.commentNode: - BaseNode commentNode = settings.AddNodeOnGraph(settings.commentNode, 200, 100, "Comment", mousePosition); - commentNode.comment = "This is a comment"; - break; - default: - break; - case UserActions.deleteNode: - if (selectedNode.drawNode is TransitionNode) - { - BaseNode enterNode = settings.currentGraph.GetNodeWithIndex(selectedNode.enterNode); - if (enterNode != null) - enterNode.stateRef.currentState.RemoveTransition(selectedNode.transRef.transitionId); - } - - nodesToDelete++; - settings.currentGraph.DeleteNode(selectedNode.id); - break; - case UserActions.makeTransition: - transitFromId = selectedNode.id; - settings.makeTransition = true; - break; - case UserActions.resetPan: - ResetScroll(); - break; - } - - forceSetDirty = true; - - } - - public static BaseNode AddTransitionNode(BaseNode enterNode, Vector3 pos) - { - BaseNode transNode = settings.AddNodeOnGraph(settings.transitionNode, 200, 100, "Condition", pos); - transNode.enterNode = enterNode.id; - Transition t = settings.stateNode.AddTransition(enterNode); - transNode.transRef.transitionId = t.id; - return transNode; - } - - public static BaseNode AddTransitionNodeFromTransition(Transition transition, BaseNode enterNode, Vector3 pos) - { - BaseNode transNode = settings.AddNodeOnGraph(settings.transitionNode, 200, 100, "Condition", pos); - transNode.enterNode = enterNode.id; - transNode.transRef.transitionId = transition.id; - return transNode; - - } - - #endregion - - #region Helper Methods - public static void DrawNodeCurve(Rect start, Rect end, bool left, Color curveColor) - { - Vector3 startPos = new Vector3( - (left) ? start.x + start.width : start.x, - start.y + (start.height *.5f), - 0); - - Vector3 endPos = new Vector3(end.x + (end.width * .5f), end.y + (end.height * .5f), 0); - Vector3 startTan = startPos + Vector3.right * 50; - Vector3 endTan = endPos + Vector3.left * 50; - - Color shadow = new Color(0, 0, 0, 1); - for (int i = 0; i < 1; i++) - { - Handles.DrawBezier(startPos, endPos, startTan, endTan, shadow, null, 4); - } - - Handles.DrawBezier(startPos, endPos, startTan, endTan, curveColor, null, 3); - } - - public static void ClearWindowsFromList(Listl) - { - for (int i = 0; i < l.Count; i++) - { - // if (windows.Contains(l[i])) - // windows.Remove(l[i]); - } - } - - #endregion - - } -} diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta deleted file mode 100644 index e54a750..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/BehaviorEditor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: efa4c7546d69b664d82279d4e93ed220 -timeCreated: 1521640958 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs deleted file mode 100644 index 655fea3..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace SA.BehaviorEditor -{ - [CreateAssetMenu(menuName ="Editor/Settings")] - public class EditorSettings : ScriptableObject - { - public BehaviorGraph currentGraph; - public StateNode stateNode; - public PortalNode portalNode; - public TransitionNode transitionNode; - public CommentNode commentNode; - public bool makeTransition; - public GUISkin skin; - public GUISkin activeSkin; - - public BaseNode AddNodeOnGraph(DrawNode type, float width,float height, string title, Vector3 pos) - { - BaseNode baseNode = new BaseNode(); - baseNode.drawNode = type; - baseNode.windowRect.width = width; - baseNode.windowRect.height = height; - baseNode.windowTitle = title; - baseNode.windowRect.x = pos.x; - baseNode.windowRect.y = pos.y; - currentGraph.windows.Add(baseNode); - baseNode.transRef = new TransitionNodeReferences(); - baseNode.stateRef = new StateNodeReferences(); - baseNode.id = currentGraph.idCount; - currentGraph.idCount++; - return baseNode; - } - } -} diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta deleted file mode 100644 index 5acdf21..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/EditorSettings.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 59ca634d0f1ec1d4494c1ece88ff8cd9 -timeCreated: 1521905023 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes.meta deleted file mode 100644 index ffa6c45..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 6b18129dfe01c9f49b3ac9358c00867e -folderAsset: yes -timeCreated: 1521640824 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/.gitignore b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/.gitignore deleted file mode 100644 index 0cc09eb..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Rider ignored files -/contentModel.xml -/projectSettingsUpdater.xml -/.idea.Nodes.iml -/modules.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/encodings.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/encodings.xml deleted file mode 100644 index df87cf9..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/encodings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/indexLayout.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/indexLayout.xml deleted file mode 100644 index 7b08163..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/indexLayout.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/vcs.xml b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/vcs.xml deleted file mode 100644 index bc59970..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/.idea/.idea.Nodes.dir/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs deleted file mode 100644 index 2353ba5..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs +++ /dev/null @@ -1,75 +0,0 @@ - using UnityEditor; -using UnityEditorInternal; -using UnityEngine; - -namespace SA.BehaviorEditor -{ - [System.Serializable] - public class BaseNode - { - public int id; - public DrawNode drawNode; - public Rect windowRect; - public string windowTitle; - public int enterNode; - public int targetNode; - public bool isDuplicate; - public string comment; - public bool isAssigned; - public bool showDescription; - public bool isOnCurrent; - - public bool collapse; - public bool showActions = true; - public bool showEnterExit = false; - [HideInInspector] - public bool previousCollapse; - - [SerializeField] - public StateNodeReferences stateRef; - [SerializeField] - public TransitionNodeReferences transRef; - - public bool createActions; - public bool showUpdateAndFixed; - - public void DrawWindow() - { - if(drawNode != null) - { - drawNode.DrawWindow(this); - } - } - - public void DrawCurve() - { - if (drawNode != null) - { - drawNode.DrawCurve(this); - } - } - - } - - [System.Serializable] - public class StateNodeReferences - { - // [HideInInspector] - public State currentState; - [HideInInspector] - public State previousState; - public SerializedObject serializedState; - public ReorderableList onFixedList; - public ReorderableList onUpdateList; - public ReorderableList onEnterList; - public ReorderableList onExitList; - } - - [System.Serializable] - public class TransitionNodeReferences - { - [HideInInspector] - public Condition previousCondition; - public int transitionId; - } -} \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta deleted file mode 100644 index 96f9195..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/BaseNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7050ad08ebe922e4bba779580f6082b9 -timeCreated: 1521640828 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs deleted file mode 100644 index ac23bc7..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace SA.BehaviorEditor -{ - [CreateAssetMenu(menuName = "Editor/Comment Node")] - public class CommentNode :DrawNode - { - - public override void DrawWindow(BaseNode b) - { - b.comment = GUILayout.TextArea(b.comment, 200); - } - - public override void DrawCurve(BaseNode b) - { - } - } -} diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta deleted file mode 100644 index 9dc47d2..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/CommentNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 0120e1e6c931c6d4f91f680299a742c1 -timeCreated: 1521641762 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs deleted file mode 100644 index 39cab6f..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace SA.BehaviorEditor -{ - public abstract class DrawNode : ScriptableObject - { - public abstract void DrawWindow(BaseNode b); - public abstract void DrawCurve(BaseNode b); - } -} diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta deleted file mode 100644 index 5e971c0..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/DrawNode.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 2238b14ae7f0c2b40a0c967e180a1ddc -timeCreated: 1521904358 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs deleted file mode 100644 index 17b5dfe..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; - - -namespace SA.BehaviorEditor -{ - [CreateAssetMenu(menuName = "Editor/Nodes/Portal Node")] - public class PortalNode : DrawNode - { - - public override void DrawCurve(BaseNode b) - { - - } - - public override void DrawWindow(BaseNode b) - { - b.stateRef.currentState = (State)EditorGUILayout.ObjectField(b.stateRef.currentState, typeof(State), false); - b.isAssigned = b.stateRef.currentState != null; - - if (b.stateRef.previousState != b.stateRef.currentState) - { - b.stateRef.previousState = b.stateRef.currentState; - BehaviorEditor.forceSetDirty = true; - } - } - } -} diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta deleted file mode 100644 index 346b5ff..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/PortalNode.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 99b9e5a838c3d6749b85a1ab19979326 -timeCreated: 1521982062 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs deleted file mode 100644 index f94b087..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs +++ /dev/null @@ -1,210 +0,0 @@ -using UnityEngine; -using UnityEditor; -using UnityEditorInternal; - -namespace SA.BehaviorEditor -{ - [CreateAssetMenu(menuName = "Editor/Nodes/State Node")] - public class StateNode : DrawNode - { - private string newStateName = ""; - private string newFolderName = ""; - private float _addStateModeHeight = 200; - private string newActionName; - private string newActionFolderName; - private string newActionMenuPath; - private string newSOName; - - public override void DrawWindow(BaseNode b) - { - if (b.stateRef.currentState == null) - { - EditorGUILayout.LabelField("State Name"); - newStateName = EditorGUILayout.TextField("", newStateName); - EditorGUILayout.LabelField("New folder name :"); - newFolderName = EditorGUILayout.TextField("", newFolderName); - - if (GUILayout.Button("Create State S.O.")) - { - b.stateRef.currentState = BehaviorIO.CreateStateSO(newStateName, newFolderName); - } - - EditorGUILayout.LabelField("Or, add state to modify:"); - b.windowRect.height = _addStateModeHeight; - } - else - { - if (!b.collapse) - { - } - else - { - b.windowRect.height = 100; - } - - b.collapse = EditorGUILayout.Toggle(" ", b.collapse); - } - - b.stateRef.currentState = (State)EditorGUILayout.ObjectField(b.stateRef.currentState, typeof(State), false); - - if (b.previousCollapse != b.collapse) - { - b.previousCollapse = b.collapse; - } - - if (b.stateRef.previousState != b.stateRef.currentState) - { - //b.serializedState = null; - b.isDuplicate = BehaviorEditor.settings.currentGraph.IsStateDuplicate(b); - b.stateRef.previousState = b.stateRef.currentState; - - if (!b.isDuplicate) - { - Vector3 pos = new Vector3(b.windowRect.x, b.windowRect.y, 0); - pos.x += b.windowRect.width * 2; - - SetupReordableLists(b); - - //Load transtions - for (int i = 0; i < b.stateRef.currentState.transitions.Count; i++) - { - pos.y += i * 100; - BehaviorEditor.AddTransitionNodeFromTransition(b.stateRef.currentState.transitions[i], b, pos); - } - - BehaviorEditor.forceSetDirty = true; - } - } - - if (b.isDuplicate) - { - EditorGUILayout.LabelField("State is a duplicate!"); - b.windowRect.height = _addStateModeHeight; - return; - } - - if (b.stateRef.currentState != null) - { - b.isAssigned = true; - - if (!b.collapse) - { - if (b.stateRef.serializedState == null) - { - SetupReordableLists(b); - - // SerializedObject serializedState = new SerializedObject(b.stateRef.currentState); - } - - float standard = 150; - b.stateRef.serializedState.Update(); - - - b.showActions = EditorGUILayout.Toggle("Show Actions ", b.showActions); - if (b.showActions) - { - b.createActions = EditorGUILayout.Toggle("Create Actions ", b.createActions); - if (b.createActions) - { - EditorGUILayout.LabelField("Select Actions :"); - EditorGUILayout.LabelField("New Action Name :"); - newActionName = EditorGUILayout.TextField("", newActionName); - EditorGUILayout.LabelField("New folder path (USE '\\') :"); - newActionFolderName = EditorGUILayout.TextField("", newActionFolderName); - EditorGUILayout.LabelField("SO Name : "); - newSOName = EditorGUILayout.TextField("", newSOName); - EditorGUILayout.LabelField("New Menu Path (USE '/'):"); - newActionMenuPath = EditorGUILayout.TextField("", newActionMenuPath); - - if (GUILayout.Button("Create Script and State S.O.")) - { - EditorGUILayout.LabelField($"{newActionName} @ {newActionFolderName} already exists."); - BehaviorIO.CreateScriptForActionWithMenuPath(newActionName, newActionFolderName, - newActionMenuPath); - } - - if (GUILayout.Button("Create Action SO at Menu Path")) - { - BehaviorIO.CreateSOForAction(newActionName, newSOName, newActionMenuPath); - } - } - - b.showUpdateAndFixed = EditorGUILayout.Toggle("Show Update / FixedUpdate ", b.showUpdateAndFixed); - if (b.showUpdateAndFixed) - { - EditorGUILayout.LabelField(""); - b.stateRef.onFixedList.DoLayoutList(); - EditorGUILayout.LabelField(""); - b.stateRef.onUpdateList.DoLayoutList(); - } - - standard += 100 + 40 + (b.stateRef.onUpdateList.count + b.stateRef.onFixedList.count) * 20; - } - - b.showEnterExit = EditorGUILayout.Toggle("Show Enter/Exit ", b.showEnterExit); - if (b.showEnterExit) - { - EditorGUILayout.LabelField(""); - b.stateRef.onEnterList.DoLayoutList(); - EditorGUILayout.LabelField(""); - b.stateRef.onExitList.DoLayoutList(); - standard += 100 + 40 + (b.stateRef.onEnterList.count + b.stateRef.onExitList.count) * 20; - } - - b.stateRef.serializedState.ApplyModifiedProperties(); - b.windowRect.height = standard + 500; - } - } - else - { - b.isAssigned = false; - } - } - - - void SetupReordableLists(BaseNode b) - { - b.stateRef.serializedState = new SerializedObject(b.stateRef.currentState); - b.stateRef.onFixedList = new ReorderableList(b.stateRef.serializedState, - b.stateRef.serializedState.FindProperty("onFixed"), true, true, true, true); - b.stateRef.onUpdateList = new ReorderableList(b.stateRef.serializedState, - b.stateRef.serializedState.FindProperty("onUpdate"), true, true, true, true); - b.stateRef.onEnterList = new ReorderableList(b.stateRef.serializedState, - b.stateRef.serializedState.FindProperty("onEnter"), true, true, true, true); - b.stateRef.onExitList = new ReorderableList(b.stateRef.serializedState, - b.stateRef.serializedState.FindProperty("onExit"), true, true, true, true); - - HandleReordableList(b.stateRef.onFixedList, "On Fixed"); - HandleReordableList(b.stateRef.onUpdateList, "On Update"); - HandleReordableList(b.stateRef.onEnterList, "On Enter"); - HandleReordableList(b.stateRef.onExitList, "On Exit"); - } - - void HandleReordableList(ReorderableList list, string targetName) - { - list.drawHeaderCallback = (Rect rect) => { EditorGUI.LabelField(rect, targetName); }; - - list.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => - { - var element = list.serializedProperty.GetArrayElementAtIndex(index); - EditorGUI.ObjectField(new Rect(rect.x, rect.y, rect.width, EditorGUIUtility.singleLineHeight), element, - GUIContent.none); - }; - } - - public override void DrawCurve(BaseNode b) - { - } - - public Transition AddTransition(BaseNode b) - { - return b.stateRef.currentState.AddTransition(); - } - - public void ClearReferences() - { - // BehaviorEditor.ClearWindowsFromList(dependencies); - // dependencies.Clear(); - } - } -} \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta deleted file mode 100644 index 6508c51..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/StateNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 8d4d3913936d2be49b9d30cc473cee77 -timeCreated: 1521640917 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs deleted file mode 100644 index a5ab553..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs +++ /dev/null @@ -1,151 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using SA; - -namespace SA.BehaviorEditor -{ - [CreateAssetMenu(menuName ="Editor/Transition Node")] - public class TransitionNode : DrawNode - { - - public void Init(StateNode enterState, Transition transition) - { - // this.enterState = enterState; - } - - public override void DrawWindow(BaseNode b) - { - EditorGUILayout.LabelField(""); - BaseNode enterNode = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.enterNode); - if (enterNode == null) - { - return; - } - - if (enterNode.stateRef.currentState == null) - { - BehaviorEditor.settings.currentGraph.DeleteNode(b.id); - return; - } - - Transition transition = enterNode.stateRef.currentState.GetTransition(b.transRef.transitionId); - - if (transition == null) - return; - - - transition.condition = - (Condition)EditorGUILayout.ObjectField(transition.condition - , typeof(Condition), false); - - if(transition.condition == null) - { - EditorGUILayout.LabelField("No Condition!"); - b.isAssigned = false; - } - else - { - - b.isAssigned = true; - if (b.isDuplicate) - { - EditorGUILayout.LabelField("Duplicate Condition!"); - } - else - { - GUILayout.Label(transition.condition.description); - - BaseNode targetNode = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.targetNode); - if (targetNode != null) - { - if (!targetNode.isDuplicate) - transition.targetState = targetNode.stateRef.currentState; - else - transition.targetState = null; - } - else - { - transition.targetState = null; - } - } - } - - if (b.transRef.previousCondition != transition.condition) - { - b.transRef.previousCondition = transition.condition; - b.isDuplicate = BehaviorEditor.settings.currentGraph.IsTransitionDuplicate(b); - - if (!b.isDuplicate) - { - BehaviorEditor.forceSetDirty = true; - // BehaviorEditor.settings.currentGraph.SetNode(this); - } - } - - } - - public override void DrawCurve(BaseNode b) - { - Rect rect = b.windowRect; - rect.y += b.windowRect.height * .5f; - rect.width = 1; - rect.height = 1; - - BaseNode e = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.enterNode); - if (e == null) - { - BehaviorEditor.settings.currentGraph.DeleteNode(b.id); - } - else - { - Color targetColor = Color.green; - if (!b.isAssigned || b.isDuplicate) - targetColor = Color.red; - - Rect r = e.windowRect; - BehaviorEditor.DrawNodeCurve(r, rect, true, targetColor); - } - - if (b.isDuplicate) - return; - - if(b.targetNode > 0) - { - BaseNode t = BehaviorEditor.settings.currentGraph.GetNodeWithIndex(b.targetNode); - if (t == null) - { - b.targetNode = -1; - } - else - { - - - rect = b.windowRect; - rect.x += rect.width; - Rect endRect = t.windowRect; - endRect.x -= endRect.width * .5f; - - Color targetColor = Color.green; - - if (t.drawNode is StateNode) - { - if (!t.isAssigned || t.isDuplicate) - targetColor = Color.red; - } - else - { - if (!t.isAssigned) - targetColor = Color.red; - else - targetColor = Color.yellow; - } - - BehaviorEditor.DrawNodeCurve(rect,endRect,false, targetColor); - } - - } - } - } -} diff --git a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta deleted file mode 100644 index 7b8a614..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorEditor/Nodes/TransitionNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 423963fc36a1ea64cb440070fdcfdea0 -timeCreated: 1521642827 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs b/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs deleted file mode 100644 index 07dee69..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs +++ /dev/null @@ -1,85 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - - -namespace SA.BehaviorEditor -{ - [CreateAssetMenu] - public class BehaviorGraph : ScriptableObject - { - [SerializeField] - public List windows = new List(); - [SerializeField] - public int idCount; - List indexToDelete = new List(); - - #region Checkers - public BaseNode GetNodeWithIndex(int index) - { - for (int i = 0; i < windows.Count; i++) - { - if (windows[i].id == index) - return windows[i]; - } - - return null; - } - - public void DeleteWindowsThatNeedTo() - { - for (int i = 0; i < indexToDelete.Count; i++) - { - BaseNode b = GetNodeWithIndex(indexToDelete[i]); - if(b != null) - windows.Remove(b); - } - - indexToDelete.Clear(); - } - - public void DeleteNode(int index) - { - if(!indexToDelete.Contains(index)) - indexToDelete.Add(index); - } - - public bool IsStateDuplicate(BaseNode b) - { - for (int i = 0; i < windows.Count; i++) - { - if (windows[i].id == b.id) - continue; - - if (windows[i].stateRef.currentState == b.stateRef.currentState && - !windows[i].isDuplicate) - return true; - } - - return false; - } - - public bool IsTransitionDuplicate(BaseNode b) - { - BaseNode enter = GetNodeWithIndex(b.enterNode); - if (enter == null) - { - Debug.Log("false"); - return false; - } - for (int i = 0; i < enter.stateRef.currentState.transitions.Count; i++) - { - Transition t = enter.stateRef.currentState.transitions[i]; - if (t.condition == b.transRef.previousCondition && b.transRef.transitionId != t.id) - { - return true; - } - } - - return false; - } - - #endregion - - } -} diff --git a/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs.meta b/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs.meta deleted file mode 100644 index 3d0c132..0000000 --- a/Behavior-Editor/Scripts/Editor/BehaviorGraph.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 711dbd0dcc0707448ad710a82f0aa6b6 -timeCreated: 1521775100 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs b/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs deleted file mode 100644 index 179a0d8..0000000 --- a/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs +++ /dev/null @@ -1,118 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using SA; -using UnityEditor; -using UnityEditorInternal; - -namespace SA.CustomUI -{ - [CustomEditor(typeof(State))] - public class StateGUI : Editor - { - SerializedObject serializedState; - ReorderableList onFixedList; - ReorderableList onUpdateList; - ReorderableList onEnterList; - ReorderableList onExitList; - ReorderableList Transitions; - - bool showDefaultGUI = false; - bool showActions = true; - bool showTransitions = true; - - private void OnEnable() - { - serializedState = null; - } - - public override void OnInspectorGUI() - { - showDefaultGUI = EditorGUILayout.Toggle("DefaultGUI", showDefaultGUI); - if (showDefaultGUI) - { - base.OnInspectorGUI(); - return; - } - - showActions = EditorGUILayout.Toggle("Show Actions", showActions); - - if(serializedState == null) - SetupReordableLists(); - - serializedState.Update(); - - if (showActions) - { - EditorGUILayout.LabelField("Actions that execute on FixedUpdate()"); - onFixedList.DoLayoutList(); - EditorGUILayout.LabelField("Actions that execute on Update()"); - onUpdateList.DoLayoutList(); - EditorGUILayout.LabelField("Actions that execute when entering this State"); - onEnterList.DoLayoutList(); - EditorGUILayout.LabelField("Actions that execute when exiting this State"); - onExitList.DoLayoutList(); - } - - showTransitions = EditorGUILayout.Toggle("Show Transitions", showTransitions); - - if (showTransitions) - { - EditorGUILayout.LabelField("Conditions to exit this State"); - Transitions.DoLayoutList(); - } - - serializedState.ApplyModifiedProperties(); - } - - void SetupReordableLists() - { - State curState = (State)target; - serializedState = new SerializedObject(curState); - onFixedList = new ReorderableList(serializedState,serializedState.FindProperty("onFixed"), true, true, true, true); - onUpdateList = new ReorderableList(serializedState,serializedState.FindProperty("onUpdate"), true, true, true, true); - onEnterList = new ReorderableList(serializedState,serializedState.FindProperty("onEnter"), true, true, true, true); - onExitList = new ReorderableList(serializedState,serializedState.FindProperty("onExit"), true, true, true, true); - Transitions = new ReorderableList(serializedState, serializedState.FindProperty("transitions"), true, true, true, true); - - HandleReordableList(onFixedList, "On Fixed"); - HandleReordableList(onUpdateList, "On Update"); - HandleReordableList(onEnterList, "On Enter"); - HandleReordableList(onExitList, "On Exit"); - HandleTransitionReordable(Transitions, "Condition --> New State"); - } - - void HandleReordableList(ReorderableList list, string targetName) - { - list.drawHeaderCallback = (Rect rect) => - { - EditorGUI.LabelField(rect, targetName); - }; - - list.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => - { - var element = list.serializedProperty.GetArrayElementAtIndex(index); - EditorGUI.ObjectField(new Rect(rect.x, rect.y, rect.width, EditorGUIUtility.singleLineHeight), element, GUIContent.none); - }; - } - - void HandleTransitionReordable(ReorderableList list, string targetName) - { - list.drawHeaderCallback = (Rect rect) => - { - EditorGUI.LabelField(rect, targetName); - }; - - list.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => - { - var element = list.serializedProperty.GetArrayElementAtIndex(index); - EditorGUI.ObjectField(new Rect(rect.x, rect.y, rect.width * .3f, EditorGUIUtility.singleLineHeight), element.FindPropertyRelative("condition"), GUIContent.none); - EditorGUI.ObjectField(new Rect(rect.x + + (rect.width *.35f), rect.y, rect.width * .3f, EditorGUIUtility.singleLineHeight), element.FindPropertyRelative("targetState"), GUIContent.none); - EditorGUI.LabelField(new Rect(rect.x + +(rect.width * .75f), rect.y, rect.width * .2f, EditorGUIUtility.singleLineHeight), "Disable"); - EditorGUI.PropertyField(new Rect(rect.x + +(rect.width * .90f), rect.y, rect.width * .2f, EditorGUIUtility.singleLineHeight), element.FindPropertyRelative("disable"), GUIContent.none); - - }; - } - - } -} diff --git a/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta b/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta deleted file mode 100644 index e89efc7..0000000 --- a/Behavior-Editor/Scripts/Editor/Custom Inspectors/StateGUI.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 95f309d962f94c2468c31a7b805e2d3b -timeCreated: 1522830896 -licenseType: Free -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Behavior-Editor/Scripts/StateManager.cs b/Behavior-Editor/Scripts/StateManager.cs index 3ede33a..d24f261 100644 --- a/Behavior-Editor/Scripts/StateManager.cs +++ b/Behavior-Editor/Scripts/StateManager.cs @@ -1,32 +1,98 @@ -using System.Collections; +using System; using System.Collections.Generic; using UnityEngine; +using UnityEngine.SceneManagement; +using Object = UnityEngine.Object; -namespace SA +namespace SFIBehavior { public class StateManager : MonoBehaviour { - public float health; - public State currentState; + //public ScriptableObject refsSO; // = new ReorderableList(); - [HideInInspector] - public float delta; - [HideInInspector] - public Transform mTransform; + public List aheadOfTimeObjects = new List(); + + [HideInInspector] public float delta; + [HideInInspector] public Transform mTransform; + public Dictionary currentObjects = new Dictionary(); + public string EditorSettingsToLoad = "EditorSettings"; + public void Setup() + { + Debug.Log("Setup State Manager on " + gameObject.name); + //EditorSettingsToLoad = ""; + } + private void Start() { mTransform = this.transform; + // objects = new ReorderableList(aheadOfTimeObjects); + //My hack... + currentState.OnEnter(this); } private void Update() { - if(currentState != null) + if (currentState != null) { currentState.Tick(this); } } + + private void FixedUpdate() + { + if (currentState != null) + { + currentState.FixedTick(this); + } + } + + public T FindCurrentComponent() where T : Component + { + Object o; + + if (!currentObjects.TryGetValue(typeof(T).FullName, out o)) + { + for (int i = 0; i < SceneManager.loadedSceneCount; i++) + { + o = SFITools.Find.FindObjectByTypeInSceneByName(SceneManager.GetSceneAt(i).name); + if(o) continue; + } + // o = SFITools.Find.FindObjectByTypeInSceneByName("Waypoint"); + if (o == null) o = FindObjectOfType(true); + + if (o == null) + { + Debug.LogWarning("Missing : " + typeof(T).FullName); + } + else + { + currentObjects.Add(typeof(T).FullName, o); + } + } + + return o as T; + } + + public Object FindCurrentObject() + { + Object o; + if (!currentObjects.TryGetValue(typeof(T).FullName, out o)) + { + Debug.LogError(typeof(T).FullName + " not registered "); + return null; + } + + else return o; + } + + public T FindCurrentComponent(T obj) where T : Component + { + if (obj != null) return obj; + + return FindCurrentComponent(); + } } -} +} \ No newline at end of file diff --git a/Behavior-Editor/Scripts/Transition.cs b/Behavior-Editor/Scripts/Transition.cs index 3b54cb1..86ffad4 100644 --- a/Behavior-Editor/Scripts/Transition.cs +++ b/Behavior-Editor/Scripts/Transition.cs @@ -1,8 +1,6 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using System.Collections.Generic; -namespace SA +namespace SFIBehavior { [System.Serializable] public class Transition @@ -11,5 +9,10 @@ public class Transition public Condition condition; public State targetState; public bool disable; + + // + // public bool isMultiTransition; + // public List targetStates = new List(); + // public MultiCondition MultiCondition; } -} +} \ No newline at end of file diff --git a/Behavior-Editor/scene1.unity.meta b/Behavior-Editor/scene1.unity.meta deleted file mode 100644 index 20d6e63..0000000 --- a/Behavior-Editor/scene1.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e5dfbd879317d614a8cc1ec1b8dba1f2 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: From 30059a24f2840b05c67e57e3bc06ead3c71ce6a6 Mon Sep 17 00:00:00 2001 From: "Github-Actions[bot]" Date: Mon, 3 Mar 2025 15:18:12 -0700 Subject: [PATCH 9/9] Made a test change to submodule --- Behavior-Editor/BehaviorExampleScene.unity.meta | 7 +++++++ Behavior-Editor/SampleData.meta | 8 ++++++++ Behavior-Editor/Scripts.meta | 8 ++++++++ README.md | 1 + 4 files changed, 24 insertions(+) create mode 100644 Behavior-Editor/BehaviorExampleScene.unity.meta create mode 100644 Behavior-Editor/SampleData.meta create mode 100644 Behavior-Editor/Scripts.meta diff --git a/Behavior-Editor/BehaviorExampleScene.unity.meta b/Behavior-Editor/BehaviorExampleScene.unity.meta new file mode 100644 index 0000000..4fa0fa9 --- /dev/null +++ b/Behavior-Editor/BehaviorExampleScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cbf62a72a85d1824b9750ea1bd913bd9 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Behavior-Editor/SampleData.meta b/Behavior-Editor/SampleData.meta new file mode 100644 index 0000000..7b8f544 --- /dev/null +++ b/Behavior-Editor/SampleData.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eef6461d443d7644b8e219b17bd4ce79 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Behavior-Editor/Scripts.meta b/Behavior-Editor/Scripts.meta new file mode 100644 index 0000000..e375788 --- /dev/null +++ b/Behavior-Editor/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e0a078c449ba4ac4dbcd1107602fbdbd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/README.md b/README.md index a115602..eb7451b 100644 --- a/README.md +++ b/README.md @@ -31,3 +31,4 @@ --- ## 🛠 **How-To Guide** +test