├── .gitignore ├── .vscode ├── launch.json └── settings.json ├── Assets ├── AnimationBaker.meta ├── AnimationBaker │ ├── AnimatorBootstrap.cs │ ├── AnimatorBootstrap.cs.meta │ ├── Components.meta │ ├── Components │ │ ├── StateMachineUnitComponent.cs │ │ └── StateMachineUnitComponent.cs.meta │ ├── Editor.meta │ ├── Editor │ │ ├── RenderTextureToTexture2D.cs │ │ └── RenderTextureToTexture2D.cs.meta │ ├── Interfaces.meta │ ├── Interfaces │ │ ├── IUnitState.cs │ │ └── IUnitState.cs.meta │ ├── Resources.meta │ ├── Resources │ │ ├── AnimationBaker.meta │ │ └── AnimationBaker │ │ │ ├── Images.meta │ │ │ ├── Images │ │ │ ├── flower.png │ │ │ ├── flower.png.meta │ │ │ ├── leafless-tree.png │ │ │ ├── leafless-tree.png.meta │ │ │ ├── leaves.png │ │ │ ├── leaves.png.meta │ │ │ ├── leaves_green.png │ │ │ ├── leaves_green.png.meta │ │ │ ├── leaves_purple.png │ │ │ ├── leaves_purple.png.meta │ │ │ ├── leaves_red.png │ │ │ ├── leaves_red.png.meta │ │ │ ├── sprout.png │ │ │ ├── sprout.png.meta │ │ │ ├── xnode_dot.png │ │ │ ├── xnode_dot.png.meta │ │ │ ├── xnode_dot_outer.png │ │ │ ├── xnode_dot_outer.png.meta │ │ │ ├── xnode_node.png │ │ │ ├── xnode_node.png.meta │ │ │ ├── xnode_node_highlight.png │ │ │ ├── xnode_node_highlight.png.meta │ │ │ ├── xnode_node_workfile.psd │ │ │ └── xnode_node_workfile.psd.meta │ │ │ ├── Shaders.meta │ │ │ └── Shaders │ │ │ ├── LitBakedStatePlayer.shader │ │ │ ├── LitBakedStatePlayer.shader.meta │ │ │ ├── MeshInfoTextureGen.compute │ │ │ ├── MeshInfoTextureGen.compute.meta │ │ │ ├── UnlitBakedStatePlayer.shader │ │ │ └── UnlitBakedStatePlayer.shader.meta │ ├── StateMachine.meta │ ├── StateMachine │ │ ├── Editor.meta │ │ ├── Editor │ │ │ ├── BaseNodeEditor.cs │ │ │ ├── BaseNodeEditor.cs.meta │ │ │ ├── BaseNodeObjectEditor.cs │ │ │ ├── BaseNodeObjectEditor.cs.meta │ │ │ ├── StateGraphBaker.cs │ │ │ ├── StateGraphBaker.cs.meta │ │ │ ├── StateGraphEditor.cs │ │ │ ├── StateGraphEditor.cs.meta │ │ │ ├── StateGraphNodeEditor.cs │ │ │ ├── StateGraphNodeEditor.cs.meta │ │ │ ├── StateGraphPreview.cs │ │ │ └── StateGraphPreview.cs.meta │ │ ├── Nodes.meta │ │ ├── Nodes │ │ │ ├── AnyNode.cs │ │ │ ├── AnyNode.cs.meta │ │ │ ├── BaseNode.cs │ │ │ ├── BaseNode.cs.meta │ │ │ ├── EndNode.cs │ │ │ ├── EndNode.cs.meta │ │ │ ├── StartNode.cs │ │ │ ├── StartNode.cs.meta │ │ │ ├── StateNode.cs │ │ │ └── StateNode.cs.meta │ │ ├── ScriptableObjects.meta │ │ ├── ScriptableObjects │ │ │ ├── RendererData.cs │ │ │ └── RendererData.cs.meta │ │ ├── StateGraph.cs │ │ ├── StateGraph.cs.meta │ │ ├── xNode.meta │ │ └── xNode │ │ │ ├── Editor.meta │ │ │ ├── Editor │ │ │ ├── NodeEditor.cs │ │ │ ├── NodeEditor.cs.meta │ │ │ ├── NodeEditorAction.cs │ │ │ ├── NodeEditorAction.cs.meta │ │ │ ├── NodeEditorAssetModProcessor.cs │ │ │ ├── NodeEditorAssetModProcessor.cs.meta │ │ │ ├── NodeEditorBase.cs │ │ │ ├── NodeEditorBase.cs.meta │ │ │ ├── NodeEditorGUI.cs │ │ │ ├── NodeEditorGUI.cs.meta │ │ │ ├── NodeEditorGUILayout.cs │ │ │ ├── NodeEditorGUILayout.cs.meta │ │ │ ├── NodeEditorPreferences.cs │ │ │ ├── NodeEditorPreferences.cs.meta │ │ │ ├── NodeEditorReflection.cs │ │ │ ├── NodeEditorReflection.cs.meta │ │ │ ├── NodeEditorResources.cs │ │ │ ├── NodeEditorResources.cs.meta │ │ │ ├── NodeEditorUtilities.cs │ │ │ ├── NodeEditorUtilities.cs.meta │ │ │ ├── NodeEditorWindow.cs │ │ │ ├── NodeEditorWindow.cs.meta │ │ │ ├── NodeGraphEditor.cs │ │ │ ├── NodeGraphEditor.cs.meta │ │ │ └── Resources.meta │ │ │ ├── Node.cs │ │ │ ├── Node.cs.meta │ │ │ ├── NodeConnection.cs │ │ │ ├── NodeConnection.cs.meta │ │ │ ├── NodeDataCache.cs │ │ │ ├── NodeDataCache.cs.meta │ │ │ ├── NodeGraph.cs │ │ │ ├── NodeGraph.cs.meta │ │ │ ├── NodeGraphVariable.cs │ │ │ ├── NodeGraphVariable.cs.meta │ │ │ ├── NodePort.cs │ │ │ ├── NodePort.cs.meta │ │ │ ├── TransitionRule.cs │ │ │ └── TransitionRule.cs.meta │ ├── Systems.meta │ ├── Systems │ │ ├── AnimatorRendererSystem.cs │ │ ├── AnimatorRendererSystem.cs.meta │ │ ├── AnimatorSystem.cs │ │ ├── AnimatorSystem.cs.meta │ │ ├── BaseAnimatorSystem.cs │ │ ├── BaseAnimatorSystem.cs.meta │ │ ├── SyncStateMachineUnitTransform.cs │ │ └── SyncStateMachineUnitTransform.cs.meta │ ├── Utils.meta │ └── Utils │ │ ├── SerializableDictionary.cs │ │ ├── SerializableDictionary.cs.meta │ │ ├── StringUtils.cs │ │ ├── StringUtils.cs.meta │ │ ├── Tex2dToPng.cs │ │ └── Tex2dToPng.cs.meta ├── Example.meta ├── Example │ ├── Base.meta │ ├── Base │ │ ├── Behaviours.meta │ │ ├── Behaviours │ │ │ ├── Spawner.cs │ │ │ ├── Spawner.cs.meta │ │ │ ├── UnitData.cs │ │ │ └── UnitData.cs.meta │ │ ├── Components.meta │ │ ├── Components │ │ │ ├── IsDeadComponent.cs │ │ │ ├── IsDeadComponent.cs.meta │ │ │ ├── UnitComponent.cs │ │ │ └── UnitComponent.cs.meta │ │ ├── Systems.meta │ │ ├── Systems │ │ │ ├── RecycleDeadSystem.cs │ │ │ ├── RecycleDeadSystem.cs.meta │ │ │ ├── SetTargetSystem.cs │ │ │ ├── SetTargetSystem.cs.meta │ │ │ ├── SpawnerSystem.cs │ │ │ ├── SpawnerSystem.cs.meta │ │ │ ├── SyncNavAgentTransformSystem.cs │ │ │ └── SyncNavAgentTransformSystem.cs.meta │ │ ├── UnitData.meta │ │ └── UnitData │ │ │ ├── Archer.asset │ │ │ ├── Archer.asset.meta │ │ │ ├── Cerberus.asset │ │ │ ├── Cerberus.asset.meta │ │ │ ├── Diablous.asset │ │ │ ├── Diablous.asset.meta │ │ │ ├── Knight.asset │ │ │ ├── Knight.asset.meta │ │ │ ├── Mage.asset │ │ │ ├── Mage.asset.meta │ │ │ ├── Sorceress.asset │ │ │ └── Sorceress.asset.meta │ ├── Materials.meta │ ├── Materials │ │ ├── Ground.mat │ │ └── Ground.mat.meta │ ├── Models.meta │ ├── Models │ │ ├── Archer.blend │ │ ├── Archer.blend.meta │ │ ├── BlenderImporter.preset │ │ ├── BlenderImporter.preset.meta │ │ ├── Cerberus.blend │ │ ├── Cerberus.blend.meta │ │ ├── Credits.txt │ │ ├── Credits.txt.meta │ │ ├── Diablous.blend │ │ ├── Diablous.blend.meta │ │ ├── Knight.blend │ │ ├── Knight.blend.meta │ │ ├── Mage.blend │ │ ├── Mage.blend.meta │ │ ├── Materials.meta │ │ ├── Materials │ │ │ ├── Archer.mat │ │ │ ├── Archer.mat.meta │ │ │ ├── Archer.png │ │ │ ├── Archer.png.meta │ │ │ ├── Cerberus.mat │ │ │ ├── Cerberus.mat.meta │ │ │ ├── Cerberus.png │ │ │ ├── Cerberus.png.meta │ │ │ ├── Diablous.mat │ │ │ ├── Diablous.mat.meta │ │ │ ├── Diablous.png │ │ │ ├── Diablous.png.meta │ │ │ ├── Knight.mat │ │ │ ├── Knight.mat.meta │ │ │ ├── Knight.png │ │ │ ├── Knight.png.meta │ │ │ ├── Mage.mat │ │ │ ├── Mage.mat.meta │ │ │ ├── Mage.png │ │ │ ├── Mage.png.meta │ │ │ ├── Sorceress.mat │ │ │ ├── Sorceress.mat.meta │ │ │ ├── Sorceress.png │ │ │ ├── Sorceress.png.meta │ │ │ ├── cerberus_texture.mat │ │ │ ├── cerberus_texture.mat.meta │ │ │ ├── diablous_texture.mat │ │ │ ├── diablous_texture.mat.meta │ │ │ ├── female_mage_texture.mat │ │ │ └── female_mage_texture.mat.meta │ │ ├── Sorceress.blend │ │ └── Sorceress.blend.meta │ ├── Outputs.meta │ ├── Outputs │ │ ├── Archer.meta │ │ ├── Archer │ │ │ ├── Archer.0.Material.mat │ │ │ ├── Archer.0.Material.mat.meta │ │ │ ├── Archer.asset │ │ │ ├── Archer.asset.meta │ │ │ ├── Archer.prefab │ │ │ ├── Archer.prefab.meta │ │ │ ├── ArcherComponent.cs │ │ │ ├── ArcherComponent.cs.meta │ │ │ ├── ArcherMesh.asset │ │ │ ├── ArcherMesh.asset.meta │ │ │ ├── Normals.asset │ │ │ ├── Normals.asset.meta │ │ │ ├── Positions.asset │ │ │ └── Positions.asset.meta │ │ ├── Cerberus.meta │ │ ├── Cerberus │ │ │ ├── Cerberus.0.Material.mat │ │ │ ├── Cerberus.0.Material.mat.meta │ │ │ ├── Cerberus.asset │ │ │ ├── Cerberus.asset.meta │ │ │ ├── Cerberus.prefab │ │ │ ├── Cerberus.prefab.meta │ │ │ ├── CerberusComponent.cs │ │ │ ├── CerberusComponent.cs.meta │ │ │ ├── CerberusMesh.asset │ │ │ ├── CerberusMesh.asset.meta │ │ │ ├── Normals.asset │ │ │ ├── Normals.asset.meta │ │ │ ├── Positions.asset │ │ │ └── Positions.asset.meta │ │ ├── Diablous.meta │ │ ├── Diablous │ │ │ ├── Diablous.0.Material.mat │ │ │ ├── Diablous.0.Material.mat.meta │ │ │ ├── Diablous.asset │ │ │ ├── Diablous.asset.meta │ │ │ ├── Diablous.prefab │ │ │ ├── Diablous.prefab.meta │ │ │ ├── DiablousComponent.cs │ │ │ ├── DiablousComponent.cs.meta │ │ │ ├── DiablousMesh.asset │ │ │ ├── DiablousMesh.asset.meta │ │ │ ├── Normals.asset │ │ │ ├── Normals.asset.meta │ │ │ ├── Positions.asset │ │ │ └── Positions.asset.meta │ │ ├── Knight.meta │ │ ├── Knight │ │ │ ├── Knight.0.Material.mat │ │ │ ├── Knight.0.Material.mat.meta │ │ │ ├── Knight.asset │ │ │ ├── Knight.asset.meta │ │ │ ├── Knight.prefab │ │ │ ├── Knight.prefab.meta │ │ │ ├── KnightComponent.cs │ │ │ ├── KnightComponent.cs.meta │ │ │ ├── KnightMesh.asset │ │ │ ├── KnightMesh.asset.meta │ │ │ ├── Normals.asset │ │ │ ├── Normals.asset.meta │ │ │ ├── Positions.asset │ │ │ └── Positions.asset.meta │ │ ├── Mage.meta │ │ ├── Mage │ │ │ ├── Mage.0.Material.mat │ │ │ ├── Mage.0.Material.mat.meta │ │ │ ├── Mage.asset │ │ │ ├── Mage.asset.meta │ │ │ ├── Mage.prefab │ │ │ ├── Mage.prefab.meta │ │ │ ├── MageComponent.cs │ │ │ ├── MageComponent.cs.meta │ │ │ ├── MageMesh.asset │ │ │ ├── MageMesh.asset.meta │ │ │ ├── Normals.asset │ │ │ ├── Normals.asset.meta │ │ │ ├── Positions.asset │ │ │ └── Positions.asset.meta │ │ ├── Sorceress.meta │ │ └── Sorceress │ │ │ ├── Normals.asset │ │ │ ├── Normals.asset.meta │ │ │ ├── Positions.asset │ │ │ ├── Positions.asset.meta │ │ │ ├── Sorceress.0.Material.mat │ │ │ ├── Sorceress.0.Material.mat.meta │ │ │ ├── Sorceress.asset │ │ │ ├── Sorceress.asset.meta │ │ │ ├── Sorceress.prefab │ │ │ ├── Sorceress.prefab.meta │ │ │ ├── SorceressComponent.cs │ │ │ ├── SorceressComponent.cs.meta │ │ │ ├── SorceressMesh.asset │ │ │ └── SorceressMesh.asset.meta │ ├── Prefabs.meta │ ├── Prefabs │ │ ├── FX_Base.mat │ │ ├── FX_Base.mat.meta │ │ ├── FX_BloodSplatter.prefab │ │ ├── FX_BloodSplatter.prefab.meta │ │ ├── FX_Fire.prefab │ │ ├── FX_Fire.prefab.meta │ │ ├── FX_Fireworks_Blue_Small.prefab │ │ ├── FX_Fireworks_Blue_Small.prefab.meta │ │ ├── FX_Fireworks_Yellow_Small.prefab │ │ ├── FX_Fireworks_Yellow_Small.prefab.meta │ │ ├── FX_FlameThrower.prefab │ │ ├── FX_FlameThrower.prefab.meta │ │ ├── UnlitVertexColour_Alpha.shader │ │ └── UnlitVertexColour_Alpha.shader.meta │ ├── Scenes.meta │ ├── Scenes │ │ ├── BaseScene.unity │ │ ├── BaseScene.unity.meta │ │ ├── StateMachineScene.meta │ │ ├── StateMachineScene.unity │ │ ├── StateMachineScene.unity.meta │ │ └── StateMachineScene │ │ │ ├── NavMesh.asset │ │ │ └── NavMesh.asset.meta │ ├── Scripts.meta │ └── Scripts │ │ ├── Behaviours.meta │ │ ├── Behaviours │ │ ├── MobileRTSCam.cs │ │ ├── MobileRTSCam.cs.meta │ │ ├── UnitData.cs │ │ └── UnitData.cs.meta │ │ ├── StateMachineBootstrap.cs │ │ ├── StateMachineBootstrap.cs.meta │ │ ├── Systems.meta │ │ └── Systems │ │ ├── ArcherDebugSystem.cs │ │ └── ArcherDebugSystem.cs.meta ├── Plugins.meta └── Plugins │ ├── EntitySystemDebugger.meta │ ├── EntitySystemDebugger │ ├── Scripts.meta │ └── Scripts │ │ ├── Editor.meta │ │ ├── Editor │ │ ├── Actions.meta │ │ ├── Actions │ │ │ ├── Button.cs │ │ │ └── Button.cs.meta │ │ ├── CodeGen.meta │ │ ├── CodeGen │ │ │ ├── CodeGenerator.cs │ │ │ ├── CodeGenerator.cs.meta │ │ │ ├── Templates.meta │ │ │ └── Templates │ │ │ │ ├── BasicJobTemplate.mustache │ │ │ │ ├── BasicJobTemplate.mustache.meta │ │ │ │ ├── BootstrapTemplate.mustache │ │ │ │ ├── BootstrapTemplate.mustache.meta │ │ │ │ ├── ComponentDataJobTemplate.mustache │ │ │ │ ├── ComponentDataJobTemplate.mustache.meta │ │ │ │ ├── ComponentDataTemplate.mustache │ │ │ │ ├── ComponentDataTemplate.mustache.meta │ │ │ │ ├── ComponentSystemTemplate.mustache │ │ │ │ ├── ComponentSystemTemplate.mustache.meta │ │ │ │ ├── JobComponentSystemTemplate.mustache │ │ │ │ ├── JobComponentSystemTemplate.mustache.meta │ │ │ │ ├── NativeMultiHashMapJobTemplate.mustache │ │ │ │ ├── NativeMultiHashMapJobTemplate.mustache.meta │ │ │ │ ├── ParallelJobTemplate.mustache │ │ │ │ ├── ParallelJobTemplate.mustache.meta │ │ │ │ ├── SharedComponentDataTemplate.mustache │ │ │ │ └── SharedComponentDataTemplate.mustache.meta │ │ ├── DisableSystems.cs │ │ ├── DisableSystems.cs.meta │ │ ├── EntitySystemDebuggerWindow.cs │ │ ├── EntitySystemDebuggerWindow.cs.meta │ │ ├── Fields.meta │ │ ├── Fields │ │ │ ├── BoolField.cs │ │ │ ├── BoolField.cs.meta │ │ │ ├── EnumField.cs │ │ │ ├── EnumField.cs.meta │ │ │ ├── FloatField.cs │ │ │ ├── FloatField.cs.meta │ │ │ ├── IntField.cs │ │ │ ├── IntField.cs.meta │ │ │ ├── MaskField.cs │ │ │ ├── MaskField.cs.meta │ │ │ ├── MaterialField.cs │ │ │ ├── MaterialField.cs.meta │ │ │ ├── MeshField.cs │ │ │ ├── MeshField.cs.meta │ │ │ ├── StringField.cs │ │ │ └── StringField.cs.meta │ │ ├── SystemPropertiesView.cs │ │ ├── SystemPropertiesView.cs.meta │ │ ├── SystemTreeView.cs │ │ ├── SystemTreeView.cs.meta │ │ ├── Utils.meta │ │ └── Utils │ │ │ ├── AverageRecorder.cs │ │ │ ├── AverageRecorder.cs.meta │ │ │ ├── CircularBuffer.cs │ │ │ ├── CircularBuffer.cs.meta │ │ │ ├── Mustachio.meta │ │ │ ├── Mustachio │ │ │ ├── ContextObject.cs │ │ │ ├── ContextObject.cs.meta │ │ │ ├── ExtendedParseInformation.cs │ │ │ ├── ExtendedParseInformation.cs.meta │ │ │ ├── IndexedParseException.cs │ │ │ ├── IndexedParseException.cs.meta │ │ │ ├── InferredTemplateModel.cs │ │ │ ├── InferredTemplateModel.cs.meta │ │ │ ├── ParseException.cs │ │ │ ├── ParseException.cs.meta │ │ │ ├── Parser.cs │ │ │ ├── Parser.cs.meta │ │ │ ├── ParsingOptions.cs │ │ │ ├── ParsingOptions.cs.meta │ │ │ ├── TokenPair.cs │ │ │ ├── TokenPair.cs.meta │ │ │ ├── Tokenizer.cs │ │ │ └── Tokenizer.cs.meta │ │ │ ├── StringUtils.cs │ │ │ └── StringUtils.cs.meta │ │ ├── Resources.meta │ │ └── Resources │ │ ├── ESDSkin.guiskin │ │ ├── ESDSkin.guiskin.meta │ │ ├── green.psd │ │ ├── green.psd.meta │ │ ├── grey.psd │ │ ├── grey.psd.meta │ │ ├── orange.psd │ │ ├── orange.psd.meta │ │ ├── red.psd │ │ └── red.psd.meta │ ├── NavJob.meta │ └── NavJob │ ├── Components.meta │ ├── Components │ ├── NavAagentAvoidanceComponent.cs │ ├── NavAagentAvoidanceComponent.cs.meta │ ├── NavAgentComponent.cs │ ├── NavAgentComponent.cs.meta │ ├── SyncPositionFromNavAgentComponent.cs │ ├── SyncPositionFromNavAgentComponent.cs.meta │ ├── SyncPositionToNavAgentComponent.cs │ ├── SyncPositionToNavAgentComponent.cs.meta │ ├── SyncRotationFromNavAgentComponent.cs │ ├── SyncRotationFromNavAgentComponent.cs.meta │ ├── SyncRotationToNavAgentComponent.cs │ └── SyncRotationToNavAgentComponent.cs.meta │ ├── Systems.meta │ └── Systems │ ├── NavAgentAvoidanceSystem.cs │ ├── NavAgentAvoidanceSystem.cs.meta │ ├── NavAgentSyncSystem.cs │ ├── NavAgentSyncSystem.cs.meta │ ├── NavAgentSystem.cs │ ├── NavAgentSystem.cs.meta │ ├── NavMeshQuerySystem.cs │ └── NavMeshQuerySystem.cs.meta ├── LICENSE ├── Packages └── manifest.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset └── UnityConnectSettings.asset ├── Readme.md └── UIElementsSchema ├── UIElements.xsd ├── UnityEditor.Experimental.UIElements.xsd ├── UnityEditor.PackageManager.UI.xsd └── UnityEngine.Experimental.UIElements.xsd /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | /Assets/AssetStoreTools* 7 | 8 | # Autogenerated VS/MD solution and project files 9 | ExportedObj/ 10 | *.csproj 11 | *.unityproj 12 | *.sln 13 | *.suo 14 | *.tmp 15 | *.user 16 | *.userprefs 17 | *.pidb 18 | *.booproj 19 | *.svd 20 | 21 | 22 | # Unity3D generated meta files 23 | *.pidb.meta 24 | 25 | # Unity3D Generated File On Crash Reports 26 | sysinfo.txt 27 | .vscode/workspace.code-workspace 28 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Unity Editor", 9 | "type": "unity", 10 | "request": "launch" 11 | }, 12 | { 13 | "name": "Windows Player", 14 | "type": "unity", 15 | "request": "launch" 16 | }, 17 | { 18 | "name": "OSX Player", 19 | "type": "unity", 20 | "request": "launch" 21 | }, 22 | { 23 | "name": "Linux Player", 24 | "type": "unity", 25 | "request": "launch" 26 | }, 27 | { 28 | "name": "iOS Player", 29 | "type": "unity", 30 | "request": "launch" 31 | }, 32 | { 33 | "name": "Android Player", 34 | "type": "unity", 35 | "request": "launch" 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.exclude": { 3 | "**/.DS_Store": true, 4 | "**/.git": true, 5 | "**/.gitignore": false, 6 | "**/.gitmodules": true, 7 | "**/*.booproj": true, 8 | "**/*.pidb": true, 9 | "**/*.suo": true, 10 | "**/*.user": true, 11 | "**/*.userprefs": true, 12 | "**/*.unityproj": true, 13 | "**/*.dll": true, 14 | "**/*.exe": true, 15 | "**/*.pdf": true, 16 | "**/*.mid": true, 17 | "**/*.midi": true, 18 | "**/*.wav": true, 19 | "**/*.gif": true, 20 | "**/*.ico": true, 21 | "**/*.jpg": true, 22 | "**/*.jpeg": true, 23 | "**/*.png": true, 24 | "**/*.psd": true, 25 | "**/*.tga": true, 26 | "**/*.tif": true, 27 | "**/*.tiff": true, 28 | "**/*.3ds": true, 29 | "**/*.3DS": true, 30 | "**/*.fbx": true, 31 | "**/*.FBX": true, 32 | "**/*.lxo": true, 33 | "**/*.LXO": true, 34 | "**/*.ma": true, 35 | "**/*.MA": true, 36 | "**/*.obj": true, 37 | "**/*.OBJ": true, 38 | "**/*.asset": false, 39 | "**/*.cubemap": true, 40 | "**/*.flare": true, 41 | "**/*.mat": true, 42 | "**/*.meta": true, 43 | "**/*.prefab": true, 44 | "**/*.unity": true, 45 | "build/": true, 46 | "Build/": true, 47 | "Library/": true, 48 | "library/": true, 49 | "obj/": true, 50 | "Obj/": true, 51 | "ProjectSettings/": true, 52 | "temp/": true, 53 | "Temp/": true 54 | }, 55 | "editor.formatOnSave": true 56 | } -------------------------------------------------------------------------------- /Assets/AnimationBaker.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b1a352f7b85c52e4e943b66af1b321c2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/AnimatorBootstrap.cs: -------------------------------------------------------------------------------- 1 | using Unity.Entities; 2 | using AnimationBaker.Components; 3 | using AnimationBaker.Interfaces; 4 | using AnimationBaker.StateMachine; 5 | using AnimationBaker.Systems; 6 | 7 | namespace AnimationBaker 8 | { 9 | public static class AnimatorBootstrap 10 | { 11 | public static AnimatorSystem Create(World world, StateGraph graph) where T : struct, IUnitState 12 | { 13 | var animator = world.GetOrCreateManager>(); 14 | animator.StateGraph = graph; 15 | return animator; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/AnimatorBootstrap.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5cf779d9e51086f4289e9dda86cf7b96 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7ea3f2341f08cee4fafdb27c59ffd698 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Components/StateMachineUnitComponent.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using Unity.Entities; 5 | 6 | namespace AnimationBaker.Components 7 | { 8 | [System.Serializable] 9 | public struct StateMachineUnit : IComponentData 10 | { 11 | public Matrix4x4 Matrix; 12 | public float YPos; 13 | } 14 | 15 | [System.Serializable] 16 | [RequireComponent(typeof(GameObjectEntity))] 17 | public class StateMachineUnitComponent : ComponentDataWrapper { } 18 | } 19 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Components/StateMachineUnitComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6d2a76aa003bd847970fd105877d324 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e6d4a8646a90ed4e8c2cb9f81ba0e15 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Editor/RenderTextureToTexture2D.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace AnimationBaker 4 | { 5 | public class RenderTextureToTexture2D 6 | { 7 | public static Texture2D Convert (RenderTexture rt) 8 | { 9 | TextureFormat format; 10 | 11 | switch (rt.format) 12 | { 13 | case RenderTextureFormat.ARGBFloat: 14 | format = TextureFormat.RGBAFloat; 15 | break; 16 | case RenderTextureFormat.ARGBHalf: 17 | format = TextureFormat.RGBAHalf; 18 | break; 19 | case RenderTextureFormat.ARGBInt: 20 | format = TextureFormat.RGBA32; 21 | break; 22 | case RenderTextureFormat.ARGB32: 23 | format = TextureFormat.ARGB32; 24 | break; 25 | default: 26 | format = TextureFormat.ARGB32; 27 | Debug.LogWarning ("Unsuported RenderTextureFormat."); 28 | break; 29 | } 30 | 31 | return Convert (rt, format); 32 | } 33 | 34 | static Texture2D Convert (RenderTexture rt, TextureFormat format) 35 | { 36 | var tex2d = new Texture2D (rt.width, rt.height, format, false); 37 | var rect = Rect.MinMaxRect (0f, 0f, tex2d.width, tex2d.height); 38 | RenderTexture.active = rt; 39 | tex2d.ReadPixels (rect, 0, 0); 40 | RenderTexture.active = null; 41 | return tex2d; 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /Assets/AnimationBaker/Editor/RenderTextureToTexture2D.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d4d5639421f7f14d87c1b2fa7586c3a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Interfaces.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ccb15ffbf659754293028fa567ee33c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Interfaces/IUnitState.cs: -------------------------------------------------------------------------------- 1 | using Unity.Entities; 2 | 3 | namespace AnimationBaker.Interfaces 4 | { 5 | public interface IUnitState : IComponentData 6 | { 7 | float Runtime { get; set; } 8 | float StateTimer { get; set; } 9 | int CurrentState { get; set; } 10 | int PreviousState { get; set; } 11 | float this [int index] { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Interfaces/IUnitState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e4880baab7311c47a2f568bb39adaa3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bae740c61382a5545abaf04b02cb2cb9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 366305994df2cae44b5bc577c9a031dd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d9dd1a5f0c122da4c949ae47b23838f5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/flower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/flower.png -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/flower.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a51b2c50e374ad144a5e723bff7f03f0 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 5 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | grayScaleToAlpha: 0 25 | generateCubemap: 6 26 | cubemapConvolution: 0 27 | seamlessCubemap: 0 28 | textureFormat: 1 29 | maxTextureSize: 2048 30 | textureSettings: 31 | serializedVersion: 2 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapU: -1 36 | wrapV: -1 37 | wrapW: -1 38 | nPOTScale: 1 39 | lightmap: 0 40 | compressionQuality: 50 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spritePixelsToUnits: 100 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spriteGenerateFallbackPhysicsShape: 1 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | singleChannelComponent: 0 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - serializedVersion: 2 60 | buildTarget: DefaultTexturePlatform 61 | maxTextureSize: 2048 62 | resizeAlgorithm: 0 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | androidETC2FallbackOverride: 0 70 | spriteSheet: 71 | serializedVersion: 2 72 | sprites: [] 73 | outline: [] 74 | physicsShape: [] 75 | bones: [] 76 | spriteID: 77 | vertices: [] 78 | indices: 79 | edges: [] 80 | weights: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/leafless-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/leafless-tree.png -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/leafless-tree.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 896ff2d470bc91049bfd0674994cd353 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 5 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | grayScaleToAlpha: 0 25 | generateCubemap: 6 26 | cubemapConvolution: 0 27 | seamlessCubemap: 0 28 | textureFormat: 1 29 | maxTextureSize: 2048 30 | textureSettings: 31 | serializedVersion: 2 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapU: -1 36 | wrapV: -1 37 | wrapW: -1 38 | nPOTScale: 1 39 | lightmap: 0 40 | compressionQuality: 50 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spritePixelsToUnits: 100 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spriteGenerateFallbackPhysicsShape: 1 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | singleChannelComponent: 0 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - serializedVersion: 2 60 | buildTarget: DefaultTexturePlatform 61 | maxTextureSize: 2048 62 | resizeAlgorithm: 0 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | androidETC2FallbackOverride: 0 70 | spriteSheet: 71 | serializedVersion: 2 72 | sprites: [] 73 | outline: [] 74 | physicsShape: [] 75 | bones: [] 76 | spriteID: 77 | vertices: [] 78 | indices: 79 | edges: [] 80 | weights: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves.png -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ba4718ef5d841d46920c84ba48abbef 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 5 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | grayScaleToAlpha: 0 25 | generateCubemap: 6 26 | cubemapConvolution: 0 27 | seamlessCubemap: 0 28 | textureFormat: 1 29 | maxTextureSize: 2048 30 | textureSettings: 31 | serializedVersion: 2 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapU: -1 36 | wrapV: -1 37 | wrapW: -1 38 | nPOTScale: 1 39 | lightmap: 0 40 | compressionQuality: 50 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spritePixelsToUnits: 100 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spriteGenerateFallbackPhysicsShape: 1 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | singleChannelComponent: 0 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - serializedVersion: 2 60 | buildTarget: DefaultTexturePlatform 61 | maxTextureSize: 2048 62 | resizeAlgorithm: 0 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | androidETC2FallbackOverride: 0 70 | spriteSheet: 71 | serializedVersion: 2 72 | sprites: [] 73 | outline: [] 74 | physicsShape: [] 75 | bones: [] 76 | spriteID: 77 | vertices: [] 78 | indices: 79 | edges: [] 80 | weights: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves_green.png -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves_green.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac4e53d2f79cdcc4c9bd4fd803b0e9e2 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 5 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | grayScaleToAlpha: 0 25 | generateCubemap: 6 26 | cubemapConvolution: 0 27 | seamlessCubemap: 0 28 | textureFormat: 1 29 | maxTextureSize: 2048 30 | textureSettings: 31 | serializedVersion: 2 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapU: -1 36 | wrapV: -1 37 | wrapW: -1 38 | nPOTScale: 1 39 | lightmap: 0 40 | compressionQuality: 50 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spritePixelsToUnits: 100 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spriteGenerateFallbackPhysicsShape: 1 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | singleChannelComponent: 0 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - serializedVersion: 2 60 | buildTarget: DefaultTexturePlatform 61 | maxTextureSize: 2048 62 | resizeAlgorithm: 0 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | androidETC2FallbackOverride: 0 70 | spriteSheet: 71 | serializedVersion: 2 72 | sprites: [] 73 | outline: [] 74 | physicsShape: [] 75 | bones: [] 76 | spriteID: 77 | vertices: [] 78 | indices: 79 | edges: [] 80 | weights: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves_purple.png -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves_purple.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 873f7d569e0729d4e99eba96ca2609e2 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 5 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | grayScaleToAlpha: 0 25 | generateCubemap: 6 26 | cubemapConvolution: 0 27 | seamlessCubemap: 0 28 | textureFormat: 1 29 | maxTextureSize: 2048 30 | textureSettings: 31 | serializedVersion: 2 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapU: -1 36 | wrapV: -1 37 | wrapW: -1 38 | nPOTScale: 1 39 | lightmap: 0 40 | compressionQuality: 50 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spritePixelsToUnits: 100 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spriteGenerateFallbackPhysicsShape: 1 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | singleChannelComponent: 0 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - serializedVersion: 2 60 | buildTarget: DefaultTexturePlatform 61 | maxTextureSize: 2048 62 | resizeAlgorithm: 0 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | androidETC2FallbackOverride: 0 70 | spriteSheet: 71 | serializedVersion: 2 72 | sprites: [] 73 | outline: [] 74 | physicsShape: [] 75 | bones: [] 76 | spriteID: 77 | vertices: [] 78 | indices: 79 | edges: [] 80 | weights: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves_red.png -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/leaves_red.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c9c72e4fae334142ac5df8dc30ee412 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 5 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | grayScaleToAlpha: 0 25 | generateCubemap: 6 26 | cubemapConvolution: 0 27 | seamlessCubemap: 0 28 | textureFormat: 1 29 | maxTextureSize: 2048 30 | textureSettings: 31 | serializedVersion: 2 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapU: -1 36 | wrapV: -1 37 | wrapW: -1 38 | nPOTScale: 1 39 | lightmap: 0 40 | compressionQuality: 50 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spritePixelsToUnits: 100 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spriteGenerateFallbackPhysicsShape: 1 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | singleChannelComponent: 0 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - serializedVersion: 2 60 | buildTarget: DefaultTexturePlatform 61 | maxTextureSize: 2048 62 | resizeAlgorithm: 0 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | androidETC2FallbackOverride: 0 70 | spriteSheet: 71 | serializedVersion: 2 72 | sprites: [] 73 | outline: [] 74 | physicsShape: [] 75 | bones: [] 76 | spriteID: 77 | vertices: [] 78 | indices: 79 | edges: [] 80 | weights: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/sprout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/sprout.png -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/sprout.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e105c382d349904e88b6ba95765e4fe 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 5 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | grayScaleToAlpha: 0 25 | generateCubemap: 6 26 | cubemapConvolution: 0 27 | seamlessCubemap: 0 28 | textureFormat: 1 29 | maxTextureSize: 2048 30 | textureSettings: 31 | serializedVersion: 2 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapU: -1 36 | wrapV: -1 37 | wrapW: -1 38 | nPOTScale: 1 39 | lightmap: 0 40 | compressionQuality: 50 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spritePixelsToUnits: 100 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spriteGenerateFallbackPhysicsShape: 1 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | singleChannelComponent: 0 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - serializedVersion: 2 60 | buildTarget: DefaultTexturePlatform 61 | maxTextureSize: 2048 62 | resizeAlgorithm: 0 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | androidETC2FallbackOverride: 0 70 | spriteSheet: 71 | serializedVersion: 2 72 | sprites: [] 73 | outline: [] 74 | physicsShape: [] 75 | bones: [] 76 | spriteID: 77 | vertices: [] 78 | indices: 79 | edges: [] 80 | weights: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/xnode_dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/xnode_dot.png -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/xnode_dot_outer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/xnode_dot_outer.png -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/xnode_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/xnode_node.png -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/xnode_node_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/xnode_node_highlight.png -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Images/xnode_node_workfile.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/AnimationBaker/Resources/AnimationBaker/Images/xnode_node_workfile.psd -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06da53e52ece8394fa5a065713222171 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Shaders/LitBakedStatePlayer.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85c90f30ad9dc9b438861a2b52242b58 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Shaders/MeshInfoTextureGen.compute: -------------------------------------------------------------------------------- 1 | // Each #kernel tells which function to compile; you can have many kernels 2 | #pragma kernel CSMain 3 | 4 | struct MeshInfo{ 5 | float3 position; 6 | float3 normal; 7 | float extra; 8 | }; 9 | 10 | // Create a RenderTexture with enableRandomWrite flag and set it 11 | // with cs.SetTexture 12 | RWTexture2D OutPosition; 13 | RWTexture2D OutNormal; 14 | StructuredBuffer Info; 15 | int VertCount; 16 | 17 | [numthreads(8,8,1)] 18 | void CSMain (uint3 id : SV_DispatchThreadID) 19 | { 20 | int index = id.y * VertCount + id.x; 21 | MeshInfo info = Info[index]; 22 | OutPosition[id.xy] = float4(info.position, info.extra); 23 | OutNormal[id.xy] = float4(info.normal, 1.0); 24 | } 25 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Shaders/MeshInfoTextureGen.compute.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25bbb63802b5fb245bdffba3ad685133 3 | ComputeShaderImporter: 4 | externalObjects: {} 5 | currentAPIMask: 4 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Resources/AnimationBaker/Shaders/UnlitBakedStatePlayer.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6bf24727227b914dacb78184734d067 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19c01dd0a2c1f6e4f9bac7a64fa64b00 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7877cba06717a0444afe7d3021b057d8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Editor/BaseNodeEditor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using UnityEngine; 6 | using UnityEditor; 7 | using AnimationBaker.StateMachine.Nodes; 8 | using AnimationBaker.StateMachine.XNode; 9 | using AnimationBaker.StateMachine.XNodeEditor; 10 | 11 | namespace AnimationBaker.StateMachine.Editor 12 | { 13 | [CustomNodeEditor(typeof(BaseNode))] 14 | public class BaseNodeEditor : NodeEditor 15 | { 16 | 17 | public override void OnHeaderGUI() 18 | { 19 | GUI.color = Color.white; 20 | base.OnHeaderGUI(); 21 | } 22 | 23 | public override void OnBodyGUI() 24 | { 25 | BaseNode node = target as BaseNode; 26 | StateGraph graph = node.graph as StateGraph; 27 | 28 | base.OnBodyGUI(); 29 | 30 | NodePort input = null; 31 | if (node.InstanceInputs.Count() > 0) 32 | { 33 | input = node.InstanceInputs.First(); 34 | } 35 | NodePort output = null; 36 | if (node.InstanceOutputs.Count() > 0) 37 | { 38 | output = node.InstanceOutputs.First(); 39 | } 40 | if (input == null) 41 | { 42 | NodeEditorGUILayout.VerticalPortField(null, output); 43 | } 44 | else if (output == null) 45 | { 46 | NodeEditorGUILayout.VerticalPortField(null, input); 47 | } 48 | else 49 | { 50 | NodeEditorGUILayout.VerticalPortPair(input, output); 51 | } 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Editor/BaseNodeEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af690577932bcf2498710389fba89489 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Editor/BaseNodeObjectEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bbf97c13661d870478548a1fd64987f1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Editor/StateGraphBaker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5adfa1256bd6a3f43a6732d2d1b89083 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Editor/StateGraphEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e63a4bdde9e14343aad16bba9500502 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Editor/StateGraphNodeEditor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using AnimationBaker.StateMachine.XNodeEditor; 5 | 6 | namespace AnimationBaker.StateMachine.Editor 7 | { 8 | [CustomNodeGraphEditor(typeof(StateGraph))] 9 | public class StateGraphNodeEditor : NodeGraphEditor 10 | { 11 | public override string GetNodeMenuName(System.Type type) 12 | { 13 | if (type.Namespace == "AnimationBaker.StateMachine.Nodes") 14 | { 15 | return base.GetNodeMenuName(type).Replace("Animation Baker/State Machine/Nodes/", ""); 16 | } 17 | else return null; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Editor/StateGraphNodeEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d21f9f67747d8cc4ebb798a4e8e9217b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Editor/StateGraphPreview.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 135a17e7aa835944991e11695064a78c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Nodes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b309efdc68caed4e84cf27e4d3348a0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Nodes/AnyNode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using AnimationBaker.StateMachine.XNode; 6 | 7 | namespace AnimationBaker.StateMachine.Nodes 8 | { 9 | [System.Serializable] 10 | [NodeTint("#005455")] 11 | public class AnyNode : BaseNode 12 | { 13 | public override bool HasState { get => true; } 14 | 15 | public Empty Output; 16 | 17 | public override NodeType NodeType 18 | { 19 | get => NodeType.Any; 20 | set { } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Nodes/AnyNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bca76dc2279295a48b82936728ab0db2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 873f7d569e0729d4e99eba96ca2609e2, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Nodes/BaseNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a6be9e3bfaee334885d3194b1ebddec 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 8ba4718ef5d841d46920c84ba48abbef, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Nodes/EndNode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using AnimationBaker.StateMachine.XNode; 6 | 7 | namespace AnimationBaker.StateMachine.Nodes 8 | { 9 | [System.Serializable] 10 | [NodeTint("#7c0000")] 11 | public class EndNode : BaseNode 12 | { 13 | public Empty Output; 14 | 15 | public override NodeType NodeType 16 | { 17 | get => NodeType.End; 18 | set { } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Nodes/EndNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d0130d41888c1a48bb8d4cf1310976f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 9c9c72e4fae334142ac5df8dc30ee412, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Nodes/StartNode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using AnimationBaker.StateMachine.XNode; 6 | 7 | namespace AnimationBaker.StateMachine.Nodes 8 | { 9 | [System.Serializable] 10 | [NodeTint("#008000")] 11 | public class StartNode : BaseNode 12 | { 13 | public Empty Output; 14 | 15 | public override NodeType NodeType 16 | { 17 | get => NodeType.Start; 18 | set { } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Nodes/StartNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b14cea0540360349b44b01a32e15f28 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: ac4e53d2f79cdcc4c9bd4fd803b0e9e2, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Nodes/StateNode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | #if UNITY_EDITOR 6 | using UnityEditor; 7 | #endif 8 | using AnimationBaker.StateMachine.XNode; 9 | 10 | namespace AnimationBaker.StateMachine.Nodes 11 | { 12 | [System.Serializable] 13 | [NodeTint("#767d80")] 14 | public class StateNode : BaseNode 15 | { 16 | public override bool HasState { get => true; } 17 | 18 | public override NodeType NodeType 19 | { 20 | get => NodeType.State; 21 | set { } 22 | } 23 | 24 | public void Rename(string newName) 25 | { 26 | #if UNITY_EDITOR 27 | name = newName; 28 | AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(this)); 29 | #endif 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/Nodes/StateNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0894a04e6b93a594e8b4cdfdc3bc6c72 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 8ba4718ef5d841d46920c84ba48abbef, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/ScriptableObjects.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c735cdb0f7167894f894a3ec424930a1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/ScriptableObjects/RendererData.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | using AnimationBaker.StateMachine; 4 | 5 | namespace AnimationBaker.StateMachine.ScriptableObjects 6 | { 7 | public class RendererData : ScriptableObject 8 | { 9 | public Mesh Mesh; 10 | public int SubMeshCount; 11 | public Material[] Materials; 12 | public ShadowCastingMode ShadowCastingMode; 13 | public bool ReceivesShadows; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/ScriptableObjects/RendererData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a89f0b19be2117f468c953deaf88294e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/StateGraph.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6cf40de361d327f429cd45de039d9fb6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 100 8 | icon: {fileID: 2800000, guid: 896ff2d470bc91049bfd0674994cd353, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c0f564cd3c67f242a9f87a24d278335 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 479c59fbcb8310a46ac0cc9161383edc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 712c3fc5d9eeb4c45b1e23918df6018f 3 | timeCreated: 1505462176 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditorAction.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa7d4286bf0ad2e4086252f2893d2cf5 3 | timeCreated: 1505426655 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditorAssetModProcessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e515e86efe8160243a68b7c06d730c9c 3 | timeCreated: 1507982232 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditorBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Reflection; 5 | using UnityEngine; 6 | using UnityEditor; 7 | 8 | namespace AnimationBaker.StateMachine.XNodeEditor.Internal 9 | { 10 | /// Handles caching of custom editor classes and their target types. Accessible with GetEditor(Type type) 11 | public class NodeEditorBase where A : Attribute, NodeEditorBase.INodeEditorAttrib where T : NodeEditorBase where K : ScriptableObject 12 | { 13 | /// Custom editors defined with [CustomNodeEditor] 14 | private static Dictionary editors; 15 | public K target; 16 | public SerializedObject serializedObject; 17 | 18 | public static T GetEditor(K target) 19 | { 20 | if (target == null) return null; 21 | Type type = target.GetType(); 22 | T editor = GetEditor(type); 23 | editor.target = target; 24 | editor.serializedObject = new SerializedObject(target); 25 | return editor; 26 | } 27 | 28 | private static T GetEditor(Type type) 29 | { 30 | if (type == null) return null; 31 | if (editors == null) CacheCustomEditors(); 32 | if (editors.ContainsKey(type)) return editors[type]; 33 | //If type isn't found, try base type 34 | return GetEditor(type.BaseType); 35 | } 36 | 37 | private static void CacheCustomEditors() 38 | { 39 | editors = new Dictionary(); 40 | 41 | //Get all classes deriving from NodeEditor via reflection 42 | Type[] nodeEditors = AnimationBaker.StateMachine.XNodeEditor.NodeEditorWindow.GetDerivedTypes(typeof(T)); 43 | for (int i = 0; i < nodeEditors.Length; i++) 44 | { 45 | var attribs = nodeEditors[i].GetCustomAttributes(typeof(A), false); 46 | if (attribs == null || attribs.Length == 0) continue; 47 | if (nodeEditors[i].IsAbstract) continue; 48 | A attrib = attribs[0] as A; 49 | editors.Add(attrib.GetInspectedType(), Activator.CreateInstance(nodeEditors[i]) as T); 50 | } 51 | } 52 | 53 | public interface INodeEditorAttrib 54 | { 55 | Type GetInspectedType(); 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditorBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e85122ded59aceb4eb4b1bd9d9202642 3 | timeCreated: 1511353946 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditorGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 756276bfe9a0c2f4da3930ba1964f58d 3 | timeCreated: 1505420917 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditorGUILayout.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d6c2d118d1c77948a23f2f4a34d1f64 3 | timeCreated: 1507966608 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditorPreferences.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b1f47e387a6f714c9f2ff82a6888c85 3 | timeCreated: 1507920216 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditorReflection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c78a0fa4a13abcd408ebe73006b7b1bb 3 | timeCreated: 1505419458 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditorResources.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69f55d341299026489b29443c3dd13d1 3 | timeCreated: 1505418919 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditorUtilities.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 120960fe5b50aba418a8e8ad3c4c4bc8 3 | timeCreated: 1506073499 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeEditorWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ce2bf59ec7a25c4ba691cad7819bf38 3 | timeCreated: 1505418450 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/NodeGraphEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ddcbb5432255d3247a0718b15a9c193c 3 | timeCreated: 1505462176 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Editor/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 964fc201163fe884ca6a20094b6f3b49 3 | folderAsset: yes 4 | timeCreated: 1506110871 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/Node.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 240cab78c7647d447b727fda334857d6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/NodeConnection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13243139ef76c6d4ebb738942054cc6d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/NodeDataCache.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a61d36849fe694041b150e1e606372e8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/NodeGraph.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d87fea3c8b37ae442a4483d5d184c61b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/NodeGraphVariable.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace AnimationBaker.StateMachine.XNode 4 | { 5 | [System.Serializable] 6 | public class NodeGraphVariable : ScriptableObject 7 | { 8 | public VariableType VariableType = VariableType.Boolean; 9 | public float DefaultFloatVal; 10 | public int DefaultIntVal; 11 | public bool DefaultBoolVal; 12 | public bool RuntimeTriggerVal { get; set; } 13 | public float RuntimeFloatVal { get; set; } 14 | public int RuntimeIntVal { get; set; } 15 | public bool RuntimeBoolVal { get; set; } 16 | } 17 | 18 | [System.Serializable] 19 | public enum VariableType 20 | { 21 | Integer, 22 | Float, 23 | Boolean, 24 | Trigger 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/NodeGraphVariable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b1664fa262e3d8d4790e21d889ec6b48 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: a51b2c50e374ad144a5e723bff7f03f0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/NodePort.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b3f5d5e582beed498e00f1f2895bcca 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/StateMachine/xNode/TransitionRule.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 902413581e9c8cd4882fcf40fff1b2f7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 5e105c382d349904e88b6ba95765e4fe, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Systems.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc80a4820fee3314993cc9c0446eea34 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Systems/AnimatorRendererSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0af1e4124c1cfc044a27d50af30dc03f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Systems/AnimatorSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cde72d4eea3d2a844b7d9b6bb128ff45 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Systems/BaseAnimatorSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b399f1025f8412f478224d71d053a04d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Systems/SyncStateMachineUnitTransform.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Burst; 3 | using Unity.Collections; 4 | using Unity.Entities; 5 | using Unity.Jobs; 6 | using Unity.Transforms; 7 | using AnimationBaker.Components; 8 | 9 | namespace AnimationBaker.Systems 10 | { 11 | public class SyncStateMachineUnitTransforms : JobComponentSystem 12 | { 13 | [BurstCompile] 14 | struct UpdateUnitTransformPositionRotationJob : IJobProcessComponentData 15 | { 16 | public void Execute([WriteOnly] ref StateMachineUnit unit, [ReadOnly] ref Position position, [ReadOnly] ref Rotation rotation) 17 | { 18 | unit.Matrix = Matrix4x4.TRS(position.Value, rotation.Value, Vector3.one); 19 | } 20 | } 21 | 22 | protected override JobHandle OnUpdate(JobHandle inputDeps) 23 | { 24 | return new UpdateUnitTransformPositionRotationJob().Schedule(this, 64, inputDeps); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Systems/SyncStateMachineUnitTransform.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 087f7b283e52a4a4fbfbb4fd20e0743b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8497acb10d12af445abfcc89bbd6b456 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Utils/SerializableDictionary.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace AnimationBaker.Utils 6 | { 7 | [Serializable] 8 | public class SerializableDictionary : Dictionary, ISerializationCallbackReceiver 9 | { 10 | [SerializeField] 11 | private List keys = new List(); 12 | 13 | [SerializeField] 14 | private List values = new List(); 15 | 16 | // save the dictionary to lists 17 | public void OnBeforeSerialize() 18 | { 19 | keys.Clear(); 20 | values.Clear(); 21 | foreach (KeyValuePair pair in this) 22 | { 23 | keys.Add(pair.Key); 24 | values.Add(pair.Value); 25 | } 26 | } 27 | 28 | // load dictionary from lists 29 | public void OnAfterDeserialize() 30 | { 31 | this.Clear(); 32 | 33 | if (keys.Count != values.Count) 34 | return; 35 | 36 | for (int i = 0; i < keys.Count; i++) 37 | this.Add(keys[i], values[i]); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Utils/SerializableDictionary.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7be1c9624387604fba4005ccf7dbd5a 3 | timeCreated: 1492868176 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Utils/StringUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Text.RegularExpressions; 4 | using UnityEngine; 5 | using Microsoft.CSharp; 6 | 7 | namespace AnimationBaker.Utils 8 | { 9 | public static class StringUtils 10 | { 11 | public static string CreateFileName(string name) 12 | { 13 | name = StripNonAlphanumDot(name); 14 | if (!Char.IsUpper(name, 0)) 15 | { 16 | TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; 17 | name = textInfo.ToTitleCase(name); 18 | } 19 | var invalids = System.IO.Path.GetInvalidFileNameChars(); 20 | return String.Join("_", name.Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd('.'); 21 | } 22 | 23 | public static string StripNonAlphanumDot(string name) 24 | { 25 | Regex nonAlphanum = new Regex("[^a-zA-Z0-9.]"); 26 | name = nonAlphanum.Replace(name, ""); 27 | return name; 28 | } 29 | 30 | public static string ClampPath(string path, float width) 31 | { 32 | int len = (int) Mathf.Min(Mathf.RoundToInt(0.137f * width) + 3, width); 33 | var str = path; 34 | if (path.Length > len && len > 0) 35 | { 36 | var start = path.Length - len; 37 | var length = len; 38 | str = "..." + path.Substring(start, length); 39 | } 40 | return str; 41 | } 42 | 43 | public static string Combine(string path1, string path2) 44 | { 45 | return path1 + "/" + path2; 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Utils/StringUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc4ad228a7bc7944c9027f98e679d298 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Utils/Tex2dToPng.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | 6 | namespace AnimationBaker.Utils 7 | { 8 | public class Tex2dToPng 9 | { 10 | // [MenuItem("Custom/tex2png")] 11 | public static void SaveSelection() 12 | { 13 | var tex = (Texture2D) Selection.activeObject; 14 | if (tex == null) 15 | return; 16 | var pngData = tex.EncodeToPNG(); 17 | System.IO.File.WriteAllBytes(Application.dataPath + "/tex.png", pngData); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Assets/AnimationBaker/Utils/Tex2dToPng.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 058a759aa5afa9f48b0fa3415d5c0808 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4516f813751719e409fce179a29dfbc2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Base.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0812b8885617f0c45ae70706b08dbe2c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Base/Behaviours.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 015c0921cd67fee4493610f7b14e838b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Base/Behaviours/Spawner.cs: -------------------------------------------------------------------------------- 1 | // using System.Collections; 2 | // using System.Collections.Generic; 3 | // using UnityEngine; 4 | // using Unity.Entities; 5 | // using Example.Base.Systems; 6 | 7 | // namespace Example.Base.Behaviours 8 | // { 9 | // public class Spawner : MonoBehaviour 10 | // { 11 | 12 | // public int InitialSpawn = 1000; 13 | // public GameObject[] particles = new GameObject[0]; 14 | 15 | // public void Spawn(int quantity = 100) 16 | // { 17 | // World.Active.GetOrCreateManager().PendingSpawn += quantity; 18 | // } 19 | // } 20 | // } 21 | -------------------------------------------------------------------------------- /Assets/Example/Base/Behaviours/Spawner.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a416766881341564e8a96b42d1933881 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Base/Behaviours/UnitData.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Example.Base.Behaviours 4 | { 5 | [CreateAssetMenu(fileName = "UnitData", menuName = "Animation Baker Examples/Base Unit Data", order = 0)] 6 | public class UnitData : ScriptableObject 7 | { 8 | public float Health; 9 | public float Damage; 10 | public float AttackDistance; 11 | public int AttackParticle; 12 | public float MoveSpeed; 13 | public int Faction; 14 | public float AttackCooldown; 15 | public float HitCooldown; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Assets/Example/Base/Behaviours/UnitData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b723a5a6106db6546a2dab72e7bf7335 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Base/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53bac15aca64f6147ba4cfa44c526499 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Base/Components/IsDeadComponent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Entities; 3 | 4 | namespace Example.Base.Components 5 | { 6 | [System.Serializable] 7 | public struct IsDead : IComponentData 8 | { 9 | public float TimeOfDeath; 10 | } 11 | 12 | [System.Serializable] 13 | [RequireComponent(typeof(GameObjectEntity))] 14 | public class IsDeadComponent : ComponentDataWrapper { } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Example/Base/Components/IsDeadComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f3f65919db1e024b8117043b96797ec 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Base/Components/UnitComponent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Entities; 3 | 4 | namespace Example.Base.Components 5 | { 6 | public enum UnitState : short 7 | { 8 | FindTarget, 9 | Pathfinding, 10 | MoveInRange, 11 | Attacking, 12 | AttckCooldown, 13 | GotHit, 14 | HitCooldown, 15 | Dying, 16 | DyingCooldown, 17 | Dead, 18 | } 19 | 20 | [System.Serializable] 21 | public struct Unit : IComponentData 22 | { 23 | public int HasTarget; 24 | public int TargetIndex; 25 | public float MaxHealth; 26 | public float CurrentHealth; 27 | public float Damage; 28 | public float AttackDistance; 29 | public float MoveSpeed; 30 | public int Faction; 31 | public float NextRepath; 32 | public int HitSent; 33 | public float AttackDuration; 34 | public int AttackParticle; 35 | public float AttackDurationTimer; 36 | public float AttackCooldown; 37 | public float AttackCooldownTimer; 38 | public float HitCooldown; 39 | public float HitCooldownTimer; 40 | public float DyingCooldown; 41 | public float DyingCooldownTimer; 42 | public float DyingDisposeTimer; 43 | public float DeadOffset; 44 | public UnitState State; 45 | } 46 | 47 | [System.Serializable] 48 | [RequireComponent(typeof(GameObjectEntity))] 49 | public class UnitComponent : ComponentDataWrapper { } 50 | } 51 | -------------------------------------------------------------------------------- /Assets/Example/Base/Components/UnitComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 748c4b55fd7e7b84987e63373ccc3b2e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Base/Systems.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb3eb2eb3e8b1c242b37956650765823 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Base/Systems/RecycleDeadSystem.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Burst; 3 | using Unity.Collections; 4 | using Unity.Entities; 5 | using Unity.Jobs; 6 | using Example.Base.Components; 7 | 8 | namespace Example.Base.Systems 9 | { 10 | public class RecycleDeadSystem : JobComponentSystem 11 | { 12 | struct InjectData 13 | { 14 | public readonly int Length; 15 | public ComponentDataArray deads; 16 | [ReadOnly] public EntityArray entities; 17 | } 18 | 19 | [BurstCompile] 20 | struct RemoveDeadJob : IJobParallelFor 21 | { 22 | public float time; 23 | public EntityCommandBuffer.Concurrent buffer; 24 | [ReadOnly] public ComponentDataArray deads; 25 | [ReadOnly] public EntityArray entities; 26 | public void Execute(int index) 27 | { 28 | // remove after 10 seconds 29 | if (time > deads[index].TimeOfDeath + 10) 30 | buffer.DestroyEntity(entities[index]); 31 | } 32 | } 33 | 34 | [Inject] InjectData data; 35 | [Inject] RecycleDeadSystemBarrier barrier; 36 | protected override JobHandle OnUpdate(JobHandle inputDeps) 37 | { 38 | var buffer = barrier.CreateCommandBuffer(); 39 | return new RemoveDeadJob 40 | { 41 | buffer = barrier.CreateCommandBuffer(), 42 | time = Time.time, 43 | deads = data.deads, 44 | entities = data.entities 45 | }.Schedule(data.Length, 64, inputDeps); 46 | } 47 | } 48 | 49 | public class RecycleDeadSystemBarrier : BarrierSystem { } 50 | } 51 | -------------------------------------------------------------------------------- /Assets/Example/Base/Systems/RecycleDeadSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bd76b4a7614cc54b9d0534abc0391fe 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Base/Systems/SetTargetSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: faf42d8fc760f924cafd4590ea979dd3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Base/Systems/SpawnerSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5428b499dda4a19438b079a49e1a836a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Base/Systems/SyncNavAgentTransformSystem.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Burst; 3 | using Unity.Collections; 4 | using Unity.Entities; 5 | using Unity.Jobs; 6 | using Unity.Transforms; 7 | using NavJob.Components; 8 | using NavJob.Systems; 9 | 10 | namespace Example.Base.Systems 11 | { 12 | [UpdateAfter(typeof(NavAgentToPositionSyncSystem))] 13 | [DisableAutoCreation] 14 | [AlwaysUpdateSystem] 15 | public class SyncNavAgentTransformSystem : JobComponentSystem 16 | { 17 | 18 | [BurstCompile] 19 | public struct UpdateMatrixJob : IJobProcessComponentData 20 | { 21 | float dt; 22 | 23 | public UpdateMatrixJob(float dt) 24 | { 25 | this.dt = dt; 26 | } 27 | 28 | public void Execute([ReadOnly] ref NavAgent agent, ref TransformMatrix matrix) 29 | { 30 | matrix.Value = Matrix4x4.TRS(agent.position, agent.rotation, Vector3.one); 31 | } 32 | } 33 | 34 | protected override JobHandle OnUpdate(JobHandle inputDeps) 35 | { 36 | return new UpdateMatrixJob().Schedule(this, 64, inputDeps); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Assets/Example/Base/Systems/SyncNavAgentTransformSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3121d9280a29b943b5b39918a3a906e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61b611f9092b8ea489724ac18fb1991a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Archer.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: b723a5a6106db6546a2dab72e7bf7335, type: 3} 12 | m_Name: Archer 13 | m_EditorClassIdentifier: 14 | Mesh: {fileID: 4300000, guid: 89e85c2a3714d1d489d22fe93b88bc07, type: 2} 15 | Material: {fileID: 2100000, guid: ff8b285fc1078c44a8689cb460a6be83, type: 2} 16 | Health: 100 17 | Damage: 10 18 | AttackDistance: 5 19 | AttackParticle: 0 20 | MoveSpeed: 3 21 | Faction: 0 22 | AttackDuration: 0.5 23 | AttackCooldown: 3 24 | HitCooldown: 0.3 25 | DyingCooldown: 0.25 26 | DeadOffset: 0.9999 27 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Archer.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3206e25711a371a4fa56a81d5a33d3a2 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Cerberus.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: b723a5a6106db6546a2dab72e7bf7335, type: 3} 12 | m_Name: Cerberus 13 | m_EditorClassIdentifier: 14 | Mesh: {fileID: 4300000, guid: df083ca7c30905f46849852f50e83080, type: 2} 15 | Material: {fileID: 2100000, guid: 175a0455dd759bc4c9b6934ad130b353, type: 2} 16 | Health: 200 17 | Damage: 20 18 | AttackDistance: 1 19 | AttackParticle: 0 20 | MoveSpeed: 2 21 | Faction: 1 22 | AttackDuration: 1 23 | AttackCooldown: 3 24 | HitCooldown: 0.3 25 | DyingCooldown: 1 26 | DeadOffset: 0.9999 27 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Cerberus.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41f5615a92b6c374ead768f07687effc 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Diablous.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: b723a5a6106db6546a2dab72e7bf7335, type: 3} 12 | m_Name: Diablous 13 | m_EditorClassIdentifier: 14 | Mesh: {fileID: 4300000, guid: 1d7b2b14d59fc8849bde8c6684a451e9, type: 2} 15 | Material: {fileID: 2100000, guid: 7bd8d9b0ec6640542bb8cabe57048edd, type: 2} 16 | Health: 100 17 | Damage: 10 18 | AttackDistance: 3 19 | AttackParticle: 1 20 | MoveSpeed: 3 21 | Faction: 1 22 | AttackDuration: 1 23 | AttackCooldown: 3 24 | HitCooldown: 0.3 25 | DyingCooldown: 1 26 | DeadOffset: 0.9999 27 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Diablous.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e76b0e420986b924f8ad5e382271cd93 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Knight.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: b723a5a6106db6546a2dab72e7bf7335, type: 3} 12 | m_Name: Knight 13 | m_EditorClassIdentifier: 14 | Mesh: {fileID: 4300000, guid: 69a30832a91e7ab448985ba4e6196856, type: 3} 15 | Material: {fileID: 2100000, guid: d068f9ea594ec6840a2e808af8c6a4b0, type: 2} 16 | Health: 200 17 | Damage: 20 18 | AttackDistance: 1 19 | AttackParticle: 0 20 | MoveSpeed: 2 21 | Faction: 0 22 | AttackDuration: 1 23 | AttackCooldown: 2 24 | HitCooldown: 0.3 25 | DyingCooldown: 0.4 26 | DeadOffset: 0.95 27 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Knight.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 037ea968fc8fc2a4fbeecf010eab791e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Mage.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: b723a5a6106db6546a2dab72e7bf7335, type: 3} 12 | m_Name: Mage 13 | m_EditorClassIdentifier: 14 | Mesh: {fileID: 4300000, guid: 851a3629ab38d0047ac29342ee0dffe3, type: 2} 15 | Material: {fileID: 2100000, guid: 68198f06712d2b2488928155ddfbbc5b, type: 2} 16 | Health: 100 17 | Damage: 20 18 | AttackDistance: 15 19 | AttackParticle: 2 20 | MoveSpeed: 1 21 | Faction: 0 22 | AttackDuration: 1 23 | AttackCooldown: 5 24 | HitCooldown: 0.3 25 | DyingCooldown: 0.5 26 | DeadOffset: 0.9999 27 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Mage.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb0ae56052e36cb4a80075bd131dbed4 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Sorceress.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: b723a5a6106db6546a2dab72e7bf7335, type: 3} 12 | m_Name: Sorceress 13 | m_EditorClassIdentifier: 14 | Mesh: {fileID: 4300000, guid: b95d6801a926c5b4d9047a5ea64b7ee6, type: 2} 15 | Material: {fileID: 2100000, guid: 9f56bae8f1f7da143a2c412bad3f1e50, type: 2} 16 | Health: 100 17 | Damage: 20 18 | AttackDistance: 10 19 | AttackParticle: 3 20 | MoveSpeed: 1 21 | Faction: 1 22 | AttackDuration: 2.5 23 | AttackCooldown: 5 24 | HitCooldown: 0.3 25 | DyingCooldown: 1 26 | DeadOffset: 0.9999 27 | -------------------------------------------------------------------------------- /Assets/Example/Base/UnitData/Sorceress.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3c730050dae7884fad6b8c0f329c635 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8be51ed2b054fd94abd0a6fe7a295c0c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Materials/Ground.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25ba8e1765798e14388226f7f184db3e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89fbd0949bcb0574a83fad745c222b9b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Archer.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Archer.blend -------------------------------------------------------------------------------- /Assets/Example/Models/BlenderImporter.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 431b88239632e994db9c60d12ad17681 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Cerberus.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Cerberus.blend -------------------------------------------------------------------------------- /Assets/Example/Models/Credits.txt: -------------------------------------------------------------------------------- 1 | https://opengameart.org/users/botanic -------------------------------------------------------------------------------- /Assets/Example/Models/Credits.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef8a64bd76a11a04db8354cdb2f1c133 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Example/Models/Diablous.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Diablous.blend -------------------------------------------------------------------------------- /Assets/Example/Models/Knight.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Knight.blend -------------------------------------------------------------------------------- /Assets/Example/Models/Mage.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Mage.blend -------------------------------------------------------------------------------- /Assets/Example/Models/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3318c883dc00f84438f73829fd132abb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Archer.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc72489f46c54214cbbc7c64ce77483f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Archer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Materials/Archer.png -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Archer.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 281b8be465c6510498470db8ce337e32 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 6 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | userData: 85 | assetBundleName: 86 | assetBundleVariant: 87 | -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Cerberus.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3f4b1f50cdb7a14fbc7d3137cb281b2 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Cerberus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Materials/Cerberus.png -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Diablous.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a024d2b5be839eb48ae096d148a24a42 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Diablous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Materials/Diablous.png -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Knight.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 162fc5feef349a24298930192617a83c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Knight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Materials/Knight.png -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Mage.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec9b0f17ab3c7b84e8f903f9b9c9df0d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Mage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Materials/Mage.png -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Sorceress.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afd0d6944a419b0499e40795a1964a37 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/Sorceress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Materials/Sorceress.png -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/cerberus_texture.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d26621eb95843c47a27c6ab908dc89d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/diablous_texture.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc9f2f15beb5fa74e9e508953ede4399 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Materials/female_mage_texture.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f259ca434b8cea345b10659b950b8ea8 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Models/Sorceress.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Models/Sorceress.blend -------------------------------------------------------------------------------- /Assets/Example/Outputs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86e5b18ca32365a4584933f380258b93 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Archer.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73449959b5749b745b7aee2c66fa10c8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Archer/Archer.0.Material.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Archer.0.Material 10 | m_Shader: {fileID: 4800000, guid: 85c90f30ad9dc9b438861a2b52242b58, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 1 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _MainTex: 22 | m_Texture: {fileID: 2800000, guid: 281b8be465c6510498470db8ce337e32, type: 3} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _NmlTex: 26 | m_Texture: {fileID: 2800000, guid: 9e1355d1efe413f4392537d05cfc90e5, type: 2} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _PosTex: 30 | m_Texture: {fileID: 2800000, guid: a697851b3f0f4ad4282f3e401d00452a, type: 2} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | m_Floats: [] 34 | m_Colors: 35 | - _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1} 36 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Archer/Archer.0.Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7205b5fa1f06385468f5a92d3e1d234a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Archer/Archer.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a9f703226d69c347812e278f9067d6f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Archer/Archer.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d39e8b1dfbddcfa4f88606b6aa20e049 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Archer/ArcherComponent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Entities; 3 | using Unity.Transforms; 4 | using AnimationBaker.Components; 5 | using AnimationBaker.Interfaces; 6 | 7 | namespace AnimationBaker.Baked 8 | { 9 | [System.Serializable] 10 | public struct Archer : IUnitState 11 | { 12 | public float Runtime 13 | { 14 | get; 15 | set; 16 | } 17 | public float StateTimer 18 | { 19 | get; 20 | set; 21 | } 22 | public int CurrentState 23 | { 24 | get; 25 | set; 26 | } 27 | public int PreviousState 28 | { 29 | get; 30 | set; 31 | } 32 | 33 | public int Attack; // 0 34 | public int GotHit; // 1 35 | public float MoveSpeed; // 2 36 | public int IsDead; // 3 37 | 38 | public float this [int index] 39 | { 40 | get 41 | { 42 | switch (index) 43 | { 44 | 45 | case 0: 46 | return Attack; 47 | case 1: 48 | return GotHit; 49 | case 2: 50 | return MoveSpeed; 51 | case 3: 52 | return IsDead; 53 | } 54 | return 0; 55 | } 56 | set 57 | { 58 | switch (index) 59 | { 60 | 61 | case 0: 62 | Attack = (int) value; 63 | break; 64 | case 1: 65 | GotHit = (int) value; 66 | break; 67 | case 2: 68 | MoveSpeed = value; 69 | break; 70 | case 3: 71 | IsDead = (int) value; 72 | break; 73 | } 74 | } 75 | } 76 | } 77 | 78 | [RequireComponent(typeof(StateMachineUnitComponent), typeof(PositionComponent), typeof(RotationComponent))] 79 | public class ArcherComponent : ComponentDataWrapper { } 80 | } 81 | 82 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Archer/ArcherComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d50cc456d447b204e9d85282420856e2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Archer/ArcherMesh.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dfba1374eecf61f43be3520138b52264 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Archer/Normals.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e1355d1efe413f4392537d05cfc90e5 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Archer/Positions.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a697851b3f0f4ad4282f3e401d00452a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Cerberus.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f807d791639ebf9478c13beba66e8b7c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Cerberus/Cerberus.0.Material.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Cerberus.0.Material 10 | m_Shader: {fileID: 4800000, guid: 85c90f30ad9dc9b438861a2b52242b58, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 1 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _MainTex: 22 | m_Texture: {fileID: 2800000, guid: b3960dc0367f89249874fcd288e87eda, type: 3} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _NmlTex: 26 | m_Texture: {fileID: 2800000, guid: 982649d2d7180944d83564b9036fd1c9, type: 2} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _PosTex: 30 | m_Texture: {fileID: 2800000, guid: fa290b5e8e1fc8547a6beaa8d3a4a8d5, type: 2} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | m_Floats: [] 34 | m_Colors: 35 | - _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1} 36 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Cerberus/Cerberus.0.Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 788a83b621154c644897aa33adf4fdd8 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Cerberus/Cerberus.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eacb54b859f5c78489301430ae280722 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Cerberus/Cerberus.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8146a189c160ed34194a2bf3435de6bc 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Cerberus/CerberusComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45dea15f0b882684eb6fe05ec30fecd4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Cerberus/CerberusMesh.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee466c1160e977e43a51b80a9081ad0e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Cerberus/Normals.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 982649d2d7180944d83564b9036fd1c9 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Cerberus/Positions.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa290b5e8e1fc8547a6beaa8d3a4a8d5 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Diablous.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 588c1e86bfe28484f9801944fffc1dc3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Diablous/Diablous.0.Material.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Diablous.0.Material 10 | m_Shader: {fileID: 4800000, guid: 85c90f30ad9dc9b438861a2b52242b58, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 1 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _MainTex: 22 | m_Texture: {fileID: 2800000, guid: 83ed7cddbcbcb4e4cb3366425d9e5e10, type: 3} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _NmlTex: 26 | m_Texture: {fileID: 2800000, guid: b3d3a574fe3408d46b9e780d8cf4d530, type: 2} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _PosTex: 30 | m_Texture: {fileID: 2800000, guid: 2c58397cb4de1304ead7756c708c029a, type: 2} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | m_Floats: [] 34 | m_Colors: 35 | - _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1} 36 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Diablous/Diablous.0.Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7055f4fed70955e44996d1d40e1cb3bb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Diablous/Diablous.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13f62277be230e547bf7b725c7fd0139 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Diablous/Diablous.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 819d92c2ccce87f41a012bd0c5b550d6 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Diablous/DiablousComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3f58470e16472b40bb252d93919f4d5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Diablous/DiablousMesh.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1451751c264f410499a8308ee33d0118 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Diablous/Normals.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3d3a574fe3408d46b9e780d8cf4d530 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Diablous/Positions.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c58397cb4de1304ead7756c708c029a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Knight.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f4a18eefee69fb146b961ec15a958606 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Knight/Knight.0.Material.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Knight.0.Material 10 | m_Shader: {fileID: 4800000, guid: 85c90f30ad9dc9b438861a2b52242b58, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 1 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _MainTex: 22 | m_Texture: {fileID: 2800000, guid: a7cac8183b290ac4e826ba17899299ee, type: 3} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _NmlTex: 26 | m_Texture: {fileID: 2800000, guid: 8713f0d3c3342304d95e3f609abc1472, type: 2} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _PosTex: 30 | m_Texture: {fileID: 2800000, guid: d483e65c457d2524a957700ff5e044d5, type: 2} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | m_Floats: [] 34 | m_Colors: 35 | - _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1} 36 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Knight/Knight.0.Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33024cb4b45b44c43a89dd75fb7464e7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Knight/Knight.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79524a12ac2c5b5408cd92880a1b33f4 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Knight/Knight.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36c48fef083f1094b8f2a4ebacdfa1b1 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Knight/KnightComponent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Entities; 3 | using Unity.Transforms; 4 | using AnimationBaker.Components; 5 | using AnimationBaker.Interfaces; 6 | 7 | namespace AnimationBaker.Baked 8 | { 9 | [System.Serializable] 10 | public struct Knight : IUnitState 11 | { 12 | public float Runtime 13 | { 14 | get; 15 | set; 16 | } 17 | public float StateTimer 18 | { 19 | get; 20 | set; 21 | } 22 | public int CurrentState 23 | { 24 | get; 25 | set; 26 | } 27 | public int PreviousState 28 | { 29 | get; 30 | set; 31 | } 32 | 33 | public int GotHit; // 0 34 | public int Attack; // 1 35 | public float MoveSpeed; // 2 36 | public int IsDead; // 3 37 | 38 | public float this [int index] 39 | { 40 | get 41 | { 42 | switch (index) 43 | { 44 | 45 | case 0: 46 | return GotHit; 47 | case 1: 48 | return Attack; 49 | case 2: 50 | return MoveSpeed; 51 | case 3: 52 | return IsDead; 53 | } 54 | return 0; 55 | } 56 | set 57 | { 58 | switch (index) 59 | { 60 | 61 | case 0: 62 | GotHit = (int) value; 63 | break; 64 | case 1: 65 | Attack = (int) value; 66 | break; 67 | case 2: 68 | MoveSpeed = value; 69 | break; 70 | case 3: 71 | IsDead = (int) value; 72 | break; 73 | } 74 | } 75 | } 76 | } 77 | 78 | [RequireComponent(typeof(StateMachineUnitComponent), typeof(PositionComponent), typeof(RotationComponent))] 79 | public class KnightComponent : ComponentDataWrapper { } 80 | } 81 | 82 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Knight/KnightComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28eb944c4b1097b48ae7ff93fe9939eb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Knight/KnightMesh.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc2ac5c19fa47cd46b947d44d9db6b5b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Knight/Normals.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8713f0d3c3342304d95e3f609abc1472 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Knight/Positions.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d483e65c457d2524a957700ff5e044d5 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Mage.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c787bbe4502396c44a401d56b38c4980 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Mage/Mage.0.Material.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Mage.0.Material 10 | m_Shader: {fileID: 4800000, guid: 85c90f30ad9dc9b438861a2b52242b58, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 1 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _MainTex: 22 | m_Texture: {fileID: 2800000, guid: 8b366c84d5b2f9f45b0b51db0b604480, type: 3} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _NmlTex: 26 | m_Texture: {fileID: 2800000, guid: 6eae627897866724bb432c21484aebcb, type: 2} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _PosTex: 30 | m_Texture: {fileID: 2800000, guid: 98c291ceb7fe83642b5b7e43ffd53516, type: 2} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | m_Floats: [] 34 | m_Colors: 35 | - _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1} 36 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Mage/Mage.0.Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f3accba45382cd448df46a1e0865ede 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Mage/Mage.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3dd370db6feef084693e3d84e750d589 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Mage/Mage.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41281717a018c7b4796b9e60f9d5794d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Mage/MageComponent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Entities; 3 | using Unity.Transforms; 4 | using AnimationBaker.Components; 5 | using AnimationBaker.Interfaces; 6 | 7 | namespace AnimationBaker.Baked 8 | { 9 | [System.Serializable] 10 | public struct Mage : IUnitState 11 | { 12 | public float Runtime 13 | { 14 | get; 15 | set; 16 | } 17 | public float StateTimer 18 | { 19 | get; 20 | set; 21 | } 22 | public int CurrentState 23 | { 24 | get; 25 | set; 26 | } 27 | public int PreviousState 28 | { 29 | get; 30 | set; 31 | } 32 | 33 | public int GotHit; // 0 34 | public int Attack; // 1 35 | public float MoveSpeed; // 2 36 | public int IsDead; // 3 37 | 38 | public float this [int index] 39 | { 40 | get 41 | { 42 | switch (index) 43 | { 44 | 45 | case 0: 46 | return GotHit; 47 | case 1: 48 | return Attack; 49 | case 2: 50 | return MoveSpeed; 51 | case 3: 52 | return IsDead; 53 | } 54 | return 0; 55 | } 56 | set 57 | { 58 | switch (index) 59 | { 60 | 61 | case 0: 62 | GotHit = (int) value; 63 | break; 64 | case 1: 65 | Attack = (int) value; 66 | break; 67 | case 2: 68 | MoveSpeed = value; 69 | break; 70 | case 3: 71 | IsDead = (int) value; 72 | break; 73 | } 74 | } 75 | } 76 | } 77 | 78 | [RequireComponent(typeof(StateMachineUnitComponent), typeof(PositionComponent), typeof(RotationComponent))] 79 | public class MageComponent : ComponentDataWrapper { } 80 | } 81 | 82 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Mage/MageComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 130c29f05d9f75c439cb70ae8ae1f17a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Mage/MageMesh.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59dcee2de49ec834b81d1481b826c977 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Mage/Normals.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6eae627897866724bb432c21484aebcb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Mage/Positions.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98c291ceb7fe83642b5b7e43ffd53516 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Sorceress.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1eaf7172ccffb7e419cc2a62bb01e401 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Sorceress/Normals.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0f296220bd070646800b3125c058a40 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Sorceress/Positions.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f29454e80851f254196b36f9cc6d0fd0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Sorceress/Sorceress.0.Material.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Sorceress.0.Material 10 | m_Shader: {fileID: 4800000, guid: 85c90f30ad9dc9b438861a2b52242b58, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 1 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _MainTex: 22 | m_Texture: {fileID: 2800000, guid: 2021af5db284c1d4cab2a627f102895e, type: 3} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _NmlTex: 26 | m_Texture: {fileID: 2800000, guid: c0f296220bd070646800b3125c058a40, type: 2} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _PosTex: 30 | m_Texture: {fileID: 2800000, guid: f29454e80851f254196b36f9cc6d0fd0, type: 2} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | m_Floats: [] 34 | m_Colors: 35 | - _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1} 36 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Sorceress/Sorceress.0.Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 60d714670c01b834199eade7ec8b9c08 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Sorceress/Sorceress.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77334a1180977fa45b0a57e637487fe4 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Sorceress/Sorceress.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3bc1bab0cd562b540af5950f47d4da39 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Sorceress/SorceressComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fc0501fef881eb45b9b6ba4f2c0578c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Outputs/Sorceress/SorceressMesh.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7afdef583e58eda4fbdb428a0ed33586 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c31e04f889cb18e4fb15da5e8e58056d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Prefabs/FX_Base.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0cec58fc32f482418596ffdf7c0d693 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Example/Prefabs/FX_BloodSplatter.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c27aeead6d968e4ba986702d6b84335 3 | timeCreated: 1463710623 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Prefabs/FX_Fire.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 756d99540142b5e4a8d174e18a6310d9 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Example/Prefabs/FX_Fireworks_Blue_Small.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6636b3078b0905e489f698a11b7a6b6b 3 | timeCreated: 1467155436 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Prefabs/FX_Fireworks_Yellow_Small.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6586ff0f14125534cae2f5d8f04b7871 3 | timeCreated: 1467155436 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Prefabs/FX_FlameThrower.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5cd5599e01f32bd418f20a3b9eac1c57 3 | timeCreated: 1463711805 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Prefabs/UnlitVertexColour_Alpha.shader: -------------------------------------------------------------------------------- 1 | Shader "Simple/Unlit Vertex Color_Alpha" 2 | { 3 | 4 | Properties { 5 | _MainTex ("Base (RGB)", 2D) = "white" {} 6 | } 7 | 8 | SubShader 9 | { 10 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } 11 | Lighting Off ZWrite Off Fog { Mode Off } 12 | //Blend SrcAlpha OneMinusSrcAlpha 13 | 14 | 15 | BindChannels { 16 | Bind "Color", color 17 | Bind "Vertex", vertex 18 | Bind "texcoord", texcoord 19 | } 20 | 21 | Pass { 22 | ColorMaterial AmbientAndDiffuse 23 | SetTexture [_MainTex] {Combine texture * primary 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Assets/Example/Prefabs/UnlitVertexColour_Alpha.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 125f31ba4cdefb2469a075f509877b02 3 | timeCreated: 1461197347 4 | licenseType: Store 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Example/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f704ae4b4f98ae41a0bce26658850c1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Scenes/BaseScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7921a3e6819060147b54d111accd7a14 3 | timeCreated: 1496040504 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Scenes/StateMachineScene.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd63d198e9aefd445bab07aece1a37aa 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Scenes/StateMachineScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d50c293308ef4374088ed0e3541d55c5 3 | timeCreated: 1496040504 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Scenes/StateMachineScene/NavMesh.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Example/Scenes/StateMachineScene/NavMesh.asset -------------------------------------------------------------------------------- /Assets/Example/Scenes/StateMachineScene/NavMesh.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59c689f483513c24cace240b74dafcf7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 23800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4049e5b035958f141a1838a556b1fd28 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Scripts/Behaviours.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be573b6b3d93f884f98c4e1084237dee 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Scripts/Behaviours/MobileRTSCam.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ddb9cc90b07b84708bc45ce309d550d5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Example/Scripts/Behaviours/UnitData.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | using Unity.Entities; 4 | 5 | namespace Example.Behaviours 6 | { 7 | [CreateAssetMenu(fileName = "UnitData", menuName = "Animation Baker Examples/State Machine Unit Data", order = 0)] 8 | public class UnitData : ScriptableObject 9 | { 10 | public Mesh Mesh; 11 | public int SubMeshIndex; 12 | public Material Material; 13 | public ShadowCastingMode ShadowCastingMode; 14 | public bool ReceivesShadows; 15 | public float Health; 16 | public float Damage; 17 | public float AttackDistance; 18 | public int AttackParticle; 19 | public float MoveSpeed; 20 | public int Faction; 21 | public float AttackCooldown; 22 | public float HitCooldown; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Example/Scripts/Behaviours/UnitData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 116801d2612cc674ca2daaa6bfcb941d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Scripts/StateMachineBootstrap.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1669931102b94734e92ddded0255c47f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Scripts/Systems.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eddaca8316c45bf47a8f10efa886b98b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Scripts/Systems/ArcherDebugSystem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.Rendering; 5 | using Unity.Collections; 6 | using Unity.Entities; 7 | using AnimationBaker.Baked; 8 | using AnimationBaker.Components; 9 | using AnimationBaker.Systems; 10 | 11 | namespace Example.Systems 12 | { 13 | public class ArcherDebugSystem : ComponentSystem 14 | { 15 | 16 | struct InjectData 17 | { 18 | public readonly int Length; 19 | [ReadOnly] public EntityArray entities; 20 | [ReadOnly] public ComponentDataArray archers; 21 | } 22 | 23 | bool isMoving = false; 24 | bool isDead = false; 25 | 26 | [Inject] InjectData components; 27 | [Inject] AnimatorSystem archerSystem; 28 | protected override void OnUpdate() 29 | { 30 | if (components.Length < 1) return; 31 | if (Input.GetKeyUp(KeyCode.Q)) 32 | { 33 | archerSystem.SetTrigger(components.entities[0], "Attack"); 34 | } 35 | if (Input.GetKeyUp(KeyCode.W)) 36 | { 37 | archerSystem.SetTrigger(components.entities[0], "GotHit"); 38 | } 39 | if (Input.GetKeyUp(KeyCode.E)) 40 | { 41 | if (!isMoving) 42 | { 43 | isMoving = true; 44 | archerSystem.SetFloat(components.entities[0], "MoveSpeed", 2); 45 | } 46 | else 47 | { 48 | isMoving = false; 49 | archerSystem.SetFloat(components.entities[0], "MoveSpeed", 0); 50 | } 51 | } 52 | if (Input.GetKeyUp(KeyCode.R)) 53 | { 54 | if (!isDead) 55 | { 56 | isDead = true; 57 | } 58 | else 59 | { 60 | isDead = false; 61 | } 62 | archerSystem.SetBool(components.entities[0], "IsDead", isDead); 63 | } 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /Assets/Example/Scripts/Systems/ArcherDebugSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 066d4d689738e3c4eaa8a0cfb7a2cf2c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f05ff7bdb386b674bb1cf6546a9e7143 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e6021f3dd69f34489ebb15abc507a11 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5ed026d9abb92c4c9ef8445c742b77d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 864d2577d13f3284796ac151b1575f2d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Actions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64e4bff5bd8916d479e1b0cea4891e3d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Actions/Button.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using EntitySystemDebugger.Editor.Utils; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace EntitySystemDebugger.Editor.Actions 8 | { 9 | public static class Button 10 | { 11 | public static void Draw (Type type, MethodInfo method, object instance) 12 | { 13 | string humanName = StringUtils.Humanize (method.Name); 14 | if (GUILayout.Button (humanName)) 15 | { 16 | method.Invoke (instance, null); 17 | } 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Actions/Button.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e04dc86223586d4fa53c80cba45cfe2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1acc2fc9a2c9b804e986fc7493c3b175 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/CodeGenerator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51ed6e996e5332144a696daf715e7b10 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e95389adeccb229409586594082ee557 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/BasicJobTemplate.mustache: -------------------------------------------------------------------------------- 1 | using Unity.Burst; 2 | using Unity.Collections; 3 | using Unity.Entities; 4 | using Unity.Jobs; 5 | using Unity.Mathematics; 6 | using UnityEngine; 7 | 8 | namespace {{NAMESPACE}} 9 | { 10 | [BurstCompile] 11 | public struct {{CLASSNAME}} : IJob 12 | { 13 | float dt; 14 | 15 | public {{CLASSNAME}} ( 16 | float dt 17 | ) 18 | { 19 | this.dt = dt; 20 | } 21 | 22 | public void Execute () 23 | { 24 | 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/BasicJobTemplate.mustache.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1104cb02446f2e240b9a4de06e2b84be 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/BootstrapTemplate.mustache: -------------------------------------------------------------------------------- 1 | using Unity.Entities; 2 | using UnityEngine; 3 | 4 | namespace {{NAMESPACE}} 5 | { 6 | public static class {{CLASSNAME}} 7 | { 8 | // ArchetypeReferenceStart - Do not remove 9 | // ArchetypeReferenceStop - Do not remove 10 | 11 | [RuntimeInitializeOnLoadMethod (RuntimeInitializeLoadType.BeforeSceneLoad)] 12 | static void Boot () 13 | { 14 | var world = new World ("{{WORLDNAME}}"); 15 | // world.CreateManager (); 16 | 17 | // Uncomment the four lines below if you want to run all the worlds: 18 | // var allWorlds = new World[World.AllWorlds.Count]; 19 | // World.AllWorlds.CopyTo (allWorlds, 0); 20 | // ScriptBehaviourUpdateOrder.UpdatePlayerLoop (allWorlds); 21 | // PlayerLoopManager.RegisterDomainUnload (DomainUnloadShutdown, 10000); 22 | 23 | // ArchetypeDeclarationStart - Do not remove 24 | // ArchetypeDeclarationStop - Do not remove 25 | } 26 | 27 | [RuntimeInitializeOnLoadMethod (RuntimeInitializeLoadType.AfterSceneLoad)] 28 | static void Run () 29 | { 30 | 31 | } 32 | 33 | static void DomainUnloadShutdown () 34 | { 35 | World.DisposeAllWorlds (); 36 | ScriptBehaviourUpdateOrder.UpdatePlayerLoop (); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/BootstrapTemplate.mustache.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff5790eed53500f40a5bbdc338a633f4 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/ComponentDataJobTemplate.mustache: -------------------------------------------------------------------------------- 1 | using Unity.Burst; 2 | using Unity.Collections; 3 | using Unity.Entities; 4 | using Unity.Jobs; 5 | using Unity.Mathematics; 6 | using Unity.Transforms; 7 | 8 | namespace {{NAMESPACE}} 9 | { 10 | // [RequireComponentTag(typeof(SOMECOMPONENT))] 11 | // [RequireSubtractiveComponent (typeof (SOMESUBTRACTIVECOMPONENT))] 12 | [BurstCompile] 13 | public struct {{CLASSNAME}} : IJobProcessComponentData 14 | { 15 | float dt; 16 | 17 | public {{CLASSNAME}} (float dt) 18 | { 19 | this.dt = dt; 20 | } 21 | 22 | public void Execute (ref Position position, [ReadOnly] ref Rotation rotation, [ReadOnly] ref MoveSpeed moveSpeed) 23 | { 24 | position.Value = position.Value + math.forward (rotation.Value) * moveSpeed.speed * dt; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/ComponentDataJobTemplate.mustache.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e25c0353d6c39c94e976587f3814667c 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/ComponentDataTemplate.mustache: -------------------------------------------------------------------------------- 1 | using Unity.Entities; 2 | using UnityEngine; 3 | 4 | namespace {{NAMESPACE}} 5 | { 6 | [System.Serializable] 7 | public struct {{COMPONENTNAME}} : IComponentData 8 | { 9 | 10 | } 11 | 12 | [System.Serializable] 13 | [RequireComponent (typeof (GameObjectEntity))] 14 | public class {{CLASSNAME}} : ComponentDataWrapper<{{COMPONENTNAME}}> 15 | { 16 | // EntityManager manager; 17 | // Entity entity; 18 | // private void Start () 19 | // { 20 | // manager = GetComponent ().EntityManager; 21 | // entity = GetComponent ().Entity; 22 | // } 23 | // private void Update () { } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/ComponentDataTemplate.mustache.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f61a7bf52960a5d4fbc42ec61f3b9634 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/ComponentSystemTemplate.mustache: -------------------------------------------------------------------------------- 1 | using Unity.Entities; 2 | using Unity.Jobs; 3 | using UnityEngine; 4 | 5 | namespace {{NAMESPACE}} 6 | { 7 | // [AlwaysUpdateSystem] 8 | // [DisableAutoCreationAttribute] 9 | // [UpdateBefore (typeof (SomeType))] 10 | // [UpdateAfter (typeof (SomeType))] 11 | // [ExecuteInEditMode] 12 | public class {{CLASSNAME}} : ComponentSystem 13 | { 14 | struct InjectData 15 | { 16 | public readonly int Length; 17 | // public ComponentDataArray someComponentDatas; 18 | // [ReadOnly] public SharedComponentDataArray someSharedComponentDatas; 19 | // public SubtractiveComponent sub; 20 | } 21 | 22 | [Inject] InjectData data; 23 | // [Inject] {{CLASSNAME}}Barrier barrier; 24 | protected override void OnUpdate () 25 | { 26 | // var buffer = barrier.CreateCommandBuffer (); 27 | } 28 | 29 | protected override void OnCreateManager (int capacity) 30 | { 31 | 32 | } 33 | 34 | protected override void OnDestroyManager () 35 | { 36 | 37 | } 38 | protected override void OnStartRunning () 39 | { 40 | 41 | } 42 | 43 | protected override void OnStopRunning () 44 | { 45 | 46 | } 47 | } 48 | 49 | // public class {{CLASSNAME}}Barrier : BarrierSystem { } 50 | } 51 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/ComponentSystemTemplate.mustache.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b83c6fb979965e4187e33a6e9a07c52 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/JobComponentSystemTemplate.mustache: -------------------------------------------------------------------------------- 1 | using Unity.Entities; 2 | using Unity.Jobs; 3 | using UnityEngine; 4 | 5 | namespace {{NAMESPACE}} 6 | { 7 | // [AlwaysUpdateSystem] 8 | // [DisableAutoCreationAttribute] 9 | // [UpdateBefore (typeof (SomeType))] 10 | // [UpdateAfter (typeof (SomeType))] 11 | // [ExecuteInEditMode] 12 | public class {{CLASSNAME}} : JobComponentSystem 13 | { 14 | struct InjectData 15 | { 16 | public readonly int Length; 17 | // public ComponentDataArray someComponentDatas; 18 | // [ReadOnly] public SharedComponentDataArray someSharedComponentDatas; 19 | // public SubtractiveComponent sub; 20 | } 21 | 22 | [Inject] InjectData data; 23 | // [Inject] {{CLASSNAME}}Barrier barrier; 24 | protected override JobHandle OnUpdate (JobHandle inputDeps) 25 | { 26 | // var buffer = barrier.CreateCommandBuffer (); 27 | return inputDeps; 28 | } 29 | 30 | protected override void OnCreateManager (int capacity) 31 | { 32 | 33 | } 34 | 35 | protected override void OnDestroyManager () 36 | { 37 | 38 | } 39 | protected override void OnStartRunning () 40 | { 41 | 42 | } 43 | 44 | protected override void OnStopRunning () 45 | { 46 | 47 | } 48 | } 49 | 50 | // public class {{CLASSNAME}}Barrier : BarrierSystem { } 51 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/JobComponentSystemTemplate.mustache.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8dc9dd76b33434a43b74f15f0869f5bd 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/NativeMultiHashMapJobTemplate.mustache: -------------------------------------------------------------------------------- 1 | using Unity.Burst; 2 | using Unity.Collections; 3 | using Unity.Entities; 4 | using Unity.Jobs; 5 | using Unity.Mathematics; 6 | using UnityEngine; 7 | 8 | namespace {{NAMESPACE}} 9 | { 10 | [BurstCompile] 11 | public struct {{CLASSNAME}} : IJobNativeMultiHashMapMergedSharedKeyIndices 12 | { 13 | [ReadOnly] NativeMultiHashMap Input; 14 | [WriteOnly] NativeMultiHashMap.Concurrent Output; 15 | 16 | public {{CLASSNAME}} ( 17 | NativeMultiHashMap input, 18 | NativeMultiHashMap.Concurrent output 19 | ) 20 | { 21 | Input = input; 22 | Output = output; 23 | } 24 | 25 | public void ExecuteFirst (int index) 26 | { 27 | var iterator = new NativeMultiHashMapIterator (); 28 | if (Input.TryGetFirstValue (index, out int item, out iterator)) 29 | { 30 | 31 | } 32 | } 33 | 34 | public void ExecuteNext (int firstIndex, int index) 35 | { 36 | var iterator = new NativeMultiHashMapIterator (); 37 | if (Input.TryGetFirstValue (index, out int item, out iterator)) 38 | { 39 | 40 | } 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/NativeMultiHashMapJobTemplate.mustache.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9396232b9e40ae847aa496350f97cb71 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/ParallelJobTemplate.mustache: -------------------------------------------------------------------------------- 1 | using Unity.Burst; 2 | using Unity.Collections; 3 | using Unity.Entities; 4 | using Unity.Jobs; 5 | using Unity.Mathematics; 6 | using UnityEngine; 7 | 8 | namespace {{NAMESPACE}} 9 | { 10 | [BurstCompile] 11 | public struct {{CLASSNAME}} : IJobParallelFor 12 | { 13 | float dt; 14 | // [ReadOnly] 15 | // [DeallocateOnJobCompletion] 16 | // NativeArray Inputs; 17 | // [WriteOnly] 18 | // public NativeArray Outputs; 19 | 20 | public {{CLASSNAME}} ( 21 | float dt 22 | // NativeArray inputs, 23 | // NativeArray outputs 24 | ) 25 | { 26 | this.dt = dt; 27 | // Inputs = inputs; 28 | // Outputs = outputs; 29 | } 30 | 31 | public void Execute (int index) 32 | { 33 | // Outputs[index] = Inputs[index]; 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/ParallelJobTemplate.mustache.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93d2e9efcb1118c46bb6cfa45fdf3bd8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/SharedComponentDataTemplate.mustache: -------------------------------------------------------------------------------- 1 | using Unity.Entities; 2 | using UnityEngine; 3 | 4 | namespace {{NAMESPACE}} 5 | { 6 | [System.Serializable] 7 | public struct {{COMPONENTNAME}} : ISharedComponentData 8 | { 9 | 10 | } 11 | 12 | [System.Serializable] 13 | [RequireComponent (typeof (GameObjectEntity))] 14 | public class {{CLASSNAME}} : SharedComponentDataWrapper<{{COMPONENTNAME}}> 15 | { 16 | // EntityManager manager; 17 | // Entity entity; 18 | // private void Start () 19 | // { 20 | // manager = GetComponent ().EntityManager; 21 | // entity = GetComponent ().Entity; 22 | // } 23 | // private void Update () { } 24 | } 25 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/CodeGen/Templates/SharedComponentDataTemplate.mustache.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 777ca6890bcf9764d9854ede1c582adc 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/DisableSystems.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Unity.Entities; 3 | using UnityEngine; 4 | 5 | namespace EntitySystemDebugger.Editor 6 | { 7 | public static class DisableSystems 8 | { 9 | [RuntimeInitializeOnLoadMethod (RuntimeInitializeLoadType.AfterSceneLoad)] 10 | public static void DisableSystemsOnLoad () 11 | { 12 | if (World.AllWorlds == null) return; 13 | foreach (var world in World.AllWorlds) 14 | { 15 | var disabled = PlayerPrefs.GetString ("disabledsystems", ""); 16 | var names = disabled.Split (':'); 17 | foreach (var name in names) 18 | { 19 | var type = Type.GetType (name); 20 | if (type != null) 21 | { 22 | var manager = world.GetExistingManager (type) as ComponentSystemBase; 23 | if (manager != null) 24 | { 25 | manager.Enabled = false; 26 | } 27 | } 28 | } 29 | } 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/DisableSystems.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10e254f9be1c5d04ebc20d275c37046f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/EntitySystemDebuggerWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37776069d6cf9b746ad8612c6f2a72db 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: 7 | - m_PersistentViewDataDictionary: {instanceID: 0} 8 | - skin: {fileID: 11400000, guid: eb32b1cc0eb93594089d7c652cfff1ef, type: 2} 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c8b54376a9c74c4aa6a4c16538786b2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/BoolField.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using EntitySystemDebugger.Editor.Utils; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace EntitySystemDebugger.Editor.Fields 8 | { 9 | public static class BoolField 10 | { 11 | public static void Draw (Type type, FieldInfo field, object instance) 12 | { 13 | string humanName = StringUtils.Humanize (field.Name); 14 | var value = Convert.ToBoolean (field.GetValue (instance)); 15 | var newVal = EditorGUILayout.Toggle (humanName, value); 16 | if (newVal != value) 17 | { 18 | field.SetValue (instance, newVal); 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/BoolField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fec13c54fb475e468fd34d0b7f84130 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/EnumField.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using EntitySystemDebugger.Editor.Utils; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace EntitySystemDebugger.Editor.Fields 8 | { 9 | public static class EnumField 10 | { 11 | public static void Draw (Type type, FieldInfo field, object instance) 12 | { 13 | string humanName = StringUtils.Humanize (field.Name); 14 | var value = (Enum) field.GetValue (instance); 15 | var newVal = EditorGUILayout.EnumPopup (humanName, value); 16 | if (newVal != value) 17 | { 18 | field.SetValue (instance, newVal); 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/EnumField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8494228fccc05934b9c753154dbfbdc0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/FloatField.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using EntitySystemDebugger.Editor.Utils; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace EntitySystemDebugger.Editor.Fields 8 | { 9 | public static class FloatField 10 | { 11 | public static void Draw (Type type, FieldInfo field, object instance) 12 | { 13 | string humanName = StringUtils.Humanize (field.Name); 14 | var value = Convert.ToSingle (field.GetValue (instance)); 15 | var newVal = EditorGUILayout.FloatField (humanName, value); 16 | if (newVal != value) 17 | { 18 | field.SetValue (instance, newVal); 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/FloatField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cee5e4d60699be9429de2ddb83d8e75d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/IntField.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using EntitySystemDebugger.Editor.Utils; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace EntitySystemDebugger.Editor.Fields 8 | { 9 | public static class IntField 10 | { 11 | public static void Draw (Type type, FieldInfo field, object instance) 12 | { 13 | string humanName = StringUtils.Humanize (field.Name); 14 | var value = Convert.ToInt32 (field.GetValue (instance)); 15 | var intVal = EditorGUILayout.IntField (humanName, value); 16 | if (intVal != value) 17 | { 18 | field.SetValue (instance, intVal); 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/IntField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2b1cb16d8cd8744283ecaba93de9f7a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/MaskField.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using EntitySystemDebugger.Editor.Utils; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace EntitySystemDebugger.Editor.Fields 8 | { 9 | public static class MaskField 10 | { 11 | public static void Draw (Type type, FieldInfo field, object instance) 12 | { 13 | string humanName = StringUtils.Humanize (field.Name); 14 | var value = Convert.ToInt32 (field.GetValue (instance)); 15 | var values = Enum.GetNames (field.FieldType); 16 | var newVal = EditorGUILayout.MaskField (humanName, value, values); 17 | if (newVal != value) 18 | { 19 | field.SetValue (instance, newVal); 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/MaskField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e173e3f697c3b3445b6a3b493492d263 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/MaterialField.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using EntitySystemDebugger.Editor.Utils; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace EntitySystemDebugger.Editor.Fields 8 | { 9 | public static class MaterialField 10 | { 11 | public static void Draw (Type type, FieldInfo field, object instance) 12 | { 13 | string humanName = StringUtils.Humanize (field.Name); 14 | var value = field.GetValue (instance) as Material; 15 | var newVal = EditorGUILayout.ObjectField (humanName, value, typeof (Material), true); 16 | if (newVal != value) 17 | { 18 | field.SetValue (instance, newVal); 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/MaterialField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5995bfd2decde7e4f84918508a699052 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/MeshField.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using EntitySystemDebugger.Editor.Utils; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace EntitySystemDebugger.Editor.Fields 8 | { 9 | public static class MeshField 10 | { 11 | public static void Draw (Type type, FieldInfo field, object instance) 12 | { 13 | string humanName = StringUtils.Humanize (field.Name); 14 | var value = field.GetValue (instance) as Mesh; 15 | var newVal = EditorGUILayout.ObjectField (humanName, value, typeof (Mesh), true); 16 | if (newVal != value) 17 | { 18 | field.SetValue (instance, newVal); 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/MeshField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b39fadbe6f211143b3d81b23be82e73 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/StringField.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using EntitySystemDebugger.Editor.Utils; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace EntitySystemDebugger.Editor.Fields 8 | { 9 | public static class StringField 10 | { 11 | public static void Draw (Type type, FieldInfo field, object instance) 12 | { 13 | string humanName = StringUtils.Humanize (field.Name); 14 | var value = Convert.ToString (field.GetValue (instance)); 15 | var newVal = EditorGUILayout.TextField (humanName, value); 16 | if (newVal != value) 17 | { 18 | field.SetValue (instance, newVal); 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Fields/StringField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 683650c7640804a46b1941ba57ac96cb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/SystemPropertiesView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 430b968b2b239454faa5cd8564451ce2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/SystemTreeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01e54a04b5124b747b57c399c15f3a72 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73c2d116affceda4c8a54939af931eda 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/AverageRecorder.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Profiling; 3 | 4 | namespace EntitySystemDebugger.Editor.Utils 5 | { 6 | public class AverageRecorder 7 | { 8 | private readonly Recorder recorder; 9 | private int frameCount; 10 | private int totalNanoseconds; 11 | private float nextRecord; 12 | public CircularBuffer buffer; 13 | public float lastReading; 14 | public float max; 15 | public float average; 16 | 17 | public AverageRecorder (Recorder recorder) 18 | { 19 | buffer = new CircularBuffer (100); 20 | for (int i = 0; i < 100; i++) 21 | { 22 | buffer.PushBack (0); 23 | } 24 | this.recorder = recorder; 25 | } 26 | 27 | public void Update () 28 | { 29 | ++frameCount; 30 | totalNanoseconds += (int) recorder.elapsedNanoseconds; 31 | if (Time.time > nextRecord) 32 | { 33 | nextRecord = Time.time + 0.05f; 34 | RecordSeconds (); 35 | } 36 | } 37 | 38 | public void RecordSeconds () 39 | { 40 | if (frameCount > 0) 41 | { 42 | lastReading = (totalNanoseconds / 1e6f) / frameCount; 43 | frameCount = totalNanoseconds = 0; 44 | } 45 | buffer.PushBack (lastReading); 46 | 47 | max = 0; 48 | float total = 0; 49 | for (int i = 0; i < 100; i++) 50 | { 51 | total += buffer[i]; 52 | if (buffer[i] > max) 53 | { 54 | max = buffer[i]; 55 | } 56 | } 57 | average = total / 100; 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/AverageRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa3e572b2606d54488f43b1130957a61 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/CircularBuffer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4da1d9db0232e404a8b48fc2d0f2539f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b5255a0573305a4ba38d4f9fbc9e449 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/ContextObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 689cb1224d8148046a4b88b87280bc6e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/ExtendedParseInformation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Mustachio 5 | { 6 | /// 7 | /// Provided when parsing a template and getting information about the embedded variables. 8 | /// 9 | public class ExtendedParseInformation 10 | { 11 | public Func, String> ParsedTemplate { get; set; } 12 | 13 | public InferredTemplateModel InferredModel { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/ExtendedParseInformation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3547a197888b2874cacdb45b185144ca 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/IndexedParseException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Mustachio 4 | { 5 | /// 6 | /// Indicates a parse error including line and character info. 7 | /// 8 | public class IndexedParseException : ParseException 9 | { 10 | internal IndexedParseException(Mustachio.Tokenizer.CharacterLocation location, string message, params object[] replacements) 11 | : this(message, replacements) 12 | { 13 | this.LineNumber = location.Line; 14 | this.CharacterOnLine = location.Character; 15 | } 16 | 17 | public IndexedParseException(string message, params object[] replacements) 18 | : base(String.Format(message, replacements)) 19 | { 20 | 21 | } 22 | 23 | public int LineNumber { get; set; } 24 | public int CharacterOnLine { get; set; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/IndexedParseException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfbe3c5fbbe04514ca41c0a4ae17a76b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/InferredTemplateModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d046a63e0c2f9aa49b33de78a8f2aaff 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/ParseException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Mustachio 8 | { 9 | public class ParseException : Exception 10 | { 11 | public ParseException(string message, params object[] replacements) : base(String.Format(message, replacements)) { } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/ParseException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06bb0e36d4249fb4798046f2eb2bd32c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/Parser.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 55c643201213b8749a6dab32e9b6434c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/ParsingOptions.cs: -------------------------------------------------------------------------------- 1 | namespace Mustachio 2 | { 3 | internal class ParsingOptions 4 | { 5 | /// 6 | /// If this is true, all values will be rendered without being HTML-encoded. (regardless of using {{{ }}} or {{ }} syntax) 7 | /// 8 | internal bool DisableContentSafety { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/ParsingOptions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2bead2831667b8649bd6db837ed909a3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/TokenPair.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Mustachio 4 | { 5 | /// 6 | /// The type of token produced in the lexing stage of template compilation. 7 | /// 8 | internal enum TokenType 9 | { 10 | EscapedSingleValue, 11 | UnescapedSingleValue, 12 | InvertedElementOpen, 13 | ElementOpen, 14 | ElementClose, 15 | Comment, 16 | Content, 17 | CollectionOpen, 18 | CollectionClose 19 | } 20 | 21 | /// 22 | /// The token that has been lexed out of template content. 23 | /// 24 | internal class TokenPair 25 | { 26 | public TokenPair(TokenType type, String value) 27 | { 28 | this.Type = type; 29 | this.Value = value; 30 | } 31 | 32 | public TokenType Type { get; set; } 33 | 34 | public string Value { get; set; } 35 | 36 | public override string ToString() 37 | { 38 | return String.Format("{0}, {1}", this.Type, this.Value); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/TokenPair.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b9989904f8c54e40adf4de3d50bd913 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/Mustachio/Tokenizer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e7f86d3dd9722d43b9454fedeac4a94 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Editor/Utils/StringUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed7e44e5aa7e6154993a5c963b543814 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1be7b10103cd3c24c9da59f3a60fa444 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Resources/ESDSkin.guiskin.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a88fc5e73b4d7c44591e66aeb46f5a53 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Resources/green.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Plugins/EntitySystemDebugger/Scripts/Resources/green.psd -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Resources/grey.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Plugins/EntitySystemDebugger/Scripts/Resources/grey.psd -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Resources/orange.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Plugins/EntitySystemDebugger/Scripts/Resources/orange.psd -------------------------------------------------------------------------------- /Assets/Plugins/EntitySystemDebugger/Scripts/Resources/red.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zulfajuniadi/Animation-Texture-Baker/97cbea700f77b8c85fc39ace64280be97c9c3f00/Assets/Plugins/EntitySystemDebugger/Scripts/Resources/red.psd -------------------------------------------------------------------------------- /Assets/Plugins/NavJob.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95754ec51b0e0c543a1e66931ea17359 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce2b16b9571cf4d27b34435f152f3028 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components/NavAagentAvoidanceComponent.cs: -------------------------------------------------------------------------------- 1 | using Unity.Entities; 2 | using Unity.Mathematics; 3 | using UnityEngine; 4 | 5 | namespace NavJob.Components 6 | { 7 | [System.Serializable] 8 | public struct NavAagentAvoidance : IComponentData 9 | { 10 | public float radius; 11 | public float3 partition { get; set; } 12 | 13 | public NavAagentAvoidance ( 14 | float radius = 1f 15 | ) 16 | { 17 | this.radius = radius; 18 | this.partition = new float3 (0); 19 | } 20 | } 21 | 22 | public class NavAagentAvoidanceComponent : ComponentDataWrapper { } 23 | } -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components/NavAagentAvoidanceComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c78a2803177425468c4566999150cc8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components/NavAgentComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f56544c234e24926ac21c78188b1473 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components/SyncPositionFromNavAgentComponent.cs: -------------------------------------------------------------------------------- 1 | using Unity.Collections; 2 | using Unity.Entities; 3 | 4 | namespace NavJob.Components 5 | { 6 | public struct SyncPositionFromNavAgent : IComponentData { } 7 | 8 | public class SyncPositionFromNavAgentComponent : ComponentDataWrapper { }; 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components/SyncPositionFromNavAgentComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8002d4e546df2489c9a29925f2e36aed 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components/SyncPositionToNavAgentComponent.cs: -------------------------------------------------------------------------------- 1 | using Unity.Collections; 2 | using Unity.Entities; 3 | 4 | namespace NavJob.Components 5 | { 6 | public struct SyncPositionToNavAgent : IComponentData { } 7 | 8 | public class SyncPositionToNavAgentComponent : ComponentDataWrapper { }; 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components/SyncPositionToNavAgentComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9633bd48a18f4e0f80e40ef970619ed 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components/SyncRotationFromNavAgentComponent.cs: -------------------------------------------------------------------------------- 1 | using Unity.Collections; 2 | using Unity.Entities; 3 | 4 | namespace NavJob.Components 5 | { 6 | public struct SyncRotationFromNavAgent : IComponentData { } 7 | 8 | public class SyncRotationFromNavAgentComponent : ComponentDataWrapper { }; 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components/SyncRotationFromNavAgentComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ab4ad1997ea54ea5aff1e17a5a4e892 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components/SyncRotationToNavAgentComponent.cs: -------------------------------------------------------------------------------- 1 | using Unity.Collections; 2 | using Unity.Entities; 3 | 4 | namespace NavJob.Components 5 | { 6 | public struct SyncRotationToNavAgent : IComponentData { } 7 | 8 | public class SyncRotationToNavAgentComponent : ComponentDataWrapper { }; 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Components/SyncRotationToNavAgentComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ffc1273125a340f49e7466cfc307d94 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Systems.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 075ab9d0cd33940288c5ea34309b8910 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Systems/NavAgentAvoidanceSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84b5f30544606454e88d7c5e2312b7de 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Systems/NavAgentSyncSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b6bd94830c6648b39348ed3731f295a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Systems/NavAgentSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca78369d1d0da4f94bc7966950ce301d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/NavJob/Systems/NavMeshQuerySystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 379a7f3cfc9b047eea1e24137457fb38 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Zulfa Juniadi, 2017 Hironori Sugino 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ads": "2.0.8", 4 | "com.unity.analytics": "2.0.16", 5 | "com.unity.entities": "0.0.12-preview.8", 6 | "com.unity.package-manager-ui": "1.9.11", 7 | "com.unity.purchasing": "2.0.3", 8 | "com.unity.textmeshpro": "1.2.1", 9 | "com.unity.modules.ai": "1.0.0", 10 | "com.unity.modules.animation": "1.0.0", 11 | "com.unity.modules.assetbundle": "1.0.0", 12 | "com.unity.modules.audio": "1.0.0", 13 | "com.unity.modules.cloth": "1.0.0", 14 | "com.unity.modules.director": "1.0.0", 15 | "com.unity.modules.imageconversion": "1.0.0", 16 | "com.unity.modules.imgui": "1.0.0", 17 | "com.unity.modules.jsonserialize": "1.0.0", 18 | "com.unity.modules.particlesystem": "1.0.0", 19 | "com.unity.modules.physics": "1.0.0", 20 | "com.unity.modules.physics2d": "1.0.0", 21 | "com.unity.modules.screencapture": "1.0.0", 22 | "com.unity.modules.terrain": "1.0.0", 23 | "com.unity.modules.terrainphysics": "1.0.0", 24 | "com.unity.modules.tilemap": "1.0.0", 25 | "com.unity.modules.ui": "1.0.0", 26 | "com.unity.modules.uielements": "1.0.0", 27 | "com.unity.modules.umbra": "1.0.0", 28 | "com.unity.modules.unityanalytics": "1.0.0", 29 | "com.unity.modules.unitywebrequest": "1.0.0", 30 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 31 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 32 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 33 | "com.unity.modules.unitywebrequestwww": "1.0.0", 34 | "com.unity.modules.vehicles": "1.0.0", 35 | "com.unity.modules.video": "1.0.0", 36 | "com.unity.modules.vr": "1.0.0", 37 | "com.unity.modules.wind": "1.0.0", 38 | "com.unity.modules.xr": "1.0.0", 39 | "com.unity.burst": "0.2.4-preview.20" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 1024 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 1 23 | m_ClothInterCollisionSettingsToggle: 0 24 | m_ContactPairsMode: 0 25 | m_BroadphaseType: 0 26 | m_WorldBounds: 27 | m_Center: {x: 0, y: 0, z: 0} 28 | m_Extent: {x: 250, y: 250, z: 250} 29 | m_WorldSubdivisions: 8 30 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | m_configObjects: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 1 10 | m_DefaultBehaviorMode: 0 11 | m_SpritePackerMode: 2 12 | m_SpritePackerPaddingPower: 1 13 | m_EtcTextureCompressorBehavior: 0 14 | m_EtcTextureFastCompressor: 2 15 | m_EtcTextureNormalCompressor: 2 16 | m_EtcTextureBestCompressor: 5 17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd 18 | m_ProjectGenerationRootNamespace: 19 | m_UserGeneratedProjectSuffix: 20 | m_CollabEditorSettings: 21 | inProgressEnabled: 1 22 | m_EnableTextureStreamingInPlayMode: 1 23 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_AutoSyncTransforms: 1 46 | m_AlwaysShowColliders: 0 47 | m_ShowColliderSleep: 1 48 | m_ShowColliderContacts: 0 49 | m_ShowColliderAABB: 0 50 | m_ContactArrowScale: 0.2 51 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 52 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 53 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 54 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 55 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 56 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2018.1.7f1 2 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - Ground 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 1 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | m_TestInitMode: 0 11 | CrashReportingSettings: 12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate 14 | m_Enabled: 0 15 | m_CaptureEditorExceptions: 1 16 | UnityPurchasingSettings: 17 | m_Enabled: 0 18 | m_TestMode: 0 19 | UnityAnalyticsSettings: 20 | m_Enabled: 0 21 | m_InitializeOnStartup: 1 22 | m_TestMode: 0 23 | m_TestEventUrl: 24 | m_TestConfigUrl: 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # Animation Texture Baker for Unity 2 | 3 | Todos: 4 | 5 | - Documentation 6 | - Fix Playback 7 | - Fix Demo -------------------------------------------------------------------------------- /UIElementsSchema/UIElements.xsd: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | --------------------------------------------------------------------------------