├── .config └── dotnet-tools.json ├── .editorconfig ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── actions │ ├── git-lfs-cache │ │ └── action.yml │ ├── setvars │ │ └── action.yml │ └── unity-library-cache │ │ └── action.yml ├── disabled-workflows │ ├── activation.yml │ └── versioning.yml ├── pull_request_template.md ├── variables │ └── projectconfig.env └── workflows │ ├── build-validation.yml │ ├── create-package.yml │ ├── deploy.yml │ ├── format.yml │ └── tests-validation.yml ├── .gitignore ├── .markdownlintignore ├── .vscode └── settings.json ├── .vsconfig ├── Assets ├── Editor.meta ├── Editor │ ├── AssetGUIDRegenerator.cs │ ├── AssetGUIDRegenerator.cs.meta │ ├── Constants.cs │ ├── Constants.cs.meta │ ├── RenameAssets.cs │ ├── RenameAssets.cs.meta │ ├── ScriptBatch.cs │ └── ScriptBatch.cs.meta ├── NuGet.config ├── NuGet.config.meta ├── NuGet.meta ├── NuGet │ ├── Editor.meta │ ├── Editor │ │ ├── NugetForUnity.dll │ │ └── NugetForUnity.dll.meta │ ├── LICENSE │ ├── LICENSE.meta │ ├── README.pdf │ ├── README.pdf.meta │ ├── Resources.meta │ └── Resources │ │ ├── defaultIcon.png │ │ └── defaultIcon.png.meta ├── Packages.meta ├── Packages │ ├── Castle.Core.5.1.0.meta │ ├── Castle.Core.5.1.0 │ │ ├── .signature.p7s │ │ ├── ASL - Apache Software Foundation License.txt │ │ ├── ASL - Apache Software Foundation License.txt.meta │ │ ├── CHANGELOG.md │ │ ├── CHANGELOG.md.meta │ │ ├── Castle.Core.5.1.0.nupkg │ │ ├── Castle.Core.5.1.0.nupkg.meta │ │ ├── LICENSE │ │ ├── LICENSE.meta │ │ ├── castle-logo.png │ │ ├── castle-logo.png.meta │ │ ├── lib.meta │ │ ├── lib │ │ │ ├── netstandard2.0.meta │ │ │ └── netstandard2.0 │ │ │ │ ├── Castle.Core.dll │ │ │ │ ├── Castle.Core.dll.meta │ │ │ │ ├── Castle.Core.xml │ │ │ │ └── Castle.Core.xml.meta │ │ ├── readme.txt │ │ └── readme.txt.meta │ ├── Moq.4.18.2.meta │ ├── Moq.4.18.2 │ │ ├── .signature.p7s │ │ ├── Moq.4.18.2.nupkg │ │ ├── Moq.4.18.2.nupkg.meta │ │ ├── lib.meta │ │ ├── lib │ │ │ ├── netstandard2.0.meta │ │ │ └── netstandard2.0 │ │ │ │ ├── Moq.dll │ │ │ │ ├── Moq.dll.meta │ │ │ │ ├── Moq.xml │ │ │ │ └── Moq.xml.meta │ │ ├── moq.png │ │ └── moq.png.meta │ ├── System.Diagnostics.EventLog.4.7.0.meta │ └── System.Diagnostics.EventLog.4.7.0 │ │ ├── .signature.p7s │ │ ├── LICENSE.TXT │ │ ├── LICENSE.TXT.meta │ │ ├── System.Diagnostics.EventLog.4.7.0.nupkg │ │ ├── System.Diagnostics.EventLog.4.7.0.nupkg.meta │ │ ├── THIRD-PARTY-NOTICES.TXT │ │ ├── THIRD-PARTY-NOTICES.TXT.meta │ │ ├── lib.meta │ │ ├── lib │ │ ├── netstandard2.0.meta │ │ └── netstandard2.0 │ │ │ ├── System.Diagnostics.EventLog.dll │ │ │ ├── System.Diagnostics.EventLog.dll.meta │ │ │ ├── System.Diagnostics.EventLog.xml │ │ │ └── System.Diagnostics.EventLog.xml.meta │ │ ├── useSharedDesignerContext.txt │ │ ├── useSharedDesignerContext.txt.meta │ │ ├── version.txt │ │ └── version.txt.meta ├── Rendering.meta ├── Rendering │ ├── ForwardRenderer.asset │ ├── ForwardRenderer.asset.meta │ ├── LightingSettings.lighting │ ├── LightingSettings.lighting.meta │ ├── SampleSceneProfile.asset │ ├── SampleSceneProfile.asset.meta │ ├── UniversalRP-HighQuality.asset │ ├── UniversalRP-HighQuality.asset.meta │ ├── UniversalRP-LowQuality.asset │ ├── UniversalRP-LowQuality.asset.meta │ ├── UniversalRP-MediumQuality.asset │ ├── UniversalRP-MediumQuality.asset.meta │ ├── UniversalRP-UltraQuality.asset │ ├── UniversalRP-UltraQuality.asset.meta │ ├── UniversalRenderPipelineGlobalSettings.asset │ └── UniversalRenderPipelineGlobalSettings.asset.meta ├── Samples.meta ├── Samples │ ├── ExampleCLI.meta │ ├── ExampleCLI │ │ ├── BasicNetworkExample.unity │ │ ├── BasicNetworkExample.unity.meta │ │ ├── Input.meta │ │ ├── Input │ │ │ ├── InputSystem.inputactions │ │ │ ├── InputSystem.inputactions.meta │ │ │ ├── PlayerActionMap.inputactions │ │ │ └── PlayerActionMap.inputactions.meta │ │ ├── NetworkPlayer.prefab │ │ ├── NetworkPlayer.prefab.meta │ │ ├── New Material.mat │ │ ├── New Material.mat.meta │ │ ├── Scripts.meta │ │ ├── Scripts │ │ │ ├── ExampleNetworkSM.cs │ │ │ ├── ExampleNetworkSM.cs.meta │ │ │ ├── NetworkCommandLine.cs │ │ │ ├── NetworkCommandLine.cs.meta │ │ │ ├── NetworkSMLabel.cs │ │ │ ├── NetworkSMLabel.cs.meta │ │ │ ├── nickmaltbie.NetworkStateMachineUnity.Example.asmdef │ │ │ └── nickmaltbie.NetworkStateMachineUnity.Example.asmdef.meta │ │ ├── UI.meta │ │ └── UI │ │ │ ├── Components.meta │ │ │ ├── Components │ │ │ ├── Control Action Rebind.prefab │ │ │ ├── Control Action Rebind.prefab.meta │ │ │ ├── Control Label.prefab │ │ │ ├── Control Label.prefab.meta │ │ │ ├── ControlsPanel.prefab │ │ │ ├── ControlsPanel.prefab.meta │ │ │ ├── GraphicsPanel.prefab │ │ │ ├── GraphicsPanel.prefab.meta │ │ │ ├── LevelSelectButton.prefab │ │ │ ├── LevelSelectButton.prefab.meta │ │ │ ├── SoundPanel.prefab │ │ │ ├── SoundPanel.prefab.meta │ │ │ ├── Version Number.prefab │ │ │ └── Version Number.prefab.meta │ │ │ ├── Screens.meta │ │ │ ├── Screens │ │ │ ├── InGameHUD.prefab │ │ │ ├── InGameHUD.prefab.meta │ │ │ ├── InGameMenu.prefab │ │ │ ├── InGameMenu.prefab.meta │ │ │ ├── SettingsMenu.prefab │ │ │ └── SettingsMenu.prefab.meta │ │ │ ├── UIManager.prefab │ │ │ └── UIManager.prefab.meta │ ├── ExampleSample.meta │ └── ExampleSample │ │ ├── Animations.meta │ │ ├── Animations │ │ ├── BasicLocomotionController.controller │ │ ├── BasicLocomotionController.controller.meta │ │ ├── Yawn.fbx │ │ ├── Yawn.fbx.meta │ │ ├── idle.fbx │ │ ├── idle.fbx.meta │ │ ├── jump.fbx │ │ ├── jump.fbx.meta │ │ ├── left strafe walking.fbx │ │ ├── left strafe walking.fbx.meta │ │ ├── punching.fbx │ │ ├── punching.fbx.meta │ │ ├── right strafe walking.fbx │ │ ├── right strafe walking.fbx.meta │ │ ├── walking.fbx │ │ └── walking.fbx.meta │ │ ├── ExampleScene.unity │ │ ├── ExampleScene.unity.meta │ │ ├── Input.meta │ │ ├── Input │ │ ├── InputSystem.inputactions │ │ ├── InputSystem.inputactions.meta │ │ ├── PlayerActionMap.inputactions │ │ └── PlayerActionMap.inputactions.meta │ │ ├── Models.meta │ │ ├── Models │ │ ├── Y Bot.fbx │ │ └── Y Bot.fbx.meta │ │ ├── NetworkPlayer.prefab │ │ ├── NetworkPlayer.prefab.meta │ │ ├── New Material.mat │ │ ├── New Material.mat.meta │ │ ├── Prefab.meta │ │ ├── Prefab │ │ ├── AnimatedCharacter Variant.prefab │ │ ├── AnimatedCharacter Variant.prefab.meta │ │ ├── Components.meta │ │ ├── Components │ │ │ ├── Control Action Rebind.prefab │ │ │ ├── Control Action Rebind.prefab.meta │ │ │ ├── Control Label.prefab │ │ │ ├── Control Label.prefab.meta │ │ │ ├── ControlsPanel.prefab │ │ │ ├── ControlsPanel.prefab.meta │ │ │ ├── GraphicsPanel.prefab │ │ │ ├── GraphicsPanel.prefab.meta │ │ │ ├── LevelSelectButton.prefab │ │ │ ├── LevelSelectButton.prefab.meta │ │ │ ├── SoundPanel.prefab │ │ │ ├── SoundPanel.prefab.meta │ │ │ ├── Version Number.prefab │ │ │ └── Version Number.prefab.meta │ │ ├── Screens.meta │ │ ├── Screens │ │ │ ├── InGameHUD.prefab │ │ │ ├── InGameHUD.prefab.meta │ │ │ ├── InGameMenu.prefab │ │ │ ├── InGameMenu.prefab.meta │ │ │ ├── SettingsMenu.prefab │ │ │ ├── SettingsMenu.prefab.meta │ │ │ ├── StartMenu.prefab │ │ │ └── StartMenu.prefab.meta │ │ ├── UIManager.prefab │ │ └── UIManager.prefab.meta │ │ ├── Scripts.meta │ │ └── Scripts │ │ ├── ClientNetworkTransform.cs │ │ ├── ClientNetworkTransform.cs.meta │ │ ├── DisconnectAction.cs │ │ ├── DisconnectAction.cs.meta │ │ ├── ExampleNetworkSMAnim.cs │ │ ├── ExampleNetworkSMAnim.cs.meta │ │ ├── NetworkControls.cs │ │ ├── NetworkControls.cs.meta │ │ ├── NetworkSMAnimLabel.cs │ │ ├── NetworkSMAnimLabel.cs.meta │ │ ├── nickmaltbie.NetworkStateMachineUnity.ExampleAnim.asmdef │ │ └── nickmaltbie.NetworkStateMachineUnity.ExampleAnim.asmdef.meta ├── TextMesh Pro.meta ├── TextMesh Pro │ ├── Documentation.meta │ ├── Documentation │ │ ├── TextMesh Pro User Guide 2016.pdf │ │ └── TextMesh Pro User Guide 2016.pdf.meta │ ├── Fonts.meta │ ├── Fonts │ │ ├── LiberationSans - OFL.txt │ │ ├── LiberationSans - OFL.txt.meta │ │ ├── LiberationSans.ttf │ │ └── LiberationSans.ttf.meta │ ├── Resources.meta │ ├── Resources │ │ ├── Fonts & Materials.meta │ │ ├── Fonts & Materials │ │ │ ├── LiberationSans SDF - Drop Shadow.mat │ │ │ ├── LiberationSans SDF - Drop Shadow.mat.meta │ │ │ ├── LiberationSans SDF - Fallback.asset │ │ │ ├── LiberationSans SDF - Fallback.asset.meta │ │ │ ├── LiberationSans SDF - Outline.mat │ │ │ ├── LiberationSans SDF - Outline.mat.meta │ │ │ ├── LiberationSans SDF.asset │ │ │ └── LiberationSans SDF.asset.meta │ │ ├── LineBreaking Following Characters.txt │ │ ├── LineBreaking Following Characters.txt.meta │ │ ├── LineBreaking Leading Characters.txt │ │ ├── LineBreaking Leading Characters.txt.meta │ │ ├── Sprite Assets.meta │ │ ├── Sprite Assets │ │ │ ├── EmojiOne.asset │ │ │ └── EmojiOne.asset.meta │ │ ├── Style Sheets.meta │ │ ├── Style Sheets │ │ │ ├── Default Style Sheet.asset │ │ │ └── Default Style Sheet.asset.meta │ │ ├── TMP Settings.asset │ │ └── TMP Settings.asset.meta │ ├── Shaders.meta │ ├── Shaders │ │ ├── TMP_Bitmap-Custom-Atlas.shader │ │ ├── TMP_Bitmap-Custom-Atlas.shader.meta │ │ ├── TMP_Bitmap-Mobile.shader │ │ ├── TMP_Bitmap-Mobile.shader.meta │ │ ├── TMP_Bitmap.shader │ │ ├── TMP_Bitmap.shader.meta │ │ ├── TMP_SDF Overlay.shader │ │ ├── TMP_SDF Overlay.shader.meta │ │ ├── TMP_SDF SSD.shader │ │ ├── TMP_SDF SSD.shader.meta │ │ ├── TMP_SDF-Mobile Masking.shader │ │ ├── TMP_SDF-Mobile Masking.shader.meta │ │ ├── TMP_SDF-Mobile Overlay.shader │ │ ├── TMP_SDF-Mobile Overlay.shader.meta │ │ ├── TMP_SDF-Mobile SSD.shader │ │ ├── TMP_SDF-Mobile SSD.shader.meta │ │ ├── TMP_SDF-Mobile.shader │ │ ├── TMP_SDF-Mobile.shader.meta │ │ ├── TMP_SDF-Surface-Mobile.shader │ │ ├── TMP_SDF-Surface-Mobile.shader.meta │ │ ├── TMP_SDF-Surface.shader │ │ ├── TMP_SDF-Surface.shader.meta │ │ ├── TMP_SDF.shader │ │ ├── TMP_SDF.shader.meta │ │ ├── TMP_Sprite.shader │ │ ├── TMP_Sprite.shader.meta │ │ ├── TMPro.cginc │ │ ├── TMPro.cginc.meta │ │ ├── TMPro_Mobile.cginc │ │ ├── TMPro_Mobile.cginc.meta │ │ ├── TMPro_Properties.cginc │ │ ├── TMPro_Properties.cginc.meta │ │ ├── TMPro_Surface.cginc │ │ └── TMPro_Surface.cginc.meta │ ├── Sprites.meta │ └── Sprites │ │ ├── EmojiOne Attribution.txt │ │ ├── EmojiOne Attribution.txt.meta │ │ ├── EmojiOne.json │ │ ├── EmojiOne.json.meta │ │ ├── EmojiOne.png │ │ └── EmojiOne.png.meta ├── packages.config └── packages.config.meta ├── CODE_OF_CONDUCT.md ├── Contributing.md ├── Documentation ├── build.cmd ├── build.sh ├── changelog │ └── toc.yml ├── docfx.json ├── filterConfig.yml ├── manual │ ├── introduction.md │ └── toc.yml └── toc.yml ├── LICENSE.txt ├── Packages ├── com.nickmaltbie.networkstatemachineunity │ ├── CHANGELOG.md │ ├── CHANGELOG.md.meta │ ├── LICENSE.txt │ ├── LICENSE.txt.meta │ ├── README.md │ ├── README.md.meta │ ├── Scripts.meta │ ├── Scripts │ │ ├── NetworkSMAnim.cs │ │ ├── NetworkSMAnim.cs.meta │ │ ├── NetworkSMBehaviour.cs │ │ ├── NetworkSMBehaviour.cs.meta │ │ ├── Utils.meta │ │ ├── Utils │ │ │ ├── NetworkSMUtils.cs │ │ │ └── NetworkSMUtils.cs.meta │ │ ├── nickmaltbie.NetworkStateMachineUnity.asmdef │ │ └── nickmaltbie.NetworkStateMachineUnity.asmdef.meta │ ├── Tests.meta │ ├── Tests │ │ ├── EditMode.meta │ │ ├── EditMode │ │ │ ├── NetworkSMUtilsTests.cs │ │ │ ├── NetworkSMUtilsTests.cs.meta │ │ │ ├── nickmaltbie.NetworkStateMachineUnity.Tests.EditMode.asmdef │ │ │ └── nickmaltbie.NetworkStateMachineUnity.Tests.EditMode.asmdef.meta │ │ ├── PlayMode.meta │ │ └── PlayMode │ │ │ ├── DemoEvents.cs │ │ │ ├── DemoEvents.cs.meta │ │ │ ├── NetworkSMAnimTests.cs │ │ │ ├── NetworkSMAnimTests.cs.meta │ │ │ ├── NetworkSMBehaviourTests.cs │ │ │ ├── NetworkSMBehaviourTests.cs.meta │ │ │ ├── nickmaltbie.NetworkStateMachineUnity.Tests.PlayMode.asmdef │ │ │ └── nickmaltbie.NetworkStateMachineUnity.Tests.PlayMode.asmdef.meta │ ├── package.json │ └── package.json.meta ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── BurstAotSettings_StandaloneLinux64.json ├── BurstAotSettings_StandaloneOSX.json ├── BurstAotSettings_StandaloneWindows.json ├── BurstAotSettings_WebGL.json ├── ClusterInputManager.asset ├── CommonBurstAotSettings.json ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── MemorySettings.asset ├── NavMeshAreas.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── SceneTemplateSettings.json ├── ShaderGraphSettings.asset ├── TagManager.asset ├── TimeManager.asset ├── URPProjectSettings.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset ├── XRSettings.asset └── boot.config ├── README.md └── setup-package.sh /.config/dotnet-tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "version":1, 3 | "isRoot":true, 4 | "tools":{ 5 | "dotnet-format":{ 6 | "version":"5.1.225507", 7 | "commands":[ 8 | "dotnet-format" 9 | ] 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto 3 | 4 | ## Unity ## 5 | 6 | *.cs diff=csharp text 7 | *.cginc text 8 | *.shader text 9 | 10 | *.mat merge=unityyamlmerge eol=lf 11 | *.anim merge=unityyamlmerge eol=lf 12 | *.unity merge=unityyamlmerge eol=lf 13 | *.prefab merge=unityyamlmerge eol=lf 14 | *.physicsMaterial2D merge=unityyamlmerge eol=lf 15 | *.physicMaterial merge=unityyamlmerge eol=lf 16 | *.asset merge=unityyamlmerge eol=lf 17 | *.meta merge=unityyamlmerge eol=lf 18 | *.controller merge=unityyamlmerge eol=lf 19 | 20 | ## git-lfs ## 21 | 22 | #Image 23 | *.jpg filter=lfs diff=lfs merge=lfs -text 24 | *.jpeg filter=lfs diff=lfs merge=lfs -text 25 | *.png filter=lfs diff=lfs merge=lfs -text 26 | *.gif filter=lfs diff=lfs merge=lfs -text 27 | *.psd filter=lfs diff=lfs merge=lfs -text 28 | *.ai filter=lfs diff=lfs merge=lfs -text 29 | 30 | #Audio 31 | *.mp3 filter=lfs diff=lfs merge=lfs -text 32 | *.wav filter=lfs diff=lfs merge=lfs -text 33 | *.ogg filter=lfs diff=lfs merge=lfs -text 34 | 35 | #Video 36 | *.mp4 filter=lfs diff=lfs merge=lfs -text 37 | *.mov filter=lfs diff=lfs merge=lfs -text 38 | 39 | #3D Object 40 | *.FBX filter=lfs diff=lfs merge=lfs -text 41 | *.fbx filter=lfs diff=lfs merge=lfs -text 42 | *.blend filter=lfs diff=lfs merge=lfs -text 43 | *.obj filter=lfs diff=lfs merge=lfs -text 44 | 45 | #ETC 46 | *.a filter=lfs diff=lfs merge=lfs -text 47 | *.exr filter=lfs diff=lfs merge=lfs -text 48 | *.tga filter=lfs diff=lfs merge=lfs -text 49 | *.pdf filter=lfs diff=lfs merge=lfs -text 50 | *.zip filter=lfs diff=lfs merge=lfs -text 51 | *.dll filter=lfs diff=lfs merge=lfs -text 52 | *.unitypackage filter=lfs diff=lfs merge=lfs -text 53 | *.aif filter=lfs diff=lfs merge=lfs -text 54 | *.ttf filter=lfs diff=lfs merge=lfs -text 55 | *.rns filter=lfs diff=lfs merge=lfs -text 56 | *.reason filter=lfs diff=lfs merge=lfs -text 57 | *.lxo filter=lfs diff=lfs merge=lfs -text 58 | 59 | # Some files to ignore 60 | Demo/project_demo.png -filter=lfs -diff=lfs -merge=lfs -text 61 | Documentation/resources/rename_panel.png -filter=lfs -diff=lfs -merge=lfs -text 62 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '[Bug Report Title]' 5 | labels: 'bug' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Additional context** 27 | Add any other context about the problem here. 28 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '[Feature Request Title]' 5 | labels: 'enhancement' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/actions/git-lfs-cache/action.yml: -------------------------------------------------------------------------------- 1 | name: git-lfs-cache 2 | description: "Git Large File Storage Cache Reusable Workflow" 3 | runs: 4 | using: "composite" 5 | steps: 6 | - name: Create LFS file list 7 | run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id 8 | shell: bash 9 | 10 | - name: Cache git lfs 11 | uses: actions/cache@v2 12 | with: 13 | path: .git/lfs 14 | key: lfs-format-${{ hashFiles('.lfs-assets-id') }}-v1.0.1 15 | # use previous cache if current one is not found 16 | restore-keys: | 17 | lfs-format- 18 | 19 | - name: Pull lfs data, if not cached 20 | run: git lfs pull 21 | shell: bash 22 | -------------------------------------------------------------------------------- /.github/actions/setvars/action.yml: -------------------------------------------------------------------------------- 1 | # Reference from article "GitHub Actions share environment variables across workflows" 2 | # by AJ BAJADA from JUNE 23, 2021 3 | # source: https://arinco.com.au/blog/github-actions-share-environment-variables-across-workflows/ 4 | 5 | name: 'Set environment variables' 6 | description: 'Configures environment variables for a workflow' 7 | inputs: 8 | varFilePath: 9 | description: 'File path to variable file or directory. Defaults to ./.github/variables/* if none specified and runs against each file in that directory.' 10 | required: false 11 | default: ./.github/variables/* 12 | runs: 13 | using: "composite" 14 | steps: 15 | - run: | 16 | sed "" ${{ inputs.varFilePath }} >> $GITHUB_ENV 17 | shell: bash 18 | -------------------------------------------------------------------------------- /.github/actions/unity-library-cache/action.yml: -------------------------------------------------------------------------------- 1 | name: unity-library-cache 2 | description: "Unity Library Resources Reusable Workflow" 3 | inputs: 4 | target_platform: 5 | required: true 6 | type: string 7 | runs: 8 | using: "composite" 9 | steps: 10 | - name: Cache Library Folder 11 | uses: actions/cache@v2 12 | with: 13 | path: Library 14 | key: Library-${{ runner.os }}-${{ inputs.target_platform }}-${{ hashFiles('Packages/manifest.json') }}-v1.0.1 15 | restore-keys: | 16 | Library-${{ runner.os }}-${{ inputs.target_platform }}- 17 | -------------------------------------------------------------------------------- /.github/disabled-workflows/activation.yml: -------------------------------------------------------------------------------- 1 | name: Acquire activation file 2 | on: [push] 3 | jobs: 4 | activation: 5 | name: Request manual activation file 🔑 6 | runs-on: ubuntu-latest 7 | steps: 8 | - uses: actions/checkout@v3 9 | - uses: ./.github/actions/setvars 10 | # Request manual activation file 11 | - name: Request manual activation file 12 | id: getManualLicenseFile 13 | uses: webbertakken/unity-request-manual-activation-file@v2.0-alpha-1 14 | with: 15 | unityVersion: ${{ env.UNITY_VERSION }} 16 | # Upload artifact (Unity_v20XX.X.XXXX.alf) 17 | - name: Expose as artifact 18 | uses: actions/upload-artifact@v1 19 | with: 20 | name: ${{ steps.getManualLicenseFile.outputs.filePath }} 21 | path: ${{ steps.getManualLicenseFile.outputs.filePath }} -------------------------------------------------------------------------------- /.github/disabled-workflows/versioning.yml: -------------------------------------------------------------------------------- 1 | name: Update Unity project semantic versioning 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | create: 10 | name: Update semver 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | # You must ALWAYS checkout your repo so that actions in the workflow can use it. 15 | - name: Checkout 16 | uses: actions/checkout@v2 17 | 18 | - name: Find ProjectSettings.asset & increment its bundleVersion number 19 | uses: AlexHolderDeveloper/UnityAutomatedSemver@v1.0.1 20 | id: semver-update 21 | with: 22 | semver-update-type: 'patch' # version number: "major.minor.patch" 23 | 24 | # Validate that the number has been incremented correctly. 25 | - name: Get the new semver number 26 | run: echo "The new semver number for this Unity project is ${{ steps.semver-update.outputs.semver-number }}" 27 | 28 | # Commit & push the updated semver number back into the repo. Yes, you have to fetch & pull in your local workstation after this step is done. 29 | - name: Push changed files back to repo 30 | uses: stefanzweifel/git-auto-commit-action@v4 31 | with: 32 | commit_message: "Updated semver via automated action." 33 | commit_options: '--no-verify --signoff' 34 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | # Description 2 | 3 | Please include a summary of the change and which issue is fixed or what was added to the project. 4 | 5 | # How Has This Been Tested? 6 | 7 | Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration. 8 | 9 | # Checklist 10 | 11 | - [ ] My code follows the style guidelines of this project 12 | - [ ] I have performed a self-review of my own code 13 | - [ ] I have commented my code, particularly in hard-to-understand areas 14 | - [ ] I have made corresponding changes to the documentation 15 | - [ ] I have added tests that demonstrate the new feature or bugfix 16 | - [ ] New and existing unit and integrations tests pass locally with my changes 17 | -------------------------------------------------------------------------------- /.github/variables/projectconfig.env: -------------------------------------------------------------------------------- 1 | PROJECT_NAME=NetworkStateMachineUnity 2 | UNITY_VERSION=2021.3.11f1 3 | PACKAGE_PATH=./Packages/com.nickmaltbie.networkstatemachineunity 4 | -------------------------------------------------------------------------------- /.github/workflows/build-validation.yml: -------------------------------------------------------------------------------- 1 | name: Build Verification 2 | 3 | on: 4 | pull_request: 5 | 6 | env: 7 | UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} 8 | 9 | jobs: 10 | build-verification: 11 | name: Build Validation for Pull Request 12 | runs-on: ubuntu-latest 13 | strategy: 14 | fail-fast: false 15 | 16 | steps: 17 | - uses: actions/checkout@v3 18 | - uses: ./.github/actions/setvars 19 | - uses: ./.github/actions/git-lfs-cache 20 | - uses: ./.github/actions/unity-library-cache 21 | with: 22 | target_platform: WebGL 23 | 24 | - uses: game-ci/unity-builder@v2.0.4 25 | with: 26 | unityVersion: ${{ env.UNITY_VERSION }} 27 | buildMethod: ScriptBatch.TestBuild_WebGL 28 | -------------------------------------------------------------------------------- /.github/workflows/create-package.yml: -------------------------------------------------------------------------------- 1 | name: Create and Publish npm Package 2 | 3 | on: 4 | push: 5 | tags: 6 | - '*' 7 | release: 8 | types: [published] 9 | 10 | jobs: 11 | create-package: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v3 15 | - uses: ./.github/actions/git-lfs-cache 16 | - uses: ./.github/actions/setvars 17 | 18 | - name: Setup Package 19 | run: sh ./setup-package.sh ${{ env.PACKAGE_PATH }} 20 | 21 | - name: Get tag name 22 | uses: olegtarasov/get-tag@v2.1.1 23 | id: releaseTagName 24 | 25 | # Deploy build to release branch 26 | - name: Push package via Release Tag 27 | if: "${{ steps.releaseTagName.outputs.tag != '' }}" 28 | uses: ad-m/github-push-action@master 29 | with: 30 | github_token: ${{ secrets.GITHUB_TOKEN }} 31 | branch: release/${{ steps.releaseTagName.outputs.tag }} 32 | force: true 33 | 34 | - name: Git lfs Pull 35 | run: git lfs pull 36 | shell: bash 37 | 38 | # Publish to 39 | - name: Use Node.js 14 40 | uses: actions/setup-node@v3 41 | with: 42 | node-version: 14 43 | registry-url: https://registry.npmjs.org/ 44 | 45 | - name: Publish Package to NpmJS 46 | run: npm publish 47 | continue-on-error: true 48 | env: 49 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 50 | 51 | # Restore back to original branch 52 | - uses: actions/checkout@v3 53 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: Build and Deploy WebGL and Documentation 2 | 3 | concurrency: production-${{ github.ref }} 4 | 5 | on: 6 | push: 7 | branches: 8 | - 'main' 9 | 10 | env: 11 | UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} 12 | 13 | jobs: 14 | create-package: 15 | name: Create release/latest branch 16 | runs-on: ubuntu-latest 17 | steps: 18 | - uses: nschloe/action-cached-lfs-checkout@v1 19 | - uses: ./.github/actions/setvars 20 | 21 | - name: Setup Package 22 | run: sh ./setup-package.sh ${{ env.PACKAGE_PATH }} 23 | 24 | # Deploy build to release branch 25 | - name: Push package 26 | uses: ad-m/github-push-action@master 27 | with: 28 | github_token: ${{ secrets.GITHUB_TOKEN }} 29 | branch: release/latest 30 | force: true 31 | 32 | build-and-deploy-app: 33 | name: Build and Deploy for Production WebGL 34 | runs-on: ubuntu-latest 35 | strategy: 36 | fail-fast: false 37 | steps: 38 | - uses: actions/checkout@v3 39 | - uses: ./.github/actions/setvars 40 | - uses: ./.github/actions/git-lfs-cache 41 | - uses: ./.github/actions/unity-library-cache 42 | with: 43 | target_platform: WebGL 44 | 45 | # Build the game deployment at build 46 | - uses: game-ci/unity-builder@v2.0.4 47 | with: 48 | unityVersion: ${{ env.UNITY_VERSION }} 49 | targetPlatform: WebGL 50 | buildMethod: ScriptBatch.OfficialBuild_WebGL 51 | 52 | # Deploy build to gh-pages branch 53 | - name: Deploy 54 | uses: peaceiris/actions-gh-pages@v3 55 | with: 56 | force_orphan: true 57 | publish_dir: Builds/${{ env.PROJECT_NAME }}-WebGL 58 | github_token: ${{ secrets.GITHUB_TOKEN }} 59 | 60 | # Build the documentation 61 | build-and-deploy-docs: 62 | runs-on: windows-latest # Required by DocFX 63 | needs: build-and-deploy-app 64 | steps: 65 | - uses: actions/checkout@v3 66 | - uses: ./.github/actions/setvars 67 | - uses: ./.github/actions/git-lfs-cache 68 | 69 | - name: Install DocFX 70 | run: choco install -y docfx 71 | 72 | - name: Build Website 73 | run: .\Documentation\build.cmd 74 | 75 | # Checkout to the previously created gh-pages branch 76 | - name: Deploy 77 | uses: peaceiris/actions-gh-pages@v3 78 | with: 79 | publish_dir: _site 80 | destination_dir: docs 81 | github_token: ${{ secrets.GITHUB_TOKEN }} 82 | -------------------------------------------------------------------------------- /.github/workflows/format.yml: -------------------------------------------------------------------------------- 1 | name: Code and Docs Lint 2 | 3 | # Controls when the action will run. Triggers the workflow on push or pull request 4 | on: 5 | pull_request: 6 | push: 7 | branches: 8 | - 'main' 9 | 10 | env: 11 | UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} 12 | 13 | jobs: 14 | dotnet-code-format: 15 | name: Dotnet Code Validation 16 | runs-on: ubuntu-latest 17 | strategy: 18 | fail-fast: false 19 | 20 | steps: 21 | - uses: actions/checkout@v3 22 | - uses: ./.github/actions/setvars 23 | - uses: ./.github/actions/git-lfs-cache 24 | - uses: ./.github/actions/unity-library-cache 25 | with: 26 | target_platform: WebGL 27 | 28 | - name: Ensure .sln file is generated 29 | uses: game-ci/unity-builder@v2.0.4 30 | with: 31 | unityVersion: ${{ env.UNITY_VERSION }} 32 | buildMethod: Packages.Rider.Editor.RiderScriptEditor.SyncSolution 33 | 34 | - name: Set up .NET 35 | uses: actions/setup-dotnet@v1 36 | with: 37 | dotnet-version: "6.0.x" 38 | 39 | # Restore dotnet tools. This handles cache implicitly. 40 | - run: dotnet tool restore 41 | 42 | - name: Format C# Code 43 | run: dotnet format workspace.sln --severity warn --verbosity detailed --exclude --exclude Library --verify-no-changes 44 | 45 | - name: Format C# Whitespace 46 | run: dotnet format whitespace workspace.sln --verbosity detailed --exclude Library --verify-no-changes 47 | 48 | lint-markdown: 49 | name: Lint Markdown Files 50 | runs-on: ubuntu-latest 51 | strategy: 52 | fail-fast: false 53 | steps: 54 | - name: Check out code 55 | uses: actions/checkout@v3 56 | - uses: ./.github/actions/setvars 57 | 58 | - name: Lint Markdown Files 59 | uses: avto-dev/markdown-lint@v1 60 | with: 61 | args: '.' 62 | 63 | # Build the documentation 64 | docfx-check: 65 | name: DocFx Documentation Validation 66 | runs-on: windows-latest # Required by DocFX 67 | strategy: 68 | fail-fast: false 69 | steps: 70 | - uses: actions/checkout@v3 71 | - uses: ./.github/actions/setvars 72 | - uses: ./.github/actions/git-lfs-cache 73 | 74 | - name: Install DocFX 75 | run: choco install -y docfx 76 | 77 | - name: Build Website 78 | run: .\Documentation\build.cmd 79 | -------------------------------------------------------------------------------- /.github/workflows/tests-validation.yml: -------------------------------------------------------------------------------- 1 | name: Tests Validation 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: 7 | - 'main' 8 | 9 | env: 10 | UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} 11 | 12 | jobs: 13 | test-validation-pull-request: 14 | strategy: 15 | fail-fast: false 16 | name: Test Validation for Pull Request 17 | runs-on: ubuntu-latest 18 | steps: 19 | - uses: actions/checkout@v3 20 | - uses: ./.github/actions/setvars 21 | - uses: ./.github/actions/git-lfs-cache 22 | - uses: ./.github/actions/unity-library-cache 23 | with: 24 | target_platform: WebGL 25 | 26 | - name: Run All Tests for Unity ${{ env.UNITY_VERSION }} 27 | id: tests 28 | uses: game-ci/unity-test-runner@v2.1.0 29 | with: 30 | unityVersion: ${{ env.UNITY_VERSION }} 31 | testMode: All 32 | checkName: All Test Results 33 | customParameters: -testFilter "nickmaltbie.NetworkStateMachineUnity.*" -nographics 34 | coverageOptions: 'generateAdditionalMetrics;generateHtmlReport;generateBadgeReport;assemblyFilters:+nickmaltbie.NetworkStateMachineUnity' 35 | 36 | - name: Copy Coverage Results 37 | run: | 38 | mkdir -p allResults 39 | sudo cp -r ${{ steps.tests.outputs.coveragePath }} allResults/CodeCoverage 40 | sudo cp -r ${{ steps.tests.outputs.artifactsPath }} allResults/artifacts 41 | 42 | - name: Upload Results 43 | uses: actions/upload-artifact@v3 44 | with: 45 | name: Test & Coverage Results 46 | path: allResults 47 | retention-days: 7 48 | 49 | - name: Find Coverage 50 | id: coverage 51 | run: | 52 | echo ::set-output name=COVERAGE_FILE::$(find ${{ steps.tests.outputs.coveragePath }} -name "Summary.xml") 53 | find ${{ steps.tests.outputs.coveragePath }} -name "*.xml" 54 | ls -lah . 55 | ls -lah ${{ steps.tests.outputs.coveragePath }} 56 | 57 | - name: Line Coverage 58 | id: LineCoverage 59 | uses: QwerMike/xpath-action@v1 60 | with: 61 | filename: "${{ steps.coverage.outputs.COVERAGE_FILE }}" 62 | expression: '//CoverageReport/Summary/Linecoverage/text()' 63 | 64 | # - name: Branch Coverage 65 | # id: branchCoverage 66 | # uses: QwerMike/xpath-action@v1 67 | # with: 68 | # filename: "${{ env.COVERAGE_FILE }}" 69 | # expression: '//CoverageSession/Summary/@branchCoverage' 70 | 71 | - name: Parse Coverage 72 | id: ParseCoverage 73 | run: | 74 | echo ::set-output name=LINE_COVERAGE::$(cut -d "=" -f2- <<< ${{ steps.LineCoverage.outputs.result }}) 75 | 76 | - name: Add PR Comment 77 | uses: mshick/add-pr-comment@v1 78 | with: 79 | message: | 80 | Test Coverage Results for ${{ matrix.testMode }}: 81 | Line Coverage: ${{ steps.ParseCoverage.outputs.LINE_COVERAGE }}% 82 | Link to run results: [https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) 83 | repo-token: ${{ secrets.GITHUB_TOKEN }} 84 | repo-token-user-login: 'github-actions[bot]' # The user.login for temporary GitHub tokens 85 | allow-repeats: false # This is the default 86 | 87 | # - name: Assert Coverage 88 | # run: | 89 | # python3 -c "assert ${{ steps.ParseCoverage.outputs.LINE_COVERAGE }} >= 100, 'Line Coverage must be 100%, is only ${{ env.LINE_COVERAGE }}%'" 90 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Uu]ser[Ss]ettings/ 12 | /[Rr]ecordings/ 13 | /[Cc]ode[Cc]overage/ 14 | /[Tt]est[Rr]esults/ 15 | /[Aa]ssets/[Ss]treaming[Aa]ssets/ 16 | 17 | /[Pp]ackages/*/[Ss]amples~ 18 | 19 | # MemoryCaptures can get excessive in size. 20 | # They also could contain extremely sensitive data 21 | /[Mm]emoryCaptures/ 22 | 23 | # Asset meta data should only be ignored when the corresponding asset is also ignored 24 | !/[Aa]ssets/**/*.meta 25 | !/[Pp]ackages/**/*.meta 26 | 27 | # Uncomment this line if you wish to ignore the asset store tools plugin 28 | # /[Aa]ssets/AssetStoreTools* 29 | 30 | # Autogenerated Jetbrains Rider plugin 31 | /[Aa]ssets/Plugins/Editor/JetBrains* 32 | 33 | # Visual Studio cache directory 34 | .vs/ 35 | 36 | # Gradle cache directory 37 | .gradle/ 38 | 39 | # Autogenerated VS/MD/Consulo solution and project files 40 | ExportedObj/ 41 | .consulo/ 42 | *.csproj 43 | *.unityproj 44 | *.sln 45 | *.suo 46 | *.tmp 47 | *.user 48 | *.userprefs 49 | *.pidb 50 | *.booproj 51 | *.svd 52 | *.pdb 53 | *.mdb 54 | *.opendb 55 | *.VC.db 56 | 57 | # Unity3D generated meta files 58 | *.pidb.meta 59 | *.pdb.meta 60 | *.mdb.meta 61 | 62 | # Unity3D generated file on crash reports 63 | sysinfo.txt 64 | 65 | # Builds 66 | *.apk 67 | *.aab 68 | *.unitypackage 69 | 70 | # Crashlytics generated file 71 | crashlytics-build.properties 72 | 73 | # Packed Addressables 74 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 75 | 76 | # Temporary auto-generated Android Assets 77 | /[Aa]ssets/[Ss]treamingAssets/aa.meta 78 | /[Aa]ssets/[Ss]treamingAssets/aa/* 79 | 80 | # Blender backup files 81 | *.blend[0-9] 82 | *.blend[0-9].meta 83 | 84 | # Temporary asset list for building 85 | .lfs-assets-id 86 | 87 | # Scene dependency cache for unity 88 | /[Aa]ssets/SceneDependencyCache 89 | /[Aa]ssets/SceneDependencyCache/* 90 | /[Aa]ssets/SceneDependencyCache.meta 91 | 92 | # Temporary assets creating for builds 93 | /[Aa]ssets/StreamingAssets 94 | /[Aa]ssets/StreamingAssets.meta 95 | 96 | # Ignore package settings 97 | /ProjectSettings/Packages 98 | 99 | # Documentation 100 | Assets/**/obj* 101 | _site/ 102 | Documentation/api/ 103 | Documentation/latest/api/ 104 | Documentation/**/CHANGELOG.md 105 | Documentation/Demo/ 106 | Documentation/index.* 107 | Documentation/LICENSE.txt 108 | Documentation/obj/ 109 | Packages/**/obj* 110 | -------------------------------------------------------------------------------- /.markdownlintignore: -------------------------------------------------------------------------------- 1 | .githooks 2 | .config 3 | Packages 4 | Assets/NuGet 5 | Assets/Packages 6 | CodeCoverage 7 | Builds 8 | Logs 9 | Library 10 | 11 | Assets/WebGLTemplates/Better2020-LICENSE.md 12 | 13 | pull_request_template.md 14 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.exclude": 3 | { 4 | "**/.DS_Store":true, 5 | "**/.git":true, 6 | "**/.gitignore":true, 7 | "**/.gitmodules":true, 8 | "**/*.booproj":true, 9 | "**/*.pidb":true, 10 | "**/*.suo":true, 11 | "**/*.user":true, 12 | "**/*.userprefs":true, 13 | "**/*.unityproj":true, 14 | "**/*.dll":true, 15 | "**/*.exe":true, 16 | "**/*.pdf":true, 17 | "**/*.mid":true, 18 | "**/*.midi":true, 19 | "**/*.wav":true, 20 | "**/*.gif":true, 21 | "**/*.ico":true, 22 | "**/*.jpg":true, 23 | "**/*.jpeg":true, 24 | "**/*.png":true, 25 | "**/*.psd":true, 26 | "**/*.tga":true, 27 | "**/*.tif":true, 28 | "**/*.tiff":true, 29 | "**/*.3ds":true, 30 | "**/*.3DS":true, 31 | "**/*.fbx":true, 32 | "**/*.FBX":true, 33 | "**/*.lxo":true, 34 | "**/*.LXO":true, 35 | "**/*.ma":true, 36 | "**/*.MA":true, 37 | "**/*.obj":true, 38 | "**/*.OBJ":true, 39 | "**/*.asset":true, 40 | "**/*.cubemap":true, 41 | "**/*.flare":true, 42 | "**/*.mat":true, 43 | "**/*.meta":true, 44 | "**/*.prefab":true, 45 | "**/*.unity":true, 46 | "build/":true, 47 | "Build/":true, 48 | "Library/":true, 49 | "library/":true, 50 | "obj/":true, 51 | "Obj/":true, 52 | "ProjectSettings/":true, 53 | "temp/":true, 54 | "Temp/":true 55 | } 56 | } -------------------------------------------------------------------------------- /.vsconfig: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "components": [ 4 | "Microsoft.VisualStudio.Workload.ManagedGame" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /Assets/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7b81e2d169b0be4c8c838df46310327 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Editor/AssetGUIDRegenerator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d38b9f44d47d4b4db827d4d1d0ab4d7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Editor/Constants.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE0073 // The file header does not match the required text 2 | 3 | // Copyright (C) 2022 Nicholas Maltbie 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 6 | // associated documentation files (the "Software"), to deal in the Software without restriction, 7 | // including without limitation the rights to use, copy, modify, merge, publish, distribute, 8 | // sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in all copies or 12 | // substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 15 | // BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 16 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 17 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 18 | // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | // SOFTWARE. 20 | 21 | /// 22 | /// Constants for the project 23 | /// 24 | public static class Constants 25 | { 26 | /// 27 | /// Folder application project is stored in. 28 | /// 29 | public static string ProjectName = "NetworkStateMachineUnity"; 30 | } 31 | -------------------------------------------------------------------------------- /Assets/Editor/Constants.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c36232c68112b5044a1a15916d1995cb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Editor/RenameAssets.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd084cea4039e584992f210bc39742ae 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Editor/ScriptBatch.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11882a1cf483799469e69071df414095 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/NuGet.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Assets/NuGet.config.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 99be77438425fa3469661f9d73c6c3c1 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: {} 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /Assets/NuGet.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 217cb7caed5f7fb49b339428b1d80974 3 | folderAsset: yes 4 | timeCreated: 1510280316 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/NuGet/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3fad56c531ac5a4db190a745f589a8e 3 | folderAsset: yes 4 | timeCreated: 1510280304 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/NuGet/Editor/NugetForUnity.dll: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f595479f6c5d0a3b5f6b909f3b8c48d158cace088f0b0f2a091b5234911e8beb 3 | size 95744 4 | -------------------------------------------------------------------------------- /Assets/NuGet/Editor/NugetForUnity.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8dc1be91775c4bb469f6b74cef450eaa 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Assets/NuGet/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Patrick McCarthy 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 | -------------------------------------------------------------------------------- /Assets/NuGet/LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d9014b99ad06af428514a5902d29ff3 3 | timeCreated: 1573248500 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NuGet/README.pdf: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ddeae90440270610a7c46a0f9d257a9d214e4bd802eba31b7d436a328b535aa2 3 | size 246595 4 | -------------------------------------------------------------------------------- /Assets/NuGet/README.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83c5d2001771f15429a88d67e81366d6 3 | timeCreated: 1517876157 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NuGet/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1738075a39a390447b7a620ca6962142 3 | folderAsset: yes 4 | timeCreated: 1510280362 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/NuGet/Resources/defaultIcon.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d8377f973abb6f54a6f8b2b281401720b5754141e47050f539b9a4ea88df017a 3 | size 4415 4 | -------------------------------------------------------------------------------- /Assets/NuGet/Resources/defaultIcon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eec19781926cd2248b7c9abfde8db555 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 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: 215e43cda847e6d44af8b40376eeed8a 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/Packages.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88b85840769f138439f2d03c55cd14c0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 65aeecb4048d8f34f8e0fad13ee7c35d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholas-maltbie/NetworkStateMachineUnity/0ea7d65b6ee51ce8ebf52946ba80f1ca46086778/Assets/Packages/Castle.Core.5.1.0/.signature.p7s -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/ASL - Apache Software Foundation License.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8eb867a40434d114d8a3209ebbe68cc0 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b40b9a4bbee40f64f91c201e6b748f07 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/Castle.Core.5.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholas-maltbie/NetworkStateMachineUnity/0ea7d65b6ee51ce8ebf52946ba80f1ca46086778/Assets/Packages/Castle.Core.5.1.0/Castle.Core.5.1.0.nupkg -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/Castle.Core.5.1.0.nupkg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 92ce098f4d0643e4ebce88dff2fefae0 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2004-2021 Castle Project - http://www.castleproject.org/ 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5814b5ddd94f2724cb951efb11df91e7 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/castle-logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:cffc0bbae531794e1191a140cac052613852b6d733760d2dcae3d19a37325a09 3 | size 3801 4 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/lib.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 311cdcba0df673a48804c3aad2bebeae 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/lib/netstandard2.0.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 54b26e2557f722f4e97e368cae94d409 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/lib/netstandard2.0/Castle.Core.dll: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5f63afee85e391f0d6ff8791eadfea1756ee5cfc803a435e0d4568f83ec9de03 3 | size 383488 4 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/lib/netstandard2.0/Castle.Core.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d321e02a22f516b489001969840abaa6 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/lib/netstandard2.0/Castle.Core.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd59a8611786c7b4f943a8af248768ab 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/readme.txt: -------------------------------------------------------------------------------- 1 | Thanks for downloading this Castle package. 2 | You can find full list of changes in CHANGELOG.md 3 | 4 | Documentation (work in progress, contributions appreciated): 5 | DictionaryAdapter: https://github.com/castleproject/Core/blob/master/docs/dictionaryadapter.md 6 | DynamicProxy: https://github.com/castleproject/Core/blob/master/docs/dynamicproxy.md 7 | Discussion group: http://groups.google.com/group/castle-project-users 8 | StackOverflow tags: castle-dynamicproxy, castle-dictionaryadapter, castle 9 | 10 | Issue tracker: https://github.com/castleproject/Core/issues -------------------------------------------------------------------------------- /Assets/Packages/Castle.Core.5.1.0/readme.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9207ee69648f4474b90fbdfa62134796 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/Moq.4.18.2.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb0265fdcb50f994789d579cdb6ae4fe 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Moq.4.18.2/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholas-maltbie/NetworkStateMachineUnity/0ea7d65b6ee51ce8ebf52946ba80f1ca46086778/Assets/Packages/Moq.4.18.2/.signature.p7s -------------------------------------------------------------------------------- /Assets/Packages/Moq.4.18.2/Moq.4.18.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholas-maltbie/NetworkStateMachineUnity/0ea7d65b6ee51ce8ebf52946ba80f1ca46086778/Assets/Packages/Moq.4.18.2/Moq.4.18.2.nupkg -------------------------------------------------------------------------------- /Assets/Packages/Moq.4.18.2/Moq.4.18.2.nupkg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6c0c0ad4c4707f4394d063417ebf7cd 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/Moq.4.18.2/lib.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bf39e7030e84c24aa84c99b422a23ab 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Moq.4.18.2/lib/netstandard2.0.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d73dbcdb514d18d419f543be1e6e639e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Moq.4.18.2/lib/netstandard2.0/Moq.dll: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2a3e48ee6b21c3b26143138e947d5735dcc51969ac2af0ffef4e2467656c08b6 3 | size 285696 4 | -------------------------------------------------------------------------------- /Assets/Packages/Moq.4.18.2/lib/netstandard2.0/Moq.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a72952afdd7f70d43973f8962038a45a 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Assets/Packages/Moq.4.18.2/lib/netstandard2.0/Moq.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e40e963ec49146e49acd30696d77f31e 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/Moq.4.18.2/moq.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3444b35d55cbf0f456293be69d0c40cde2516304637a2c3fba987c0dac010342 3 | size 6829 4 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6429f7a46b3cb844b5b11b9e53e7b0c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholas-maltbie/NetworkStateMachineUnity/0ea7d65b6ee51ce8ebf52946ba80f1ca46086778/Assets/Packages/System.Diagnostics.EventLog.4.7.0/.signature.p7s -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/LICENSE.TXT: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) .NET Foundation and Contributors 4 | 5 | All rights reserved. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/LICENSE.TXT.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d7d86f33a3bdd94895cb3de9be5b8a7 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/System.Diagnostics.EventLog.4.7.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholas-maltbie/NetworkStateMachineUnity/0ea7d65b6ee51ce8ebf52946ba80f1ca46086778/Assets/Packages/System.Diagnostics.EventLog.4.7.0/System.Diagnostics.EventLog.4.7.0.nupkg -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/System.Diagnostics.EventLog.4.7.0.nupkg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f9d60b883cc1d94ab0f4f1efef80342 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/THIRD-PARTY-NOTICES.TXT.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2da9d149e95d4e34fa3b0dcd55f47b4e 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/lib.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5afc7a7f77117424c81c5df1d8c161f5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/lib/netstandard2.0.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9795bd5ca759da94ba1ced32f010c3ca 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/lib/netstandard2.0/System.Diagnostics.EventLog.dll: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:10997f3bd7b4b4afbeb1a4e5fb118977de11a6696f968c0df22071b2052f512a 3 | size 49256 4 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/lib/netstandard2.0/System.Diagnostics.EventLog.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 113948040f1571649ba8991761c05998 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/lib/netstandard2.0/System.Diagnostics.EventLog.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44e7f568c8b8fd541aab1cc977dfbfb0 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/useSharedDesignerContext.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholas-maltbie/NetworkStateMachineUnity/0ea7d65b6ee51ce8ebf52946ba80f1ca46086778/Assets/Packages/System.Diagnostics.EventLog.4.7.0/useSharedDesignerContext.txt -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/useSharedDesignerContext.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef759f8de3db49d42a217990c2bf0a29 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/version.txt: -------------------------------------------------------------------------------- 1 | 0f7f38c4fd323b26da10cce95f857f77f0f09b48 2 | -------------------------------------------------------------------------------- /Assets/Packages/System.Diagnostics.EventLog.4.7.0/version.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88e48ff8642a7654792721c4adfd8b49 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Rendering.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c57f2f9379fdd5540bcb46726e8b1879 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rendering/ForwardRenderer.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} 13 | m_Name: ForwardRenderer 14 | m_EditorClassIdentifier: 15 | debugShaders: 16 | debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3} 17 | m_RendererFeatures: [] 18 | m_RendererFeatureMap: 19 | m_UseNativeRenderPass: 0 20 | postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} 21 | xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2} 22 | shaders: 23 | blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} 24 | copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} 25 | screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd, type: 3} 26 | samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} 27 | stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} 28 | fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} 29 | materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3} 30 | coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3} 31 | coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3} 32 | cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3} 33 | objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, type: 3} 34 | m_AssetVersion: 2 35 | m_OpaqueLayerMask: 36 | serializedVersion: 2 37 | m_Bits: 4294967295 38 | m_TransparentLayerMask: 39 | serializedVersion: 2 40 | m_Bits: 4294967295 41 | m_DefaultStencilState: 42 | overrideStencilState: 0 43 | stencilReference: 0 44 | stencilCompareFunction: 8 45 | passOperation: 0 46 | failOperation: 0 47 | zFailOperation: 0 48 | m_ShadowTransparentReceive: 1 49 | m_RenderingMode: 0 50 | m_DepthPrimingMode: 0 51 | m_CopyDepthMode: 0 52 | m_AccurateGbufferNormals: 0 53 | m_ClusteredRendering: 0 54 | m_TileSize: 32 55 | m_IntermediateTextureMode: 1 56 | -------------------------------------------------------------------------------- /Assets/Rendering/ForwardRenderer.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 915cfacd5a807c24d898e9e2461d0e63 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rendering/LightingSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: LightingSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 1 12 | m_EnableBakedLightmaps: 1 13 | m_EnableRealtimeLightmaps: 0 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 2 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 512 45 | m_PVREnvironmentSampleCount: 256 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 1 50 | m_PVREnvironmentMIS: 1 51 | m_PVRFilteringMode: 1 52 | m_PVRDenoiserTypeDirect: 1 53 | m_PVRDenoiserTypeIndirect: 1 54 | m_PVRDenoiserTypeAO: 1 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /Assets/Rendering/LightingSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c4960fe313a8dc44a43d30f587500dd 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rendering/SampleSceneProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-7893295128165547882 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 3 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 0b2db86121404754db890f4c8dfe81b2, type: 3} 13 | m_Name: Bloom 14 | m_EditorClassIdentifier: 15 | active: 1 16 | m_AdvancedMode: 0 17 | threshold: 18 | m_OverrideState: 1 19 | m_Value: 1 20 | min: 0 21 | intensity: 22 | m_OverrideState: 1 23 | m_Value: 1 24 | min: 0 25 | scatter: 26 | m_OverrideState: 0 27 | m_Value: 0.7 28 | min: 0 29 | max: 1 30 | clamp: 31 | m_OverrideState: 0 32 | m_Value: 65472 33 | min: 0 34 | tint: 35 | m_OverrideState: 0 36 | m_Value: {r: 1, g: 1, b: 1, a: 1} 37 | hdr: 0 38 | showAlpha: 0 39 | showEyeDropper: 1 40 | highQualityFiltering: 41 | m_OverrideState: 0 42 | m_Value: 0 43 | dirtTexture: 44 | m_OverrideState: 0 45 | m_Value: {fileID: 0} 46 | dirtIntensity: 47 | m_OverrideState: 0 48 | m_Value: 0 49 | min: 0 50 | --- !u!114 &-7011558710299706105 51 | MonoBehaviour: 52 | m_ObjectHideFlags: 3 53 | m_CorrespondingSourceObject: {fileID: 0} 54 | m_PrefabInstance: {fileID: 0} 55 | m_PrefabAsset: {fileID: 0} 56 | m_GameObject: {fileID: 0} 57 | m_Enabled: 1 58 | m_EditorHideFlags: 0 59 | m_Script: {fileID: 11500000, guid: 899c54efeace73346a0a16faa3afe726, type: 3} 60 | m_Name: Vignette 61 | m_EditorClassIdentifier: 62 | active: 1 63 | m_AdvancedMode: 0 64 | color: 65 | m_OverrideState: 0 66 | m_Value: {r: 0, g: 0, b: 0, a: 1} 67 | hdr: 0 68 | showAlpha: 0 69 | showEyeDropper: 1 70 | center: 71 | m_OverrideState: 0 72 | m_Value: {x: 0.5, y: 0.5} 73 | intensity: 74 | m_OverrideState: 1 75 | m_Value: 0.25 76 | min: 0 77 | max: 1 78 | smoothness: 79 | m_OverrideState: 1 80 | m_Value: 0.4 81 | min: 0.01 82 | max: 1 83 | rounded: 84 | m_OverrideState: 0 85 | m_Value: 0 86 | --- !u!114 &11400000 87 | MonoBehaviour: 88 | m_ObjectHideFlags: 0 89 | m_CorrespondingSourceObject: {fileID: 0} 90 | m_PrefabInstance: {fileID: 0} 91 | m_PrefabAsset: {fileID: 0} 92 | m_GameObject: {fileID: 0} 93 | m_Enabled: 1 94 | m_EditorHideFlags: 0 95 | m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3} 96 | m_Name: SampleSceneProfile 97 | m_EditorClassIdentifier: 98 | components: 99 | - {fileID: 849379129802519247} 100 | - {fileID: -7893295128165547882} 101 | - {fileID: -7011558710299706105} 102 | --- !u!114 &849379129802519247 103 | MonoBehaviour: 104 | m_ObjectHideFlags: 3 105 | m_CorrespondingSourceObject: {fileID: 0} 106 | m_PrefabInstance: {fileID: 0} 107 | m_PrefabAsset: {fileID: 0} 108 | m_GameObject: {fileID: 0} 109 | m_Enabled: 1 110 | m_EditorHideFlags: 0 111 | m_Script: {fileID: 11500000, guid: 97c23e3b12dc18c42a140437e53d3951, type: 3} 112 | m_Name: Tonemapping 113 | m_EditorClassIdentifier: 114 | active: 1 115 | m_AdvancedMode: 0 116 | mode: 117 | m_OverrideState: 1 118 | m_Value: 2 119 | -------------------------------------------------------------------------------- /Assets/Rendering/SampleSceneProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 402d5bd791260ca42bcb24d4bf256b12 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rendering/UniversalRP-HighQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-HighQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 9 16 | k_AssetPreviousVersion: 9 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 915cfacd5a807c24d898e9e2461d0e63, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsTerrainHoles: 1 26 | m_StoreActionsOptimization: 0 27 | m_SupportsHDR: 1 28 | m_MSAA: 2 29 | m_RenderScale: 1 30 | m_UpscalingFilter: 0 31 | m_FsrOverrideSharpness: 0 32 | m_FsrSharpness: 0.92 33 | m_MainLightRenderingMode: 1 34 | m_MainLightShadowsSupported: 1 35 | m_MainLightShadowmapResolution: 512 36 | m_AdditionalLightsRenderingMode: 1 37 | m_AdditionalLightsPerObjectLimit: 4 38 | m_AdditionalLightShadowsSupported: 1 39 | m_AdditionalLightsShadowmapResolution: 512 40 | m_AdditionalLightsShadowResolutionTierLow: 128 41 | m_AdditionalLightsShadowResolutionTierMedium: 256 42 | m_AdditionalLightsShadowResolutionTierHigh: 512 43 | m_ReflectionProbeBlending: 0 44 | m_ReflectionProbeBoxProjection: 0 45 | m_ShadowDistance: 50 46 | m_ShadowCascadeCount: 2 47 | m_Cascade2Split: 0.25 48 | m_Cascade3Split: {x: 0.1, y: 0.3} 49 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 50 | m_CascadeBorder: 0.2 51 | m_ShadowDepthBias: 1 52 | m_ShadowNormalBias: 1 53 | m_SoftShadowsSupported: 1 54 | m_ConservativeEnclosingSphere: 0 55 | m_NumIterationsEnclosingSphere: 64 56 | m_AdditionalLightsCookieResolution: 2048 57 | m_AdditionalLightsCookieFormat: 3 58 | m_UseSRPBatcher: 1 59 | m_SupportsDynamicBatching: 0 60 | m_MixedLightingSupported: 1 61 | m_SupportsLightLayers: 0 62 | m_DebugLevel: 0 63 | m_UseAdaptivePerformance: 0 64 | m_ColorGradingMode: 0 65 | m_ColorGradingLutSize: 32 66 | m_UseFastSRGBLinearConversion: 0 67 | m_ShadowType: 1 68 | m_LocalShadowsSupported: 0 69 | m_LocalShadowsAtlasResolution: 256 70 | m_MaxPixelLights: 0 71 | m_ShadowAtlasResolution: 256 72 | m_ShaderVariantLogLevel: 0 73 | m_VolumeFrameworkUpdateMode: 0 74 | m_ShadowCascades: 1 75 | -------------------------------------------------------------------------------- /Assets/Rendering/UniversalRP-HighQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5732a122093a8eb4f8dd75cdbfd9a620 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rendering/UniversalRP-LowQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-LowQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 9 16 | k_AssetPreviousVersion: 9 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 55200db730075b4459673a9412a4209a, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsTerrainHoles: 1 26 | m_SupportsHDR: 0 27 | m_MSAA: 1 28 | m_RenderScale: 1 29 | m_MainLightRenderingMode: 1 30 | m_MainLightShadowsSupported: 0 31 | m_MainLightShadowmapResolution: 2048 32 | m_AdditionalLightsRenderingMode: 0 33 | m_AdditionalLightsPerObjectLimit: 4 34 | m_AdditionalLightShadowsSupported: 0 35 | m_AdditionalLightsShadowmapResolution: 512 36 | m_AdditionalLightsShadowResolutionTierLow: 128 37 | m_AdditionalLightsShadowResolutionTierMedium: 256 38 | m_AdditionalLightsShadowResolutionTierHigh: 512 39 | m_ShadowDistance: 50 40 | m_ShadowCascadeCount: 1 41 | m_Cascade2Split: 0.25 42 | m_Cascade3Split: {x: 0.1, y: 0.3} 43 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 44 | m_ShadowDepthBias: 1 45 | m_ShadowNormalBias: 1 46 | m_SoftShadowsSupported: 0 47 | m_UseSRPBatcher: 1 48 | m_SupportsDynamicBatching: 0 49 | m_MixedLightingSupported: 1 50 | m_DebugLevel: 0 51 | m_UseAdaptivePerformance: 1 52 | m_ColorGradingMode: 0 53 | m_ColorGradingLutSize: 16 54 | m_UseFastSRGBLinearConversion: 0 55 | m_ShadowType: 1 56 | m_LocalShadowsSupported: 0 57 | m_LocalShadowsAtlasResolution: 256 58 | m_MaxPixelLights: 0 59 | m_ShadowAtlasResolution: 256 60 | m_ShaderVariantLogLevel: 0 61 | m_ShadowCascades: 0 62 | -------------------------------------------------------------------------------- /Assets/Rendering/UniversalRP-LowQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 091b602f82754ba44a5e03538afedf16 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rendering/UniversalRP-MediumQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-MediumQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 9 16 | k_AssetPreviousVersion: 9 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 55200db730075b4459673a9412a4209a, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsTerrainHoles: 1 26 | m_SupportsHDR: 0 27 | m_MSAA: 1 28 | m_RenderScale: 1 29 | m_MainLightRenderingMode: 1 30 | m_MainLightShadowsSupported: 1 31 | m_MainLightShadowmapResolution: 2048 32 | m_AdditionalLightsRenderingMode: 1 33 | m_AdditionalLightsPerObjectLimit: 4 34 | m_AdditionalLightShadowsSupported: 0 35 | m_AdditionalLightsShadowmapResolution: 512 36 | m_AdditionalLightsShadowResolutionTierLow: 128 37 | m_AdditionalLightsShadowResolutionTierMedium: 256 38 | m_AdditionalLightsShadowResolutionTierHigh: 512 39 | m_ShadowDistance: 50 40 | m_ShadowCascadeCount: 1 41 | m_Cascade2Split: 0.25 42 | m_Cascade3Split: {x: 0.1, y: 0.3} 43 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 44 | m_ShadowDepthBias: 1 45 | m_ShadowNormalBias: 1 46 | m_SoftShadowsSupported: 0 47 | m_UseSRPBatcher: 1 48 | m_SupportsDynamicBatching: 0 49 | m_MixedLightingSupported: 1 50 | m_DebugLevel: 0 51 | m_UseAdaptivePerformance: 1 52 | m_ColorGradingMode: 0 53 | m_ColorGradingLutSize: 32 54 | m_UseFastSRGBLinearConversion: 0 55 | m_ShadowType: 1 56 | m_LocalShadowsSupported: 0 57 | m_LocalShadowsAtlasResolution: 256 58 | m_MaxPixelLights: 0 59 | m_ShadowAtlasResolution: 256 60 | m_ShaderVariantLogLevel: 0 61 | m_ShadowCascades: 0 62 | -------------------------------------------------------------------------------- /Assets/Rendering/UniversalRP-MediumQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afbbb6c286018ee49a46856b2f3be95b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rendering/UniversalRP-UltraQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-UltraQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 9 16 | k_AssetPreviousVersion: 9 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 55200db730075b4459673a9412a4209a, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsTerrainHoles: 1 26 | m_SupportsHDR: 1 27 | m_MSAA: 8 28 | m_RenderScale: 1 29 | m_MainLightRenderingMode: 1 30 | m_MainLightShadowsSupported: 1 31 | m_MainLightShadowmapResolution: 4096 32 | m_AdditionalLightsRenderingMode: 1 33 | m_AdditionalLightsPerObjectLimit: 4 34 | m_AdditionalLightShadowsSupported: 1 35 | m_AdditionalLightsShadowmapResolution: 4096 36 | m_AdditionalLightsShadowResolutionTierLow: 1024 37 | m_AdditionalLightsShadowResolutionTierMedium: 2048 38 | m_AdditionalLightsShadowResolutionTierHigh: 4096 39 | m_ShadowDistance: 100 40 | m_ShadowCascadeCount: 4 41 | m_Cascade2Split: 0.25 42 | m_Cascade3Split: {x: 0.1, y: 0.3} 43 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 44 | m_ShadowDepthBias: 1 45 | m_ShadowNormalBias: 1 46 | m_SoftShadowsSupported: 1 47 | m_UseSRPBatcher: 1 48 | m_SupportsDynamicBatching: 0 49 | m_MixedLightingSupported: 1 50 | m_DebugLevel: 0 51 | m_UseAdaptivePerformance: 0 52 | m_ColorGradingMode: 0 53 | m_ColorGradingLutSize: 32 54 | m_UseFastSRGBLinearConversion: 0 55 | m_ShadowType: 1 56 | m_LocalShadowsSupported: 0 57 | m_LocalShadowsAtlasResolution: 256 58 | m_MaxPixelLights: 0 59 | m_ShadowAtlasResolution: 256 60 | m_ShaderVariantLogLevel: 0 61 | m_ShadowCascades: 2 62 | -------------------------------------------------------------------------------- /Assets/Rendering/UniversalRP-UltraQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3df5ee31640d93346a2a0a6b79135f3d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rendering/UniversalRenderPipelineGlobalSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 2ec995e51a6e251468d2a3fd8a686257, type: 3} 13 | m_Name: UniversalRenderPipelineGlobalSettings 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 2 16 | lightLayerName0: Light Layer default 17 | lightLayerName1: Light Layer 1 18 | lightLayerName2: Light Layer 2 19 | lightLayerName3: Light Layer 3 20 | lightLayerName4: Light Layer 4 21 | lightLayerName5: Light Layer 5 22 | lightLayerName6: Light Layer 6 23 | lightLayerName7: Light Layer 7 24 | m_StripDebugVariants: 1 25 | m_StripUnusedPostProcessingVariants: 0 26 | m_StripUnusedVariants: 1 27 | supportRuntimeDebugDisplay: 0 28 | -------------------------------------------------------------------------------- /Assets/Rendering/UniversalRenderPipelineGlobalSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f149e0eb56b9587468427594aa059b3b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c4cbdbbda8530b48ae73e1f0ba4f202 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd4d626264b38ec48a072ab9d90e1cb4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/BasicNetworkExample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a21064e53fcd9084e8a93a0ac5c6b917 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/Input.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93aed938f0176e54eb7a7da823912392 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/Input/InputSystem.inputactions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: edf3d82492026d54bb592a5b487e974c 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} 11 | generateWrapperCode: 0 12 | wrapperCodePath: 13 | wrapperClassName: 14 | wrapperCodeNamespace: 15 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/Input/PlayerActionMap.inputactions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 94416f2217eea7041b714aca3a48fd9b 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} 11 | generateWrapperCode: 0 12 | wrapperCodePath: 13 | wrapperClassName: 14 | wrapperCodeNamespace: UnityEngine.InputSystem 15 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/NetworkPlayer.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7de5526a53ffb94aa5566e4a9394df1 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/New Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff27afd426e4ece43b9fe157265a7458 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73b061f918925714291e2e38fdc39e00 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/Scripts/ExampleNetworkSM.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f4562c411723014c9888482799f96ac 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/Scripts/NetworkCommandLine.cs: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 Nicholas Maltbie 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 4 | // associated documentation files (the "Software"), to deal in the Software without restriction, 5 | // including without limitation the rights to use, copy, modify, merge, publish, distribute, 6 | // sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 7 | // furnished to do so, subject to the following conditions: 8 | // 9 | // The above copyright notice and this permission notice shall be included in all copies or 10 | // substantial portions of the Software. 11 | // 12 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 13 | // BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 14 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 15 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | // SOFTWARE. 18 | 19 | using System.Collections.Generic; 20 | using Unity.Netcode; 21 | using UnityEngine; 22 | 23 | namespace nickmaltbie.NetworkStateMachineUnity 24 | { 25 | public class NetworkCommandLine : MonoBehaviour 26 | { 27 | private NetworkManager netManager; 28 | 29 | public void Start() 30 | { 31 | netManager = GetComponentInParent(); 32 | 33 | if (Application.isEditor) 34 | { 35 | return; 36 | } 37 | 38 | Dictionary args = GetCommandlineArgs(); 39 | 40 | if (args.TryGetValue("-mode", out string mode)) 41 | { 42 | switch (mode) 43 | { 44 | case "server": 45 | netManager.StartServer(); 46 | break; 47 | case "host": 48 | netManager.StartHost(); 49 | break; 50 | case "client": 51 | 52 | netManager.StartClient(); 53 | break; 54 | } 55 | } 56 | } 57 | 58 | private Dictionary GetCommandlineArgs() 59 | { 60 | var argDictionary = new Dictionary(); 61 | 62 | string[] args = System.Environment.GetCommandLineArgs(); 63 | 64 | for (int i = 0; i < args.Length; ++i) 65 | { 66 | string arg = args[i].ToLower(); 67 | 68 | if (arg.StartsWith("-")) 69 | { 70 | string value = i < args.Length - 1 ? args[i + 1].ToLower() : null; 71 | value = (value?.StartsWith("-") ?? false) ? null : value; 72 | 73 | argDictionary.Add(arg, value); 74 | } 75 | } 76 | 77 | return argDictionary; 78 | } 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/Scripts/NetworkCommandLine.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 62c7a6bc085d8d647890b77711efb587 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/Scripts/NetworkSMLabel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 Nicholas Maltbie 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 4 | // associated documentation files (the "Software"), to deal in the Software without restriction, 5 | // including without limitation the rights to use, copy, modify, merge, publish, distribute, 6 | // sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 7 | // furnished to do so, subject to the following conditions: 8 | // 9 | // The above copyright notice and this permission notice shall be included in all copies or 10 | // substantial portions of the Software. 11 | // 12 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 13 | // BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 14 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 15 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | // SOFTWARE. 18 | 19 | using System.Linq; 20 | using System.Text; 21 | using TMPro; 22 | using Unity.Netcode; 23 | using UnityEngine; 24 | 25 | namespace nickmaltbie.NetworkStateMachineUnity.Example 26 | { 27 | /// 28 | /// Example label for a ExampleSMLabel. 29 | /// 30 | public class NetworkSMLabel : MonoBehaviour 31 | { 32 | public void Update() 33 | { 34 | ExampleNetworkSM[] players = GameObject.FindObjectsOfType(); 35 | var targetText = new StringBuilder(); 36 | 37 | foreach (ExampleNetworkSM player in players 38 | .OrderBy(players => players.GetComponent().OwnerClientId)) 39 | { 40 | NetworkObject networkObject = player.GetComponent(); 41 | 42 | string currentState = player?.CurrentState.ToString() ?? "null"; 43 | if (currentState.Contains("+")) 44 | { 45 | currentState = currentState.Substring(currentState.LastIndexOf("+") + 1); 46 | } 47 | 48 | targetText.AppendLine($"Player: {networkObject.OwnerClientId}\n CurrentState: {currentState}"); 49 | } 50 | 51 | if (players.Length == 0) 52 | { 53 | targetText.AppendLine($"No Players Connected."); 54 | } 55 | 56 | TextMeshProUGUI label = GetComponent(); 57 | label.text = targetText.ToString(); 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/Scripts/NetworkSMLabel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88ec52bb2a0a2314caf824c9585ba1d8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/Scripts/nickmaltbie.NetworkStateMachineUnity.Example.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nickmaltbie.NetworkStateMachineUnity.Example", 3 | "rootNamespace": "nickmaltbie.NetworkStateMachineUnity.Example", 4 | "references": [ 5 | "Unity.Netcode.Runtime", 6 | "nickmaltbie.NetworkStateMachineUnity", 7 | "nickmaltbie.StateMachineUnity", 8 | "nickmaltbie.ScreenManager.TestCommon", 9 | "Unity.InputSystem", 10 | "Unity.TextMeshPro" 11 | ], 12 | "includePlatforms": [], 13 | "excludePlatforms": [], 14 | "allowUnsafeCode": false, 15 | "overrideReferences": false, 16 | "precompiledReferences": [], 17 | "autoReferenced": true, 18 | "defineConstraints": [], 19 | "versionDefines": [], 20 | "noEngineReferences": false 21 | } -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/Scripts/nickmaltbie.NetworkStateMachineUnity.Example.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c41d90cf8745b1046a52fa9f126d1c40 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a07cd2541aeb2da478ba8375f3b368d1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b4e5c04c061ca04db1a1e3af66154be 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Components/Control Action Rebind.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4b9ec54695765145976fc3db794ee89 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Components/Control Label.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b2117f69e8eb614bafe1640e1f63a45 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Components/ControlsPanel.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a66c9b786ca572543b9269c6296fee6e 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Components/GraphicsPanel.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5321afc137196e14cb052cf3e12813f4 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Components/LevelSelectButton.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd15862d53f124a4a9f906a2a37dd316 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Components/SoundPanel.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a1904c08e70ca34aa72f2155b0e23da 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Components/Version Number.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee5a8c9f79c9ce5419874fd559bbe933 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Screens.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c56259846abbbcd4e8d2ae52d713a036 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Screens/InGameHUD.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e3753b14a47f7f41b79aab1efbfa160 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Screens/InGameMenu.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1a1218794699214f8485faad00d3c97 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/Screens/SettingsMenu.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8183eb0ba3a2ad541952afbeb7725840 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleCLI/UI/UIManager.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7edea17d83ea14f4cbb839a4e08e48bb 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 879987ff5d0c5894f83ffd2be30df7bc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Animations.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a6e82d4dd20ee4418ad5a8fe8eefbe6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Animations/BasicLocomotionController.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 552312024a417d240bdb53ff4a0a8e18 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 9100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Animations/Yawn.fbx: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:57c48289b108ce612d7d13290abe9c9d9b325d8ea2d7561a287e4f43a2e2313b 3 | size 990592 4 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Animations/idle.fbx: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:860d7bb2442721ead6d020b932117155d2f06e789c304c38fd61cf1bcf6aa159 3 | size 710625 4 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Animations/jump.fbx: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6b86caa74684be51757ec2b7e411d517f2c6ae5dbb89eabf8d917841d383ae8c 3 | size 495265 4 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Animations/left strafe walking.fbx: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5f321e8ade66afd648792ef46d6faec68e5ab6f45de72f135ffe5a7246c7181a 3 | size 376321 4 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Animations/punching.fbx: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:8b439aa8ab59a1c2eb157364c8000b644883ca8192b900ed54339ad871f6e436 3 | size 342128 4 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Animations/right strafe walking.fbx: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:57c4abefab873d6aefb2b65175179e2af767784f89544d533ad1b7926128415c 3 | size 378161 4 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Animations/walking.fbx: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:892f5c3135e669d103ec1622636abf9214e38d87b7595fdab8e8bebc32c45cee 3 | size 378161 4 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/ExampleScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6108162bd91fd1745939e36b0e117e51 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Input.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f855bed1caf3f940932fef598bd3e4a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Input/InputSystem.inputactions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d9258b1dd6e4ee4d8bfd2794bc2fbec 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} 11 | generateWrapperCode: 0 12 | wrapperCodePath: 13 | wrapperClassName: 14 | wrapperCodeNamespace: 15 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Input/PlayerActionMap.inputactions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6cac1f8685eedb44bfd112cca0046a4 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} 11 | generateWrapperCode: 0 12 | wrapperCodePath: 13 | wrapperClassName: 14 | wrapperCodeNamespace: UnityEngine.InputSystem 15 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba7c84d9ef700474caf18f68e183b34f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Models/Y Bot.fbx: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:db3cc01af55e5659b5bddfa5863e3213d6e866cf12c29ba7f3d91e1d7b3d410e 3 | size 1982369 4 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/NetworkPlayer.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e60dffa6c8f21074ba31c08d869b7c21 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/New Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b19f67e5ecefc9646b7880e638efc17a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac04e91e48e501d4a9c69eace45e99a8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/AnimatedCharacter Variant.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 60d60eb30658f174596a71a8f669bed7 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5badad93f36e9d7409db9f20e0e55c6a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Components/Control Action Rebind.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c9139e2e989572458a854d3c0fdb780 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Components/Control Label.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98f507a6dcff4b1458c5a57622f6a426 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Components/ControlsPanel.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be013e0868ed87a4e8c5685408def91c 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Components/GraphicsPanel.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07c9cb1dccfea2b4aa60ae464a48d842 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Components/LevelSelectButton.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b16a43d110e2bbf4b9d9f8ec1290aeb3 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Components/SoundPanel.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3648ec32e9636cf4fa4a926a47fa0161 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Components/Version Number.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d21da5bce5b51264fac55fc4d777888d 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Screens.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 52969c92902a94d4aa8cf9bbecdfeb18 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Screens/InGameHUD.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 944cd82f530beab4781bcfd2fd1013e4 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Screens/InGameMenu.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 65addf4e16a61aa4e80d6740bb4069a4 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Screens/SettingsMenu.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba1ceebb93970fb49bd441f68a371c68 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/Screens/StartMenu.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e049cbb3534c824eaa8e415a809e228 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Prefab/UIManager.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 317b20f16b32e844aac677b1ceb2e77a 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75086ae681f212a48b4d84be1b1bcd57 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Scripts/ClientNetworkTransform.cs: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 Nicholas Maltbie 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 4 | // associated documentation files (the "Software"), to deal in the Software without restriction, 5 | // including without limitation the rights to use, copy, modify, merge, publish, distribute, 6 | // sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 7 | // furnished to do so, subject to the following conditions: 8 | // 9 | // The above copyright notice and this permission notice shall be included in all copies or 10 | // substantial portions of the Software. 11 | // 12 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 13 | // BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 14 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 15 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | // SOFTWARE. 18 | 19 | using Unity.Netcode.Components; 20 | 21 | namespace nickmaltbie.NetworkStateMachineUnity.ExampleAnim 22 | { 23 | public class ClientNetworkTransform : NetworkTransform 24 | { 25 | protected override bool OnIsServerAuthoritative() => false; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Scripts/ClientNetworkTransform.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d5e38e674dc8474e81a188f1654c765 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Scripts/DisconnectAction.cs: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 Nicholas Maltbie 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 4 | // associated documentation files (the "Software"), to deal in the Software without restriction, 5 | // including without limitation the rights to use, copy, modify, merge, publish, distribute, 6 | // sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 7 | // furnished to do so, subject to the following conditions: 8 | // 9 | // The above copyright notice and this permission notice shall be included in all copies or 10 | // substantial portions of the Software. 11 | // 12 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 13 | // BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 14 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 15 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | // SOFTWARE. 18 | 19 | using nickmaltbie.ScreenManager; 20 | using Unity.Netcode; 21 | using UnityEngine; 22 | using UnityEngine.UI; 23 | 24 | namespace nickmaltbie.NetworkStateMachineUnity.ExampleAnim 25 | { 26 | public class DisconnectAction : MonoBehaviour 27 | { 28 | public Button disconnectButton; 29 | public GameObject offlineScreen; 30 | 31 | private enum NetworkState 32 | { 33 | Host, 34 | Server, 35 | Client, 36 | None 37 | } 38 | 39 | private NetworkState previousState; 40 | 41 | public void Update() 42 | { 43 | NetworkState state = NetworkState.None; 44 | if (NetworkManager.Singleton.IsHost) 45 | { 46 | disconnectButton.GetComponentInChildren().text = "Stop Host"; 47 | state = NetworkState.Host; 48 | } 49 | else if (NetworkManager.Singleton.IsServer) 50 | { 51 | disconnectButton.GetComponentInChildren().text = "Stop Server"; 52 | state = NetworkState.Server; 53 | } 54 | else if (NetworkManager.Singleton.IsClient) 55 | { 56 | disconnectButton.GetComponentInChildren().text = "Disconnect"; 57 | state = NetworkState.Client; 58 | } 59 | 60 | disconnectButton.gameObject.SetActive(state != NetworkState.None); 61 | 62 | if (state != previousState) 63 | { 64 | disconnectButton.onClick.RemoveAllListeners(); 65 | disconnectButton.onClick.AddListener(() => 66 | { 67 | NetworkManager.Singleton.Shutdown(); 68 | UIManager.Instance.SetScreen(offlineScreen.name); 69 | }); 70 | } 71 | 72 | previousState = state; 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Scripts/DisconnectAction.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6dcfdb2999363b043907766e7746a240 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Scripts/ExampleNetworkSMAnim.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 740fb6073dd134441a951a9d8f11a3ef 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Scripts/NetworkControls.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 739553e599a189542a19aaf856253bef 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Scripts/NetworkSMAnimLabel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 Nicholas Maltbie 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 4 | // associated documentation files (the "Software"), to deal in the Software without restriction, 5 | // including without limitation the rights to use, copy, modify, merge, publish, distribute, 6 | // sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 7 | // furnished to do so, subject to the following conditions: 8 | // 9 | // The above copyright notice and this permission notice shall be included in all copies or 10 | // substantial portions of the Software. 11 | // 12 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 13 | // BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 14 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 15 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | // SOFTWARE. 18 | 19 | using System.Linq; 20 | using System.Text; 21 | using TMPro; 22 | using Unity.Netcode; 23 | using UnityEngine; 24 | 25 | namespace nickmaltbie.NetworkStateMachineUnity.ExampleAnim 26 | { 27 | /// 28 | /// Example label for a ExampleSMLabel. 29 | /// 30 | public class NetworkSMAnimLabel : MonoBehaviour 31 | { 32 | public void Update() 33 | { 34 | ExampleNetworkSMAnim[] players = GameObject.FindObjectsOfType(); 35 | var targetText = new StringBuilder(); 36 | 37 | foreach (ExampleNetworkSMAnim player in players 38 | .OrderBy(players => players.GetComponent().OwnerClientId)) 39 | { 40 | NetworkObject networkObject = player.GetComponent(); 41 | 42 | string currentState = player?.CurrentState.ToString() ?? "null"; 43 | if (currentState.Contains("+")) 44 | { 45 | currentState = currentState.Substring(currentState.LastIndexOf("+") + 1); 46 | } 47 | 48 | targetText.AppendLine($"Player: {networkObject.OwnerClientId}\n CurrentState: {currentState}\n AnimState: {player?.CurrentAnimationState}"); 49 | } 50 | 51 | if (players.Length == 0) 52 | { 53 | targetText.AppendLine($"No Players Connected."); 54 | } 55 | 56 | TextMeshProUGUI label = GetComponent(); 57 | label.text = targetText.ToString(); 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Scripts/NetworkSMAnimLabel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43fccc6a5792cb14ba43f2d35c90eabd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Scripts/nickmaltbie.NetworkStateMachineUnity.ExampleAnim.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nickmaltbie.NetworkStateMachineUnity.ExampleAnim", 3 | "rootNamespace": "nickmaltbie.NetworkStateMachineUnity.ExampleAnim", 4 | "references": [ 5 | "WebSocket Transport for Netcode for GameObjects", 6 | "Unity.Netcode.Components", 7 | "Unity.Netcode.Runtime", 8 | "nickmaltbie.NetworkStateMachineUnity", 9 | "nickmaltbie.ScreenManager", 10 | "nickmaltbie.StateMachineUnity", 11 | "nickmaltbie.ScreenManager.TestCommon", 12 | "nickmaltbie.TestUtilsUnity", 13 | "Unity.InputSystem", 14 | "Unity.TextMeshPro" 15 | ], 16 | "includePlatforms": [], 17 | "excludePlatforms": [], 18 | "allowUnsafeCode": false, 19 | "overrideReferences": false, 20 | "precompiledReferences": [], 21 | "autoReferenced": true, 22 | "defineConstraints": [], 23 | "versionDefines": [], 24 | "noEngineReferences": false 25 | } -------------------------------------------------------------------------------- /Assets/Samples/ExampleSample/Scripts/nickmaltbie.NetworkStateMachineUnity.ExampleAnim.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89317fb72a2571b4cb82b54ccde12725 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f54d1bd14bd3ca042bd867b519fee8cc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e7e8f5a82a3a134e91c54efd2274ea9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:93d6d3ca8a7d8423b01faacd00fa3921fe055fb2187873653a925e4cc1af85c0 3 | size 694398 4 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b8d251f9af63b746bf2f7ffe00ebb9b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ab70aee4d56447429c680537fbf93ed 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e59c59b81ab47f9b6ec5781fa725d2c 3 | timeCreated: 1484171296 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans.ttf: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e5b0af421ea2bfbc1ac8d251d647268087ae82786234c57f757d1f0b90fa8b49 3 | size 350200 4 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3265ab4bf004d28a9537516768c1c75 3 | timeCreated: 1484171297 4 | licenseType: Pro 5 | TrueTypeFontImporter: 6 | serializedVersion: 2 7 | fontSize: 16 8 | forceTextureCase: -2 9 | characterSpacing: 1 10 | characterPadding: 0 11 | includeFontData: 1 12 | use2xBehaviour: 0 13 | fontNames: [] 14 | fallbackFontReferences: [] 15 | customCharacters: 16 | fontRenderingMode: 0 17 | userData: 18 | assetBundleName: 19 | assetBundleVariant: 20 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 243e06394e614e5d99fab26083b707fa 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 731f1baa9d144a9897cb1d341c2092b8 3 | folderAsset: yes 4 | timeCreated: 1442040525 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.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_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: LiberationSans SDF - Drop Shadow 11 | m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} 12 | m_ShaderKeywords: OUTLINE_ON UNDERLAY_ON 13 | m_LightmapFlags: 5 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _Cube: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _FaceTex: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _MainTex: 35 | m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee, 36 | type: 2} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _OutlineTex: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | m_Floats: 44 | - _Ambient: 0.5 45 | - _Bevel: 0.5 46 | - _BevelClamp: 0 47 | - _BevelOffset: 0 48 | - _BevelRoundness: 0 49 | - _BevelWidth: 0 50 | - _BumpFace: 0 51 | - _BumpOutline: 0 52 | - _ColorMask: 15 53 | - _Diffuse: 0.5 54 | - _DiffusePower: 1 55 | - _FaceDilate: 0.1 56 | - _FaceUVSpeedX: 0 57 | - _FaceUVSpeedY: 0 58 | - _GlowInner: 0.05 59 | - _GlowOffset: 0 60 | - _GlowOuter: 0.05 61 | - _GlowPower: 0.75 62 | - _GradientScale: 10 63 | - _LightAngle: 3.1416 64 | - _MaskSoftnessX: 0 65 | - _MaskSoftnessY: 0 66 | - _OutlineSoftness: 0 67 | - _OutlineUVSpeedX: 0 68 | - _OutlineUVSpeedY: 0 69 | - _OutlineWidth: 0.1 70 | - _PerspectiveFilter: 0.875 71 | - _Reflectivity: 10 72 | - _ScaleRatioA: 0.9 73 | - _ScaleRatioB: 0.73125 74 | - _ScaleRatioC: 0.64125 75 | - _ScaleX: 1 76 | - _ScaleY: 1 77 | - _ShaderFlags: 0 78 | - _Sharpness: 0 79 | - _SpecularPower: 2 80 | - _Stencil: 0 81 | - _StencilComp: 8 82 | - _StencilOp: 0 83 | - _StencilReadMask: 255 84 | - _StencilWriteMask: 255 85 | - _TextureHeight: 1024 86 | - _TextureWidth: 1024 87 | - _UnderlayDilate: 0 88 | - _UnderlayOffsetX: 0.5 89 | - _UnderlayOffsetY: -0.5 90 | - _UnderlaySoftness: 0.05 91 | - _VertexOffsetX: 0 92 | - _VertexOffsetY: 0 93 | - _WeightBold: 0.75 94 | - _WeightNormal: 0 95 | m_Colors: 96 | - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} 97 | - _Color: {r: 1, g: 1, b: 1, a: 1} 98 | - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} 99 | - _FaceColor: {r: 1, g: 1, b: 1, a: 1} 100 | - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} 101 | - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} 102 | - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} 103 | - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} 104 | - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} 105 | - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} 106 | - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} 107 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e73a58f6e2794ae7b1b7e50b7fb811b0 3 | timeCreated: 1484172806 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e498d1c8094910479dc3e1b768306a4 3 | timeCreated: 1484171803 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.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_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: LiberationSans SDF - Outline 11 | m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} 12 | m_ShaderKeywords: OUTLINE_ON 13 | m_LightmapFlags: 5 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _Cube: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _FaceTex: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _MainTex: 35 | m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee, 36 | type: 2} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _OutlineTex: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | m_Floats: 44 | - _Ambient: 0.5 45 | - _Bevel: 0.5 46 | - _BevelClamp: 0 47 | - _BevelOffset: 0 48 | - _BevelRoundness: 0 49 | - _BevelWidth: 0 50 | - _BumpFace: 0 51 | - _BumpOutline: 0 52 | - _ColorMask: 15 53 | - _Diffuse: 0.5 54 | - _FaceDilate: 0.1 55 | - _FaceUVSpeedX: 0 56 | - _FaceUVSpeedY: 0 57 | - _GlowInner: 0.05 58 | - _GlowOffset: 0 59 | - _GlowOuter: 0.05 60 | - _GlowPower: 0.75 61 | - _GradientScale: 10 62 | - _LightAngle: 3.1416 63 | - _MaskSoftnessX: 0 64 | - _MaskSoftnessY: 0 65 | - _OutlineSoftness: 0 66 | - _OutlineUVSpeedX: 0 67 | - _OutlineUVSpeedY: 0 68 | - _OutlineWidth: 0.1 69 | - _PerspectiveFilter: 0.875 70 | - _Reflectivity: 10 71 | - _ScaleRatioA: 0.9 72 | - _ScaleRatioB: 0.73125 73 | - _ScaleRatioC: 0.64125 74 | - _ScaleX: 1 75 | - _ScaleY: 1 76 | - _ShaderFlags: 0 77 | - _Sharpness: 0 78 | - _SpecularPower: 2 79 | - _Stencil: 0 80 | - _StencilComp: 8 81 | - _StencilOp: 0 82 | - _StencilReadMask: 255 83 | - _StencilWriteMask: 255 84 | - _TextureHeight: 1024 85 | - _TextureWidth: 1024 86 | - _UnderlayDilate: 0 87 | - _UnderlayOffsetX: 0 88 | - _UnderlayOffsetY: 0 89 | - _UnderlaySoftness: 0 90 | - _VertexOffsetX: 0 91 | - _VertexOffsetY: 0 92 | - _WeightBold: 0.75 93 | - _WeightNormal: 0 94 | m_Colors: 95 | - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} 96 | - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} 97 | - _FaceColor: {r: 1, g: 1, b: 1, a: 1} 98 | - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} 99 | - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} 100 | - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} 101 | - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} 102 | - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} 103 | - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} 104 | - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} 105 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79459efec17a4d00a321bdcc27bbc385 3 | timeCreated: 1484172856 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f586378b4e144a9851e7b34d9b748ee 3 | timeCreated: 1484171803 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt: -------------------------------------------------------------------------------- 1 | )]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,. -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fade42e8bc714b018fac513c043d323b 3 | timeCreated: 1425440388 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt: -------------------------------------------------------------------------------- 1 | ([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇$¥₩ # -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d82c1b31c7e74239bff1220585707d2b 3 | timeCreated: 1425440388 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Sprite Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 512a49d95c0c4332bdd98131869c23c9 3 | folderAsset: yes 4 | timeCreated: 1441876896 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c41005c129ba4d66911b75229fd70b45 3 | timeCreated: 1480316912 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Style Sheets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4aecb92fff08436c8303b10eab8da368 3 | folderAsset: yes 4 | timeCreated: 1441876950 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f952c082cb03451daed3ee968ac6c63e 3 | timeCreated: 1432805430 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/TMP Settings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 2705215ac5b84b70bacc50632be6e391, type: 3} 13 | m_Name: TMP Settings 14 | m_EditorClassIdentifier: 15 | m_enableWordWrapping: 1 16 | m_enableKerning: 1 17 | m_enableExtraPadding: 0 18 | m_enableTintAllSprites: 0 19 | m_enableParseEscapeCharacters: 1 20 | m_EnableRaycastTarget: 1 21 | m_GetFontFeaturesAtRuntime: 1 22 | m_missingGlyphCharacter: 0 23 | m_warningsDisabled: 0 24 | m_defaultFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 25 | m_defaultFontAssetPath: Fonts & Materials/ 26 | m_defaultFontSize: 36 27 | m_defaultAutoSizeMinRatio: 0.5 28 | m_defaultAutoSizeMaxRatio: 2 29 | m_defaultTextMeshProTextContainerSize: {x: 20, y: 5} 30 | m_defaultTextMeshProUITextContainerSize: {x: 200, y: 50} 31 | m_autoSizeTextContainer: 0 32 | m_fallbackFontAssets: [] 33 | m_matchMaterialPreset: 1 34 | m_defaultSpriteAsset: {fileID: 11400000, guid: c41005c129ba4d66911b75229fd70b45, 35 | type: 2} 36 | m_defaultSpriteAssetPath: Sprite Assets/ 37 | m_enableEmojiSupport: 1 38 | m_MissingCharacterSpriteUnicode: 0 39 | m_defaultColorGradientPresetsPath: Color Gradient Presets/ 40 | m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e, 41 | type: 2} 42 | m_StyleSheetsResourcePath: 43 | m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3} 44 | m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b, 45 | type: 3} 46 | m_UseModernHangulLineBreakingRules: 0 47 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/TMP Settings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f5b5dff67a942289a9defa416b206f3 3 | timeCreated: 1436653997 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9f693669af91aa45ad615fc681ed29f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48bb5f55d8670e349b6e614913f9d910 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e3b057af24249748ff873be7fafee47 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 128e987d567d4e2c824d754223b3f3b0 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd89cf5b9246416f84610a006f916af7 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14eb328de4b8eb245bb7cea29e4ac00b 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc1ede39bf3643ee8e493720e4259791 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a02a7d8c237544f1962732b55a9aebf1 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader: -------------------------------------------------------------------------------- 1 | // Simplified SDF shader: 2 | // - No Shading Option (bevel / bump / env map) 3 | // - No Glow Option 4 | // - Softness is applied on both side of the outline 5 | 6 | Shader "TextMeshPro/Mobile/Distance Field SSD" { 7 | 8 | Properties { 9 | [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) 10 | _FaceDilate ("Face Dilate", Range(-1,1)) = 0 11 | 12 | [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) 13 | _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 14 | _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 15 | 16 | [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0,.5) 17 | _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 18 | _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 19 | _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 20 | _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 21 | 22 | _WeightNormal ("Weight Normal", float) = 0 23 | _WeightBold ("Weight Bold", float) = .5 24 | 25 | _ShaderFlags ("Flags", float) = 0 26 | _ScaleRatioA ("Scale RatioA", float) = 1 27 | _ScaleRatioB ("Scale RatioB", float) = 1 28 | _ScaleRatioC ("Scale RatioC", float) = 1 29 | 30 | _MainTex ("Font Atlas", 2D) = "white" {} 31 | _TextureWidth ("Texture Width", float) = 512 32 | _TextureHeight ("Texture Height", float) = 512 33 | _GradientScale ("Gradient Scale", float) = 5 34 | _ScaleX ("Scale X", float) = 1 35 | _ScaleY ("Scale Y", float) = 1 36 | _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 37 | _Sharpness ("Sharpness", Range(-1,1)) = 0 38 | 39 | _VertexOffsetX ("Vertex OffsetX", float) = 0 40 | _VertexOffsetY ("Vertex OffsetY", float) = 0 41 | 42 | _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) 43 | _MaskSoftnessX ("Mask SoftnessX", float) = 0 44 | _MaskSoftnessY ("Mask SoftnessY", float) = 0 45 | _MaskTex ("Mask Texture", 2D) = "white" {} 46 | _MaskInverse ("Inverse", float) = 0 47 | _MaskEdgeColor ("Edge Color", Color) = (1,1,1,1) 48 | _MaskEdgeSoftness ("Edge Softness", Range(0, 1)) = 0.01 49 | _MaskWipeControl ("Wipe Position", Range(0, 1)) = 0.5 50 | 51 | _StencilComp ("Stencil Comparison", Float) = 8 52 | _Stencil ("Stencil ID", Float) = 0 53 | _StencilOp ("Stencil Operation", Float) = 0 54 | _StencilWriteMask ("Stencil Write Mask", Float) = 255 55 | _StencilReadMask ("Stencil Read Mask", Float) = 255 56 | 57 | _CullMode ("Cull Mode", Float) = 0 58 | _ColorMask ("Color Mask", Float) = 15 59 | } 60 | 61 | SubShader { 62 | Tags { 63 | "Queue"="Transparent" 64 | "IgnoreProjector"="True" 65 | "RenderType"="Transparent" 66 | } 67 | 68 | Stencil 69 | { 70 | Ref [_Stencil] 71 | Comp [_StencilComp] 72 | Pass [_StencilOp] 73 | ReadMask [_StencilReadMask] 74 | WriteMask [_StencilWriteMask] 75 | } 76 | 77 | Cull [_CullMode] 78 | ZWrite Off 79 | Lighting Off 80 | Fog { Mode Off } 81 | ZTest [unity_GUIZTestMode] 82 | Blend One OneMinusSrcAlpha 83 | ColorMask [_ColorMask] 84 | 85 | Pass { 86 | CGPROGRAM 87 | #pragma vertex VertShader 88 | #pragma fragment PixShader 89 | #pragma shader_feature __ OUTLINE_ON 90 | #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER 91 | 92 | #pragma multi_compile __ UNITY_UI_CLIP_RECT 93 | #pragma multi_compile __ UNITY_UI_ALPHACLIP 94 | 95 | #include "UnityCG.cginc" 96 | #include "UnityUI.cginc" 97 | #include "TMPro_Properties.cginc" 98 | 99 | #include "TMPro_Mobile.cginc" 100 | 101 | ENDCG 102 | } 103 | } 104 | 105 | CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" 106 | } 107 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8d12adcee749c344b8117cf7c7eb912 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe393ace9b354375a9cb14cdbbc28be4 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85187c2149c549c5b33f0cdb02836b17 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7ada0af4f174f0694ca6a487b8f543d 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68e6db2ebdc24f95958faec2be5558d6 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Sprite.shader: -------------------------------------------------------------------------------- 1 | Shader "TextMeshPro/Sprite" 2 | { 3 | Properties 4 | { 5 | [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} 6 | _Color ("Tint", Color) = (1,1,1,1) 7 | 8 | _StencilComp ("Stencil Comparison", Float) = 8 9 | _Stencil ("Stencil ID", Float) = 0 10 | _StencilOp ("Stencil Operation", Float) = 0 11 | _StencilWriteMask ("Stencil Write Mask", Float) = 255 12 | _StencilReadMask ("Stencil Read Mask", Float) = 255 13 | 14 | _CullMode ("Cull Mode", Float) = 0 15 | _ColorMask ("Color Mask", Float) = 15 16 | _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) 17 | 18 | [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 19 | } 20 | 21 | SubShader 22 | { 23 | Tags 24 | { 25 | "Queue"="Transparent" 26 | "IgnoreProjector"="True" 27 | "RenderType"="Transparent" 28 | "PreviewType"="Plane" 29 | "CanUseSpriteAtlas"="True" 30 | } 31 | 32 | Stencil 33 | { 34 | Ref [_Stencil] 35 | Comp [_StencilComp] 36 | Pass [_StencilOp] 37 | ReadMask [_StencilReadMask] 38 | WriteMask [_StencilWriteMask] 39 | } 40 | 41 | Cull [_CullMode] 42 | Lighting Off 43 | ZWrite Off 44 | ZTest [unity_GUIZTestMode] 45 | Blend SrcAlpha OneMinusSrcAlpha 46 | ColorMask [_ColorMask] 47 | 48 | Pass 49 | { 50 | Name "Default" 51 | CGPROGRAM 52 | #pragma vertex vert 53 | #pragma fragment frag 54 | #pragma target 2.0 55 | 56 | #include "UnityCG.cginc" 57 | #include "UnityUI.cginc" 58 | 59 | #pragma multi_compile __ UNITY_UI_CLIP_RECT 60 | #pragma multi_compile __ UNITY_UI_ALPHACLIP 61 | 62 | struct appdata_t 63 | { 64 | float4 vertex : POSITION; 65 | float4 color : COLOR; 66 | float2 texcoord : TEXCOORD0; 67 | UNITY_VERTEX_INPUT_INSTANCE_ID 68 | }; 69 | 70 | struct v2f 71 | { 72 | float4 vertex : SV_POSITION; 73 | fixed4 color : COLOR; 74 | float2 texcoord : TEXCOORD0; 75 | float4 worldPosition : TEXCOORD1; 76 | UNITY_VERTEX_OUTPUT_STEREO 77 | }; 78 | 79 | sampler2D _MainTex; 80 | fixed4 _Color; 81 | fixed4 _TextureSampleAdd; 82 | float4 _ClipRect; 83 | float4 _MainTex_ST; 84 | 85 | v2f vert(appdata_t v) 86 | { 87 | v2f OUT; 88 | UNITY_SETUP_INSTANCE_ID(v); 89 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT); 90 | OUT.worldPosition = v.vertex; 91 | OUT.vertex = UnityObjectToClipPos(OUT.worldPosition); 92 | 93 | OUT.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); 94 | 95 | OUT.color = v.color * _Color; 96 | return OUT; 97 | } 98 | 99 | fixed4 frag(v2f IN) : SV_Target 100 | { 101 | half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; 102 | 103 | #ifdef UNITY_UI_CLIP_RECT 104 | color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); 105 | #endif 106 | 107 | #ifdef UNITY_UI_ALPHACLIP 108 | clip (color.a - 0.001); 109 | #endif 110 | 111 | return color; 112 | } 113 | ENDCG 114 | } 115 | } 116 | } 117 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf81c85f95fe47e1a27f6ae460cf182c 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro.cginc: -------------------------------------------------------------------------------- 1 | float2 UnpackUV(float uv) 2 | { 3 | float2 output; 4 | output.x = floor(uv / 4096); 5 | output.y = uv - 4096 * output.x; 6 | 7 | return output * 0.001953125; 8 | } 9 | 10 | fixed4 GetColor(half d, fixed4 faceColor, fixed4 outlineColor, half outline, half softness) 11 | { 12 | half faceAlpha = 1-saturate((d - outline * 0.5 + softness * 0.5) / (1.0 + softness)); 13 | half outlineAlpha = saturate((d + outline * 0.5)) * sqrt(min(1.0, outline)); 14 | 15 | faceColor.rgb *= faceColor.a; 16 | outlineColor.rgb *= outlineColor.a; 17 | 18 | faceColor = lerp(faceColor, outlineColor, outlineAlpha); 19 | 20 | faceColor *= faceAlpha; 21 | 22 | return faceColor; 23 | } 24 | 25 | float3 GetSurfaceNormal(float4 h, float bias) 26 | { 27 | bool raisedBevel = step(1, fmod(_ShaderFlags, 2)); 28 | 29 | h += bias+_BevelOffset; 30 | 31 | float bevelWidth = max(.01, _OutlineWidth+_BevelWidth); 32 | 33 | // Track outline 34 | h -= .5; 35 | h /= bevelWidth; 36 | h = saturate(h+.5); 37 | 38 | if(raisedBevel) h = 1 - abs(h*2.0 - 1.0); 39 | h = lerp(h, sin(h*3.141592/2.0), _BevelRoundness); 40 | h = min(h, 1.0-_BevelClamp); 41 | h *= _Bevel * bevelWidth * _GradientScale * -2.0; 42 | 43 | float3 va = normalize(float3(1.0, 0.0, h.y - h.x)); 44 | float3 vb = normalize(float3(0.0, -1.0, h.w - h.z)); 45 | 46 | return cross(va, vb); 47 | } 48 | 49 | float3 GetSurfaceNormal(float2 uv, float bias, float3 delta) 50 | { 51 | // Read "height field" 52 | float4 h = {tex2D(_MainTex, uv - delta.xz).a, 53 | tex2D(_MainTex, uv + delta.xz).a, 54 | tex2D(_MainTex, uv - delta.zy).a, 55 | tex2D(_MainTex, uv + delta.zy).a}; 56 | 57 | return GetSurfaceNormal(h, bias); 58 | } 59 | 60 | float3 GetSpecular(float3 n, float3 l) 61 | { 62 | float spec = pow(max(0.0, dot(n, l)), _Reflectivity); 63 | return _SpecularColor.rgb * spec * _SpecularPower; 64 | } 65 | 66 | float4 GetGlowColor(float d, float scale) 67 | { 68 | float glow = d - (_GlowOffset*_ScaleRatioB) * 0.5 * scale; 69 | float t = lerp(_GlowInner, (_GlowOuter * _ScaleRatioB), step(0.0, glow)) * 0.5 * scale; 70 | glow = saturate(abs(glow/(1.0 + t))); 71 | glow = 1.0-pow(glow, _GlowPower); 72 | glow *= sqrt(min(1.0, t)); // Fade off glow thinner than 1 screen pixel 73 | return float4(_GlowColor.rgb, saturate(_GlowColor.a * glow * 2)); 74 | } 75 | 76 | float4 BlendARGB(float4 overlying, float4 underlying) 77 | { 78 | overlying.rgb *= overlying.a; 79 | underlying.rgb *= underlying.a; 80 | float3 blended = overlying.rgb + ((1-overlying.a)*underlying.rgb); 81 | float alpha = underlying.a + (1-underlying.a)*overlying.a; 82 | return float4(blended, alpha); 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 407bc68d299748449bbf7f48ee690f8d 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c334973cef89a9840b0b0c507e0377ab 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc: -------------------------------------------------------------------------------- 1 | // UI Editable properties 2 | uniform sampler2D _FaceTex; // Alpha : Signed Distance 3 | uniform float _FaceUVSpeedX; 4 | uniform float _FaceUVSpeedY; 5 | uniform fixed4 _FaceColor; // RGBA : Color + Opacity 6 | uniform float _FaceDilate; // v[ 0, 1] 7 | uniform float _OutlineSoftness; // v[ 0, 1] 8 | 9 | uniform sampler2D _OutlineTex; // RGBA : Color + Opacity 10 | uniform float _OutlineUVSpeedX; 11 | uniform float _OutlineUVSpeedY; 12 | uniform fixed4 _OutlineColor; // RGBA : Color + Opacity 13 | uniform float _OutlineWidth; // v[ 0, 1] 14 | 15 | uniform float _Bevel; // v[ 0, 1] 16 | uniform float _BevelOffset; // v[-1, 1] 17 | uniform float _BevelWidth; // v[-1, 1] 18 | uniform float _BevelClamp; // v[ 0, 1] 19 | uniform float _BevelRoundness; // v[ 0, 1] 20 | 21 | uniform sampler2D _BumpMap; // Normal map 22 | uniform float _BumpOutline; // v[ 0, 1] 23 | uniform float _BumpFace; // v[ 0, 1] 24 | 25 | uniform samplerCUBE _Cube; // Cube / sphere map 26 | uniform fixed4 _ReflectFaceColor; // RGB intensity 27 | uniform fixed4 _ReflectOutlineColor; 28 | //uniform float _EnvTiltX; // v[-1, 1] 29 | //uniform float _EnvTiltY; // v[-1, 1] 30 | uniform float3 _EnvMatrixRotation; 31 | uniform float4x4 _EnvMatrix; 32 | 33 | uniform fixed4 _SpecularColor; // RGB intensity 34 | uniform float _LightAngle; // v[ 0,Tau] 35 | uniform float _SpecularPower; // v[ 0, 1] 36 | uniform float _Reflectivity; // v[ 5, 15] 37 | uniform float _Diffuse; // v[ 0, 1] 38 | uniform float _Ambient; // v[ 0, 1] 39 | 40 | uniform fixed4 _UnderlayColor; // RGBA : Color + Opacity 41 | uniform float _UnderlayOffsetX; // v[-1, 1] 42 | uniform float _UnderlayOffsetY; // v[-1, 1] 43 | uniform float _UnderlayDilate; // v[-1, 1] 44 | uniform float _UnderlaySoftness; // v[ 0, 1] 45 | 46 | uniform fixed4 _GlowColor; // RGBA : Color + Intesity 47 | uniform float _GlowOffset; // v[-1, 1] 48 | uniform float _GlowOuter; // v[ 0, 1] 49 | uniform float _GlowInner; // v[ 0, 1] 50 | uniform float _GlowPower; // v[ 1, 1/(1+4*4)] 51 | 52 | // API Editable properties 53 | uniform float _ShaderFlags; 54 | uniform float _WeightNormal; 55 | uniform float _WeightBold; 56 | 57 | uniform float _ScaleRatioA; 58 | uniform float _ScaleRatioB; 59 | uniform float _ScaleRatioC; 60 | 61 | uniform float _VertexOffsetX; 62 | uniform float _VertexOffsetY; 63 | 64 | //uniform float _UseClipRect; 65 | uniform float _MaskID; 66 | uniform sampler2D _MaskTex; 67 | uniform float4 _MaskCoord; 68 | uniform float4 _ClipRect; // bottom left(x,y) : top right(z,w) 69 | //uniform float _MaskWipeControl; 70 | //uniform float _MaskEdgeSoftness; 71 | //uniform fixed4 _MaskEdgeColor; 72 | //uniform bool _MaskInverse; 73 | 74 | uniform float _MaskSoftnessX; 75 | uniform float _MaskSoftnessY; 76 | 77 | // Font Atlas properties 78 | uniform sampler2D _MainTex; 79 | uniform float _TextureWidth; 80 | uniform float _TextureHeight; 81 | uniform float _GradientScale; 82 | uniform float _ScaleX; 83 | uniform float _ScaleY; 84 | uniform float _PerspectiveFilter; 85 | uniform float _Sharpness; 86 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3997e2241185407d80309a82f9148466 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d930090c0cd643c7b55f19a38538c162 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0603b6d5186471b96c778c3949c7ce2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt: -------------------------------------------------------------------------------- 1 | This sample of beautiful emojis are provided by EmojiOne https://www.emojione.com/ 2 | 3 | Please visit their website to view the complete set of their emojis and review their licensing terms. -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 381dcb09d5029d14897e55f98031fca5 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f05276190cf498a8153f6cbe761d4e6 3 | timeCreated: 1480316860 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a87b965a701de3dc31d7401e542b1fc946587f912c51d7a26e46ade9f098bd1a 3 | size 112319 4 | -------------------------------------------------------------------------------- /Assets/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Assets/packages.config.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d0578b70eb555a49bfcab4aee799dd2 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: {} 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /Contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing Guidelines 2 | 3 | Before adding anything to the project, make sure to follow the following steps 4 | 5 | ## 1. Check Out a New Branch 6 | 7 | Whenever you are working on a new feature, make sure to checkout a new branch. 8 | (where `$username` is your own username on github). 9 | 10 | ```bash 11 | git checkout -b $username/feature_name 12 | ``` 13 | 14 | ## 2. Document Your Code 15 | 16 | Whenever you are adding new features or changing the code, make sure to add 17 | documentation. Use the 18 | [C# XML Documentation Comments](https://marketplace.visualstudio.com/items?itemName=k--kato.docomment) 19 | for documentation. This uses XML Documentation for C#. If you have any questions 20 | about this code, reference the 21 | [doxygen manual](http://www.doxygen.nl/manual/xmlcmds.html). 22 | 23 | ## 3. Make a Pull Request 24 | 25 | You cannot push directly to `main`, you must make a pull request, have it 26 | reviewed by other contributors, then commit it to the repository. Only make 27 | a PR when the feature is ready to be added or is a significant change in 28 | a development feature. 29 | 30 | Also, you must ensure you code is up to date. To do this rebase with `main` 31 | (keep commit logs easy to understand). Do this by executing the 32 | following commands. 33 | 34 | ```bash 35 | # Assuming working on some feature branch named $feature_name 36 | 37 | # Go to feature branch 38 | git checkout $feature_name 39 | # Fetch up to date main 40 | git fetch origin main 41 | # Rebase current branch with main 42 | git rebase origin/main 43 | ``` 44 | 45 | See [Creating a pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) 46 | guide from github for any more questions about how to make pull requests. 47 | 48 | As far as coding style, please try to stay consistent with 49 | [Csharp Coding Guidelines](https://wiki.unity3d.com/index.php/Csharp_Coding_Guidelines) 50 | from Unity's reference guide. 51 | 52 | ## 4. Style Check 53 | 54 | In order to finish your PR, ensure you code follows the style guidelines of the 55 | project. The rules for our style are defined in the `.editorconfig` 56 | file and there is a pre-commit hook that will execute whenever you make a 57 | commit to the repository. In addition there is a github actions workflow that 58 | will verify the style of all changed files. 59 | 60 | ```PowerShell 61 | dotnet tool restore 62 | dotnet format --fix-style warn -v d .\NetworkStateMachineUnity.sln --check 63 | ``` 64 | 65 | ## 5. Done 66 | 67 | If you follow all these steps, we should have a clean, working `main` branch. 68 | -------------------------------------------------------------------------------- /Documentation/build.cmd: -------------------------------------------------------------------------------- 1 | @REM Setup files for website 2 | echo Setting up website and copying files 3 | copy %~dp0\..\README.md %~dp0\index.md 4 | copy %~dp0\..\LICENSE.txt %~dp0\LICENSE.txt 5 | copy %~dp0\..\Packages\com.nickmaltbie.networkstatemachineunity\CHANGELOG.md %~dp0\changelog\CHANGELOG.md 6 | xcopy /E /S /Y %~dp0\..\Demo %~dp0\Demo\ 7 | 8 | @REM Generate website with docfx 9 | echo Building code metadata 10 | docfx metadata %~dp0\docfx.json --warningsAsErrors --logLevel verbose --force && ( 11 | echo Successfuly generated metadata for C# code formatting 12 | ) || ( 13 | echo Could not properly generate metadata for C# code formatting 14 | exit /b 1 15 | ) 16 | 17 | echo Generating website 18 | docfx build %~dp0\docfx.json --warningsAsErrors --logLevel verbose && ( 19 | echo Successfuly generated website for documentation 20 | ) || ( 21 | echo Could not properly website for documentation 22 | exit /b 1 23 | ) 24 | -------------------------------------------------------------------------------- /Documentation/build.sh: -------------------------------------------------------------------------------- 1 | BASEDIR=$(dirname "$0") 2 | 3 | # Setup files for website 4 | echo "Setting up website and copying files" 5 | cp $BASEDIR/../README.md $BASEDIR/index.md 6 | cp $BASEDIR/../LICENSE.txt $BASEDIR/LICENSE.txt 7 | cp $BASEDIR/../Packages/com.nickmaltbie.networkstatemachineunity/CHANGELOG.md $BASEDIR/CHANGELOG.md 8 | cp -r $BASEDIR/../Demo $BASEDIR/Demo 9 | 10 | # Generate website with docfx 11 | echo "Building code metadata" 12 | docfx metadata $BASEDIR/docfx.json --warningsAsErrors --logLevel verbose --force 13 | 14 | echo "Generating website" 15 | docfx build $BASEDIR/docfx.json --warningsAsErrors --logLevel verbose 16 | -------------------------------------------------------------------------------- /Documentation/changelog/toc.yml: -------------------------------------------------------------------------------- 1 | # Changelog is populated from Packages\com.nickmaltbie.NetworkStateMachineUnity\CHANGELOG.md 2 | # as part of build script. 3 | 4 | - name: Changelog 5 | href: CHANGELOG.md -------------------------------------------------------------------------------- /Documentation/docfx.json: -------------------------------------------------------------------------------- 1 | { 2 | "metadata": [ 3 | { 4 | "src": [ 5 | { 6 | "src": "../Packages/com.nickmaltbie.NetworkStateMachineUnity", 7 | "files": [ 8 | "**/*.cs" 9 | ] 10 | } 11 | ], 12 | "globalNamespaceId": "Global", 13 | "filter": "filterConfig.yml", 14 | "dest": "api", 15 | "version": "latest" 16 | } 17 | ], 18 | "build": { 19 | "globalMetadata": { 20 | "_appTitle": "Network State Machine Unity Documentation", 21 | "_appFooter": "Network State Machine Unity Documentation", 22 | "_enableSearch": true 23 | }, 24 | "content": [ 25 | { 26 | "files": [ 27 | "toc.yml", 28 | "index.md" 29 | ] 30 | }, 31 | { 32 | "src": "api", 33 | "files": [ 34 | "toc.yml", 35 | "*.yml" 36 | ], 37 | "dest": "api" 38 | }, 39 | { 40 | "src": "changelog", 41 | "files": 42 | [ 43 | "toc.yml", 44 | "*.md" 45 | ], 46 | "dest": "changelog" 47 | }, 48 | { 49 | "src": "manual", 50 | "files": [ 51 | "toc.yml", 52 | "*.md" 53 | ], 54 | "dest": "manual" 55 | } 56 | ], 57 | "overwrite": [ 58 | { 59 | "src": "../Packages/com.nickmaltbie.NetworkStateMachineUnity", 60 | "files": [ 61 | "**/*.cs" 62 | ] 63 | } 64 | ], 65 | "resource": [ 66 | { 67 | "src": ".", 68 | "files": [ 69 | "resources/**/*", 70 | "Demo/**/*", 71 | "LICENSE.txt" 72 | ] 73 | } 74 | ], 75 | "sitemap": { 76 | "baseUrl": "https://nickmaltbie.com/NetworkStateMachineUnity/docs", 77 | "changefreq": "weekly", 78 | "fileOptions": { 79 | "latest/api/*": { 80 | "changefreq": "daily" 81 | } 82 | } 83 | }, 84 | "xref": [ 85 | "https://normanderwan.github.io/UnityXrefMaps/xrefmap.yml", 86 | "https://nickmaltbie.com/TestUtilsUnity/docs/xrefmap.yml", 87 | "https://nickmaltbie.com/StateMachineUnity/docs/xrefmap.yml" 88 | ], 89 | "xrefService": [ 90 | "https://xref.docs.microsoft.com/query?uid={uid}" 91 | ], 92 | "dest": "../_site" 93 | } 94 | } -------------------------------------------------------------------------------- /Documentation/filterConfig.yml: -------------------------------------------------------------------------------- 1 | apiRules: 2 | - include: 3 | uidRegex: ^nickmaltbie\.NetworkStateMachineUnity 4 | type: Namespace 5 | - include: 6 | uidRegex: ^nickmaltbie\.NetworkStateMachineUnity\.* 7 | type: Namespace 8 | - exclude: 9 | uidRegex: .* 10 | type: Namespace -------------------------------------------------------------------------------- /Documentation/manual/introduction.md: -------------------------------------------------------------------------------- 1 | # Template Unity Package Introduction 2 | 3 | Introduction to Nick Maltbie's Network state Machine Unity project.. 4 | 5 | Extension of the [StateMachineUnity](https://nickmaltbie.com/StateMachineUnity/docs/) 6 | project to work with [Unity's netcode package](https://docs-multiplayer.unity3d.com/netcode/current/about) 7 | 8 | to allow for managing a state machine over a network. 9 | 10 | ## Installation 11 | 12 | Install the latest version of the project by importing a project via git 13 | at this URL: 14 | `https://github.com/nicholas-maltbie/NetworkStateMachineUnity.git#release/latest` 15 | 16 | If you want to reference a specific tag of the project such as version `v1.0.0`, 17 | add a `release/#v1.0.0` to the end of the git URL to download the package 18 | from th auto-generated branch for that release. An example of importing `v1.0.0` 19 | would look like this: 20 | 21 | ```text 22 | https://github.com/nicholas-maltbie/NetworkStateMachineUnity.git#release/v0.1.0 23 | ``` 24 | 25 | To use the latest release, simply reference: 26 | 27 | ```text 28 | https://github.com/nicholas-maltbie/NetworkStateMachineUnity.git#release/latest 29 | ``` 30 | 31 | For a full list of all tags, check the 32 | [NetworkStateMachineUnity Tags](https://github.com/nicholas-maltbie/NetworkStateMachineUnity/tags) 33 | list on github. I will usually associated a tag with each release of the project. 34 | 35 | You can also import the project via a tarball if you download the source 36 | code and extract it on your local machine. Make sure to import 37 | via the package manifest defined at `Packages\com.nickmaltbie.NetworkStateMachineUnity\package.json` 38 | within the project. 39 | 40 | For more details about installing a project via git, see unity's documentation 41 | on [Installing form a Git URL](https://docs.unity3d.com/Manual/upm-ui-giturl.html#:~:text=%20Select%20Add%20package%20from%20git%20URL%20from,repository%20directly%20rather%20than%20from%20a%20package%20registry.). 42 | 43 | ### Scoped Registry Install 44 | 45 | If you wish to install the project via a 46 | [Scoped Registry](https://docs.unity3d.com/Manual/upm-scoped.html) 47 | and npm, you can add a scoped registry to your project from all of the 48 | `com.nickmaltbie` packages like this: 49 | 50 | ```json 51 | "scopedRegistries": [ 52 | { 53 | "name": "nickmaltbie", 54 | "url": "https://registry.npmjs.org", 55 | "scopes": [ 56 | "com.nickmaltbie" 57 | ] 58 | } 59 | ] 60 | ``` 61 | 62 | Then, if you want to reference a version of the project, you simply 63 | need to include the dependency with a version string and the unity package 64 | manager will be able to download it from the registry at 65 | `https://registry.npmjs.org` 66 | 67 | ```json 68 | "dependencies": { 69 | "com.nickmaltbie.networkstatemachineunity": "1.0.0", 70 | "com.nickmaltbie.testutilsunity" : "0.0.2", 71 | "com.nickmaltbie.statemachineunity" : "1.1.2", 72 | "com.unity.inputsystem": "1.0.0", 73 | "com.unity.netcode.gameobjects": "1.1.0" 74 | } 75 | ``` 76 | -------------------------------------------------------------------------------- /Documentation/manual/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Introduction 2 | href: introduction.md 3 | 4 | -------------------------------------------------------------------------------- /Documentation/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Manual 2 | href: manual/ 3 | - name: Scripting API 4 | href: api/ 5 | - name: Changelog 6 | href: changelog/ 7 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2022 Nicholas Maltbie 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 4 | associated documentation files (the "Software"), to deal in the Software without restriction, 5 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 6 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 7 | furnished to do so, subject to the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be included in all copies or 10 | substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 13 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 14 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 15 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | SOFTWARE. -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | ## In Progress 6 | 7 | * Setup and imported basic project. 8 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2f6407d68b884d43baf3102e0b45987 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2022 Nicholas Maltbie 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 4 | associated documentation files (the "Software"), to deal in the Software without restriction, 5 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 6 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 7 | furnished to do so, subject to the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be included in all copies or 10 | substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 13 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 14 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 15 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | SOFTWARE. -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/LICENSE.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b8c490d394fbee4b8079ccc201bbd4f 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab9a1ca0eb65d65479ec25eec1facfd8 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0b60eb54afc57a46a790776be448d8e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Scripts/NetworkSMAnim.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 54d348118b583bc449dc69f98170da05 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Scripts/NetworkSMBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d17fea8bd10e52b4daf99128d1952116 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Scripts/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f79b2c24fe26aa64d852dab62a13e15e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Scripts/Utils/NetworkSMUtils.cs: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 Nicholas Maltbie 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 4 | // associated documentation files (the "Software"), to deal in the Software without restriction, 5 | // including without limitation the rights to use, copy, modify, merge, publish, distribute, 6 | // sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 7 | // furnished to do so, subject to the following conditions: 8 | // 9 | // The above copyright notice and this permission notice shall be included in all copies or 10 | // substantial portions of the Software. 11 | // 12 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 13 | // BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 14 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 15 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | // SOFTWARE. 18 | 19 | using System; 20 | using System.Collections.Concurrent; 21 | using System.Collections.Generic; 22 | using System.Linq; 23 | using nickmaltbie.StateMachineUnity; 24 | 25 | namespace nickmaltbie.NetworkStateMachineUnity.Utils 26 | { 27 | public class UninitializedState : State { } 28 | 29 | public static class NetworkSMUtils 30 | { 31 | public static ConcurrentDictionary> SMStateIndexLookup = 32 | new ConcurrentDictionary>(); 33 | 34 | public static ConcurrentDictionary> SMIndexStateLookup = 35 | new ConcurrentDictionary>(); 36 | 37 | public static int LookupStateIndex(Type stateMachine, Type state) 38 | { 39 | if (state == typeof(UninitializedState)) 40 | { 41 | return -1; 42 | } 43 | 44 | return SMStateIndexLookup[stateMachine][state]; 45 | } 46 | 47 | public static Type LookupIndexState(Type stateMachine, int index) 48 | { 49 | if (index == -1) 50 | { 51 | return typeof(UninitializedState); 52 | } 53 | 54 | return SMIndexStateLookup[stateMachine][index]; 55 | } 56 | 57 | internal static void SetupStateLookupDictionary(Type stateMachine) 58 | { 59 | // Find all the supported states for the state machine. 60 | int index = 0; 61 | 62 | foreach (Type state in stateMachine.GetNestedTypes() 63 | .Where(type => type.IsClass && type.IsSubclassOf(typeof(State))) 64 | .OrderBy(type => type.FullName)) 65 | { 66 | SMStateIndexLookup[stateMachine][state] = index; 67 | SMIndexStateLookup[stateMachine][index] = state; 68 | index++; 69 | } 70 | } 71 | 72 | public static void SetupNetworkCache(Type stateMachine) 73 | { 74 | if (!SMStateIndexLookup.ContainsKey(stateMachine) || !SMIndexStateLookup.ContainsKey(stateMachine)) 75 | { 76 | SMStateIndexLookup[stateMachine] = new Dictionary(); 77 | SMIndexStateLookup[stateMachine] = new Dictionary(); 78 | SetupStateLookupDictionary(stateMachine); 79 | } 80 | } 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Scripts/Utils/NetworkSMUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77b9270a7e1c0cd49bc1208bd8873aa5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Scripts/nickmaltbie.NetworkStateMachineUnity.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nickmaltbie.NetworkStateMachineUnity", 3 | "rootNamespace": "nickmaltbie.NetworkStateMachineUnity", 4 | "references": [ 5 | "nickmaltbie.StateMachineUnity", 6 | "nickmaltbie.TestUtilsUnity", 7 | "Unity.Netcode.Components", 8 | "Unity.Netcode.Runtime" 9 | ], 10 | "includePlatforms": [], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": false, 13 | "overrideReferences": false, 14 | "precompiledReferences": [], 15 | "autoReferenced": true, 16 | "defineConstraints": [], 17 | "versionDefines": [], 18 | "noEngineReferences": false 19 | } -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Scripts/nickmaltbie.NetworkStateMachineUnity.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6702df4c9912964e890f0c24d0b1e74 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9dc5f2e2c6c785548973dddfcb5ba5ba 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/EditMode.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1576cf6238d26b643bcbb2c2e270376e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/EditMode/NetworkSMUtilsTests.cs: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 Nicholas Maltbie 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 4 | // associated documentation files (the "Software"), to deal in the Software without restriction, 5 | // including without limitation the rights to use, copy, modify, merge, publish, distribute, 6 | // sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 7 | // furnished to do so, subject to the following conditions: 8 | // 9 | // The above copyright notice and this permission notice shall be included in all copies or 10 | // substantial portions of the Software. 11 | // 12 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 13 | // BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 14 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 15 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | // SOFTWARE. 18 | 19 | using nickmaltbie.NetworkStateMachineUnity.Utils; 20 | using nickmaltbie.StateMachineUnity; 21 | using nickmaltbie.StateMachineUnity.Attributes; 22 | using nickmaltbie.TestUtilsUnity.Tests.TestCommon; 23 | using NUnit.Framework; 24 | 25 | namespace nickmaltbie.NetworkStateMachineUnity.Tests.EditMode 26 | { 27 | /// 28 | /// Tests for the NetworkSMUtils. 29 | /// 30 | public class NetworkSMUtilsTests : TestBase 31 | { 32 | public class ExampleNetworkSM : NetworkSMBehaviour 33 | { 34 | [InitialState] 35 | public class State0 : State { } 36 | public class State1 : State { } 37 | public class State2 : State { } 38 | } 39 | 40 | /// 41 | /// Simple test for the network SM utils 42 | /// 43 | [Test] 44 | public void Validate_NetworkSMUtils() 45 | { 46 | NetworkSMUtils.SetupNetworkCache(typeof(ExampleNetworkSM)); 47 | Assert.AreEqual(0, NetworkSMUtils.LookupStateIndex(typeof(ExampleNetworkSM), typeof(ExampleNetworkSM.State0))); 48 | Assert.AreEqual(1, NetworkSMUtils.LookupStateIndex(typeof(ExampleNetworkSM), typeof(ExampleNetworkSM.State1))); 49 | Assert.AreEqual(2, NetworkSMUtils.LookupStateIndex(typeof(ExampleNetworkSM), typeof(ExampleNetworkSM.State2))); 50 | Assert.AreEqual(-1, NetworkSMUtils.LookupStateIndex(typeof(ExampleNetworkSM), typeof(UninitializedState))); 51 | Assert.AreEqual(typeof(ExampleNetworkSM.State0), NetworkSMUtils.LookupIndexState(typeof(ExampleNetworkSM), 0)); 52 | Assert.AreEqual(typeof(ExampleNetworkSM.State1), NetworkSMUtils.LookupIndexState(typeof(ExampleNetworkSM), 1)); 53 | Assert.AreEqual(typeof(ExampleNetworkSM.State2), NetworkSMUtils.LookupIndexState(typeof(ExampleNetworkSM), 2)); 54 | Assert.AreEqual(typeof(UninitializedState), NetworkSMUtils.LookupIndexState(typeof(ExampleNetworkSM), -1)); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/EditMode/NetworkSMUtilsTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73492656ce1f1af4c9247bba52e34f4b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/EditMode/nickmaltbie.NetworkStateMachineUnity.Tests.EditMode.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nickmaltbie.NetworkStateMachineUnity.Tests.EditMode", 3 | "rootNamespace": "nickmaltbie.NetworkStateMachineUnity.Tests.EditMode", 4 | "references": [ 5 | "nickmaltbie.NetworkStateMachineUnity", 6 | "nickmaltbie.StateMachineUnity", 7 | "nickmaltbie.TestUtilsUnity", 8 | "nickmaltbie.TestUtilsUnity.Tests.TestCommon", 9 | "Unity.InputSystem", 10 | "Unity.InputSystem.TestFramework", 11 | "Unity.Netcode.Components", 12 | "Unity.Netcode.Runtime" 13 | ], 14 | "optionalUnityReferences": [ 15 | "TestAssemblies" 16 | ], 17 | "includePlatforms": [ 18 | "Editor" 19 | ], 20 | "excludePlatforms": [], 21 | "allowUnsafeCode": false, 22 | "overrideReferences": true, 23 | "precompiledReferences": [ 24 | "Moq.dll" 25 | ], 26 | "autoReferenced": false, 27 | "defineConstraints": [], 28 | "versionDefines": [], 29 | "noEngineReferences": false 30 | } -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/EditMode/nickmaltbie.NetworkStateMachineUnity.Tests.EditMode.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44f49e74b22fba947bc9f52ed06c1200 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/PlayMode.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a94cc8a4cf025d94aaa5d6f4563cce30 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/PlayMode/DemoEvents.cs: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 Nicholas Maltbie 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 4 | // associated documentation files (the "Software"), to deal in the Software without restriction, 5 | // including without limitation the rights to use, copy, modify, merge, publish, distribute, 6 | // sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 7 | // furnished to do so, subject to the following conditions: 8 | // 9 | // The above copyright notice and this permission notice shall be included in all copies or 10 | // substantial portions of the Software. 11 | // 12 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 13 | // BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 14 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 15 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | // SOFTWARE. 18 | 19 | using nickmaltbie.StateMachineUnity.Event; 20 | 21 | namespace nickmaltbie.NetworkStateMachineUnity.Tests.PlayMode 22 | { 23 | public class AEvent : IEvent { } 24 | 25 | public class BEvent : IEvent { } 26 | 27 | public class CEvent : IEvent { } 28 | 29 | public class DEvent1 : IEvent { } 30 | 31 | public class DEvent2 : IEvent { } 32 | 33 | public class ResetEvent : IEvent { } 34 | 35 | public class EmptyEvent : IEvent { } 36 | 37 | public class TestEvent : IEvent { } 38 | } 39 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/PlayMode/DemoEvents.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3549d10c0d7b274d976fb3aed010c1a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/PlayMode/NetworkSMAnimTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c956914c2d17854e830110d7810931a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/PlayMode/NetworkSMBehaviourTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97a853e8caf8fed4fbbad4c9d390c2ca 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/PlayMode/nickmaltbie.NetworkStateMachineUnity.Tests.PlayMode.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nickmaltbie.NetworkStateMachineUnity.Tests.PlayMode", 3 | "rootNamespace": "nickmaltbie.NetworkStateMachineUnity.Tests.PlayMode", 4 | "references": [ 5 | "nickmaltbie.NetworkStateMachineUnity", 6 | "nickmaltbie.StateMachineUnity", 7 | "nickmaltbie.TestUtilsUnity", 8 | "nickmaltbie.TestUtilsUnity.Tests.TestCommon", 9 | "Unity.InputSystem", 10 | "Unity.InputSystem.TestFramework", 11 | "Unity.Netcode.Components", 12 | "Unity.Netcode.Runtime", 13 | "Unity.Netcode.RuntimeTests", 14 | "Unity.Netcode.TestHelpers.Runtime" 15 | ], 16 | "optionalUnityReferences": [ 17 | "TestAssemblies" 18 | ], 19 | "includePlatforms": [], 20 | "excludePlatforms": [], 21 | "allowUnsafeCode": false, 22 | "overrideReferences": true, 23 | "precompiledReferences": [ 24 | "Moq.dll" 25 | ], 26 | "autoReferenced": false, 27 | "defineConstraints": [], 28 | "versionDefines": [], 29 | "noEngineReferences": false 30 | } -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/Tests/PlayMode/nickmaltbie.NetworkStateMachineUnity.Tests.PlayMode.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 313f5fcfaa6378d4aa70dfb4c96898ce 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.nickmaltbie.networkstatemachineunity", 3 | "displayName": "Network State Machine Unity", 4 | "version": "1.0.0", 5 | "unity": "2021.3", 6 | "unityRelease": "11f1", 7 | "description": "Network State Machine Unity for creating and sharing assets.", 8 | "author": { 9 | "name": "Nick Maltbie", 10 | "email": "nick.dmalt@gmail.com", 11 | "url": "https://nickmaltbie.com" 12 | }, 13 | "documentationUrl": "https://nickmaltbie.com/NetworkStateMachineUnity/docs", 14 | "keywords": [ 15 | "template", 16 | "package" 17 | ], 18 | "samples": [ 19 | { 20 | "displayName": "Example Sample", 21 | "description": "Example Sample folder for networking project with an example network state machine.", 22 | "path": "Samples~/ExampleSample" 23 | }, 24 | { 25 | "displayName": "Example CLI", 26 | "description": "Example Sample folder for networking project with a simple network state machine.", 27 | "path": "Samples~/ExampleCLI" 28 | } 29 | ], 30 | "dependencies": { 31 | "com.nickmaltbie.testutilsunity" : "0.0.2", 32 | "com.nickmaltbie.statemachineunity" : "1.1.2", 33 | "com.unity.inputsystem": "1.0.0", 34 | "com.unity.netcode.gameobjects": "1.1.0" 35 | }, 36 | "license": "MIT", 37 | "type": "template" 38 | } 39 | -------------------------------------------------------------------------------- /Packages/com.nickmaltbie.networkstatemachineunity/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 321cd1ff73a841f4696f65e2f2c5fc85 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "scopedRegistries": [ 3 | { 4 | "name": "nickmaltbie", 5 | "url": "https://registry.npmjs.org", 6 | "scopes": [ 7 | "com.nickmaltbie" 8 | ] 9 | } 10 | ], 11 | "dependencies": { 12 | "com.community.netcode.transport.websocket": "git+https://github.com/nicholas-maltbie/multiplayer-community-contributions?path=/Transports/com.community.netcode.transport.websocket#webgl-patch", 13 | "com.nickmaltbie.screenmanager": "3.1.0", 14 | "com.nickmaltbie.statemachineunity": "1.1.2", 15 | "com.nickmaltbie.testutilsunity": "0.0.2", 16 | "com.unity.collab-proxy": "1.17.6", 17 | "com.unity.feature.development": "1.0.1", 18 | "com.unity.ide.rider": "3.0.16", 19 | "com.unity.ide.visualstudio": "2.0.16", 20 | "com.unity.ide.vscode": "1.2.5", 21 | "com.unity.multiplayer.tools": "1.0.0", 22 | "com.unity.netcode.gameobjects": "1.1.0", 23 | "com.unity.render-pipelines.universal": "12.1.7", 24 | "com.unity.test-framework": "1.1.33", 25 | "com.unity.textmeshpro": "3.0.6", 26 | "com.unity.timeline": "1.6.4", 27 | "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.2", 28 | "com.unity.ugui": "1.0.0", 29 | "com.unity.visualscripting": "1.7.8", 30 | "com.veriorpies.parrelsync": "https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync", 31 | "com.unity.modules.ai": "1.0.0", 32 | "com.unity.modules.androidjni": "1.0.0", 33 | "com.unity.modules.animation": "1.0.0", 34 | "com.unity.modules.assetbundle": "1.0.0", 35 | "com.unity.modules.audio": "1.0.0", 36 | "com.unity.modules.cloth": "1.0.0", 37 | "com.unity.modules.director": "1.0.0", 38 | "com.unity.modules.imageconversion": "1.0.0", 39 | "com.unity.modules.imgui": "1.0.0", 40 | "com.unity.modules.jsonserialize": "1.0.0", 41 | "com.unity.modules.particlesystem": "1.0.0", 42 | "com.unity.modules.physics": "1.0.0", 43 | "com.unity.modules.physics2d": "1.0.0", 44 | "com.unity.modules.screencapture": "1.0.0", 45 | "com.unity.modules.terrain": "1.0.0", 46 | "com.unity.modules.terrainphysics": "1.0.0", 47 | "com.unity.modules.tilemap": "1.0.0", 48 | "com.unity.modules.ui": "1.0.0", 49 | "com.unity.modules.uielements": "1.0.0", 50 | "com.unity.modules.umbra": "1.0.0", 51 | "com.unity.modules.unityanalytics": "1.0.0", 52 | "com.unity.modules.unitywebrequest": "1.0.0", 53 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 54 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 55 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 56 | "com.unity.modules.unitywebrequestwww": "1.0.0", 57 | "com.unity.modules.vehicles": "1.0.0", 58 | "com.unity.modules.video": "1.0.0", 59 | "com.unity.modules.vr": "1.0.0", 60 | "com.unity.modules.wind": "1.0.0", 61 | "com.unity.modules.xr": "1.0.0" 62 | }, 63 | "testables": [ 64 | "com.nickmaltbie.testutilsunity", 65 | "com.unity.inputsystem", 66 | "com.unity.netcode.gameobjects" 67 | ] 68 | } 69 | -------------------------------------------------------------------------------- /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 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_EnableOutputSuspension: 1 16 | m_SpatializerPlugin: 17 | m_AmbisonicDecoderPlugin: 18 | m_DisableAudio: 0 19 | m_VirtualizeEffects: 1 20 | m_RequestedDSPBufferSize: 1024 21 | -------------------------------------------------------------------------------- /ProjectSettings/BurstAotSettings_StandaloneLinux64.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 4, 4 | "EnableBurstCompilation": true, 5 | "EnableOptimisations": true, 6 | "EnableSafetyChecks": false, 7 | "EnableDebugInAllBuilds": false, 8 | "CpuMinTargetX32": 0, 9 | "CpuMaxTargetX32": 0, 10 | "CpuMinTargetX64": 0, 11 | "CpuMaxTargetX64": 0, 12 | "CpuTargetsX64": 72, 13 | "OptimizeFor": 0 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ProjectSettings/BurstAotSettings_StandaloneOSX.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 4, 4 | "EnableBurstCompilation": true, 5 | "EnableOptimisations": true, 6 | "EnableSafetyChecks": false, 7 | "EnableDebugInAllBuilds": false, 8 | "CpuMinTargetX32": 0, 9 | "CpuMaxTargetX32": 0, 10 | "CpuMinTargetX64": 0, 11 | "CpuMaxTargetX64": 0, 12 | "CpuTargetsX64": 72, 13 | "OptimizeFor": 0 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ProjectSettings/BurstAotSettings_StandaloneWindows.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 4, 4 | "EnableBurstCompilation": true, 5 | "EnableOptimisations": true, 6 | "EnableSafetyChecks": false, 7 | "EnableDebugInAllBuilds": false, 8 | "CpuMinTargetX32": 0, 9 | "CpuMaxTargetX32": 0, 10 | "CpuMinTargetX64": 0, 11 | "CpuMaxTargetX64": 0, 12 | "CpuTargetsX32": 6, 13 | "CpuTargetsX64": 72, 14 | "OptimizeFor": 0 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ProjectSettings/BurstAotSettings_WebGL.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 4, 4 | "EnableBurstCompilation": true, 5 | "EnableOptimisations": true, 6 | "EnableSafetyChecks": false, 7 | "EnableDebugInAllBuilds": false, 8 | "CpuMinTargetX32": 0, 9 | "CpuMaxTargetX32": 0, 10 | "CpuMinTargetX64": 0, 11 | "CpuMaxTargetX64": 0, 12 | "OptimizeFor": 0 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /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/CommonBurstAotSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 4, 4 | "DisabledWarnings": "" 5 | } 6 | } 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: 13 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_DefaultMaxDepenetrationVelocity: 10 11 | m_SleepThreshold: 0.005 12 | m_DefaultContactOffset: 0.01 13 | m_DefaultSolverIterations: 6 14 | m_DefaultSolverVelocityIterations: 1 15 | m_QueriesHitBackfaces: 0 16 | m_QueriesHitTriggers: 1 17 | m_EnableAdaptiveForce: 0 18 | m_ClothInterCollisionDistance: 0 19 | m_ClothInterCollisionStiffness: 0 20 | m_ContactsGeneration: 1 21 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 22 | m_AutoSimulation: 1 23 | m_AutoSyncTransforms: 0 24 | m_ReuseCollisionCallbacks: 1 25 | m_ClothInterCollisionSettingsToggle: 0 26 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 27 | m_ContactPairsMode: 0 28 | m_BroadphaseType: 0 29 | m_WorldBounds: 30 | m_Center: {x: 0, y: 0, z: 0} 31 | m_Extent: {x: 250, y: 250, z: 250} 32 | m_WorldSubdivisions: 8 33 | m_FrictionType: 0 34 | m_EnableEnhancedDeterminism: 0 35 | m_EnableUnifiedHeightmaps: 1 36 | m_ImprovedPatchFriction: 0 37 | m_SolverType: 0 38 | m_DefaultMaxAngularSpeed: 7 39 | -------------------------------------------------------------------------------- /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 | - enabled: 1 9 | path: Assets/Samples/ExampleSample/ExampleScene.unity 10 | guid: 6108162bd91fd1745939e36b0e117e51 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /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: 11 7 | m_SerializationMode: 2 8 | m_LineEndingsForNewScripts: 0 9 | m_DefaultBehaviorMode: 0 10 | m_PrefabRegularEnvironment: {fileID: 0} 11 | m_PrefabUIEnvironment: {fileID: 0} 12 | m_SpritePackerMode: 0 13 | m_SpritePackerPaddingPower: 1 14 | m_Bc7TextureCompressor: 0 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_EnableTextureStreamingInEditMode: 1 22 | m_EnableTextureStreamingInPlayMode: 1 23 | m_AsyncShaderCompilation: 1 24 | m_CachingShaderPreprocessor: 1 25 | m_PrefabModeAllowAutoSave: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_GameObjectNamingDigits: 1 29 | m_GameObjectNamingScheme: 0 30 | m_AssetNamingUsesSpace: 1 31 | m_UseLegacyProbeSampleCount: 0 32 | m_SerializeInlineMappingsOnOneLine: 1 33 | m_DisableCookiesInLightmapper: 0 34 | m_AssetPipelineMode: 1 35 | m_RefreshImportMode: 0 36 | m_CacheServerMode: 0 37 | m_CacheServerEndpoint: 38 | m_CacheServerNamespacePrefix: default 39 | m_CacheServerEnableDownload: 1 40 | m_CacheServerEnableUpload: 1 41 | m_CacheServerEnableAuth: 0 42 | m_CacheServerEnableTls: 0 43 | m_CacheServerValidationMode: 2 44 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 14 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_VideoShadersIncludeMode: 2 32 | m_AlwaysIncludedShaders: 33 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 39 | m_PreloadedShaders: [] 40 | m_PreloadShadersBatchTimeLimit: -1 41 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} 42 | m_CustomRenderPipeline: {fileID: 11400000, guid: 5732a122093a8eb4f8dd75cdbfd9a620, type: 2} 43 | m_TransparencySortMode: 0 44 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 45 | m_DefaultRenderingPath: 1 46 | m_DefaultMobileRenderingPath: 1 47 | m_TierSettings: [] 48 | m_LightmapStripping: 0 49 | m_FogStripping: 0 50 | m_InstancingStripping: 0 51 | m_LightmapKeepPlain: 1 52 | m_LightmapKeepDirCombined: 1 53 | m_LightmapKeepDynamicPlain: 1 54 | m_LightmapKeepDynamicDirCombined: 1 55 | m_LightmapKeepShadowMask: 1 56 | m_LightmapKeepSubtractive: 1 57 | m_FogKeepLinear: 1 58 | m_FogKeepExp: 1 59 | m_FogKeepExp2: 1 60 | m_AlbedoSwatchInfos: [] 61 | m_LightsUseLinearIntensity: 0 62 | m_LightsUseColorTemperature: 1 63 | m_DefaultRenderingLayerMask: 1 64 | m_LogWhenShaderIsCompiled: 0 65 | m_SRPDefaultSettings: 66 | UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: f149e0eb56b9587468427594aa059b3b, type: 2} 67 | -------------------------------------------------------------------------------- /ProjectSettings/MemorySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!387306366 &1 4 | MemorySettings: 5 | m_ObjectHideFlags: 0 6 | m_EditorMemorySettings: 7 | m_MainAllocatorBlockSize: -1 8 | m_ThreadAllocatorBlockSize: -1 9 | m_MainGfxBlockSize: -1 10 | m_ThreadGfxBlockSize: -1 11 | m_CacheBlockSize: -1 12 | m_TypetreeBlockSize: -1 13 | m_ProfilerBlockSize: -1 14 | m_ProfilerEditorBlockSize: -1 15 | m_BucketAllocatorGranularity: -1 16 | m_BucketAllocatorBucketsCount: -1 17 | m_BucketAllocatorBlockSize: -1 18 | m_BucketAllocatorBlockCount: -1 19 | m_ProfilerBucketAllocatorGranularity: -1 20 | m_ProfilerBucketAllocatorBucketsCount: -1 21 | m_ProfilerBucketAllocatorBlockSize: -1 22 | m_ProfilerBucketAllocatorBlockCount: -1 23 | m_TempAllocatorSizeMain: -1 24 | m_JobTempAllocatorBlockSize: -1 25 | m_BackgroundJobTempAllocatorBlockSize: -1 26 | m_JobTempAllocatorReducedBlockSize: -1 27 | m_TempAllocatorSizeGIBakingWorker: -1 28 | m_TempAllocatorSizeNavMeshWorker: -1 29 | m_TempAllocatorSizeAudioWorker: -1 30 | m_TempAllocatorSizeCloudWorker: -1 31 | m_TempAllocatorSizeGfx: -1 32 | m_TempAllocatorSizeJobWorker: -1 33 | m_TempAllocatorSizeBackgroundWorker: -1 34 | m_TempAllocatorSizePreloadManager: -1 35 | m_PlatformMemorySettings: {} 36 | -------------------------------------------------------------------------------- /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 | maxJobWorkers: 0 89 | preserveTilesOutsideBounds: 0 90 | debug: 91 | m_Flags: 0 92 | m_SettingNames: 93 | - Humanoid 94 | -------------------------------------------------------------------------------- /ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreReleasePackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | m_SeeAllPackageVersions: 0 20 | oneTimeWarningShown: 0 21 | m_Registries: 22 | - m_Id: main 23 | m_Name: 24 | m_Url: https://packages.unity.com 25 | m_Scopes: [] 26 | m_IsDefault: 1 27 | m_Capabilities: 7 28 | - m_Id: scoped:nickmaltbie 29 | m_Name: nickmaltbie 30 | m_Url: https://registry.npmjs.org 31 | m_Scopes: 32 | - com.nickmaltbie 33 | m_IsDefault: 0 34 | m_Capabilities: 0 35 | m_UserSelectedRegistryName: nickmaltbie 36 | m_UserAddingNewScopedRegistry: 0 37 | m_RegistryInfoDraft: 38 | m_Modified: 0 39 | m_ErrorMessage: 40 | m_UserModificationsInstanceId: -846 41 | m_OriginalInstanceId: -848 42 | m_LoadAssets: 0 43 | -------------------------------------------------------------------------------- /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: 5 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_SimulationMode: 0 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /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 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.3.11f1 2 | m_EditorVersionWithRevision: 2021.3.11f1 (0a5ca18544bf) 3 | -------------------------------------------------------------------------------- /ProjectSettings/ShaderGraphSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: de02f9e1d18f588468e474319d09a723, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | customInterpolatorErrorThreshold: 32 16 | customInterpolatorWarningThreshold: 16 17 | -------------------------------------------------------------------------------- /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 | - NetworkManager 8 | layers: 9 | - Default 10 | - TransparentFX 11 | - Ignore Raycast 12 | - 13 | - Water 14 | - UI 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | - 41 | m_SortingLayers: 42 | - name: Default 43 | uniqueID: 0 44 | locked: 0 45 | -------------------------------------------------------------------------------- /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/URPProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_LastMaterialVersion: 5 16 | -------------------------------------------------------------------------------- /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 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_DashboardUrl: https://dashboard.unity3d.com 13 | m_TestInitMode: 0 14 | CrashReportingSettings: 15 | m_EventUrl: https://perf-events.cloud.unity3d.com 16 | m_Enabled: 0 17 | m_LogBufferSize: 10 18 | m_CaptureEditorExceptions: 1 19 | UnityPurchasingSettings: 20 | m_Enabled: 0 21 | m_TestMode: 0 22 | UnityAnalyticsSettings: 23 | m_Enabled: 0 24 | m_TestMode: 0 25 | m_InitializeOnStartup: 1 26 | UnityAdsSettings: 27 | m_Enabled: 0 28 | m_InitializeOnStartup: 1 29 | m_TestMode: 0 30 | m_IosGameId: 31 | m_AndroidGameId: 32 | m_GameIds: {} 33 | m_GameId: 34 | PerformanceReportingSettings: 35 | m_Enabled: 0 36 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | m_CompiledVersion: 0 14 | m_RuntimeVersion: 0 15 | m_RuntimeResources: {fileID: 0} 16 | -------------------------------------------------------------------------------- /ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /ProjectSettings/boot.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholas-maltbie/NetworkStateMachineUnity/0ea7d65b6ee51ce8ebf52946ba80f1ca46086778/ProjectSettings/boot.config --------------------------------------------------------------------------------