├── .nvmrc
├── commitlint.config.js
├── Assets
├── com.fluid.simple-spellcheck
│ ├── LICENSE.md
│ ├── README.md
│ ├── CHANGELOG.md
│ ├── Documentation~
│ │ └── com.fluid.simple-spellcheck.md
│ ├── Editor
│ │ ├── Scripts
│ │ │ ├── Windows.meta
│ │ │ ├── Settings.meta
│ │ │ ├── SpellCheck.meta
│ │ │ ├── Windows
│ │ │ │ ├── Logs.meta
│ │ │ │ ├── Logs
│ │ │ │ │ ├── LogEntry.cs.meta
│ │ │ │ │ ├── SpellCheckLogs.cs.meta
│ │ │ │ │ ├── LogEntry.cs
│ │ │ │ │ └── SpellCheckLogs.cs
│ │ │ │ ├── SpellCheckResults.cs.meta
│ │ │ │ └── SpellCheckResults.cs
│ │ │ ├── SpellCheck
│ │ │ │ ├── WordSpelling.cs.meta
│ │ │ │ ├── SpellCheck.cs.meta
│ │ │ │ ├── WordSpelling.cs
│ │ │ │ └── SpellCheck.cs
│ │ │ ├── TextAreaSpellCheckDrawer.cs.meta
│ │ │ ├── Settings
│ │ │ │ ├── SpellCheckSettings.cs.meta
│ │ │ │ ├── SpellCheckSettingsInspector.cs.meta
│ │ │ │ ├── SpellCheckSettings.cs
│ │ │ │ └── SpellCheckSettingsInspector.cs
│ │ │ ├── EnglishDictionary.meta
│ │ │ ├── EnglishDictionary
│ │ │ │ ├── FluidWordsAlpha.txt.meta
│ │ │ │ ├── EnglishDictionary.cs.meta
│ │ │ │ └── EnglishDictionary.cs
│ │ │ └── TextAreaSpellCheckDrawer.cs
│ │ ├── Resources
│ │ │ ├── SpellCheck.meta
│ │ │ └── SpellCheck
│ │ │ │ ├── Logs.uss.meta
│ │ │ │ ├── Logs.uxml.meta
│ │ │ │ ├── LogEntry.uxml.meta
│ │ │ │ ├── Results.uss.meta
│ │ │ │ ├── Results.uss
│ │ │ │ ├── Results.uxml.meta
│ │ │ │ ├── Logs.uxml
│ │ │ │ ├── Results.uxml
│ │ │ │ ├── LogEntry.uxml
│ │ │ │ └── Logs.uss
│ │ ├── Scripts.meta
│ │ ├── Resources.meta
│ │ ├── com.fluid.simple-spellcheck.Editor.asmdef.meta
│ │ └── com.fluid.simple-spellcheck.Editor.asmdef
│ ├── Tests
│ │ ├── Editor
│ │ │ ├── SpellCheckTest.cs.meta
│ │ │ ├── com.fluid.simple-spellcheck.Editor.Tests.asmdef.meta
│ │ │ ├── EnglishDictionaryTest.cs.meta
│ │ │ ├── com.fluid.simple-spellcheck.Editor.Tests.asmdef
│ │ │ ├── SpellCheckTest.cs
│ │ │ └── EnglishDictionaryTest.cs
│ │ └── Editor.meta
│ ├── CHANGELOG.md.meta
│ ├── LICENSE.md.meta
│ ├── README.md.meta
│ ├── package.json.meta
│ ├── Editor.meta
│ ├── Runtime.meta
│ ├── Tests.meta
│ ├── Runtime
│ │ ├── Scripts.meta
│ │ ├── com.fluid.simple-spellcheck.asmdef
│ │ ├── com.fluid.simple-spellcheck.asmdef.meta
│ │ └── Scripts
│ │ │ ├── TextAreaSpellcheckAttribute.cs.meta
│ │ │ └── TextAreaSpellcheckAttribute.cs
│ └── package.json
├── Examples
│ ├── Editor
│ │ ├── SpellCheckAllDialogue.cs.meta
│ │ ├── Resources.meta
│ │ ├── Resources
│ │ │ ├── SpellCheck.meta
│ │ │ └── SpellCheck
│ │ │ │ ├── SpellCheckSettings.asset.meta
│ │ │ │ └── SpellCheckSettings.asset
│ │ └── SpellCheckAllDialogue.cs
│ ├── Editor.meta
│ ├── Scripts.meta
│ ├── ExampleDialogue.asset.meta
│ ├── ExampleDialogueNoErrors.asset.meta
│ ├── ExampleDialogueBadLineBreaks.asset.meta
│ ├── Scripts
│ │ ├── ExampleDialogue.cs.meta
│ │ └── ExampleDialogue.cs
│ ├── ExampleDialogueNoErrors.asset
│ ├── ExampleDialogue.asset
│ └── ExampleDialogueBadLineBreaks.asset
├── Examples.meta
└── com.fluid.simple-spellcheck.meta
├── images
├── simple-usage.png
└── advanced-usage.png
├── .husky
└── commit-msg
├── ProjectSettings
├── ProjectVersion.txt
├── ClusterInputManager.asset
├── PresetManager.asset
├── EditorBuildSettings.asset
├── XRSettings.asset
├── VersionControlSettings.asset
├── TimeManager.asset
├── VFXManager.asset
├── AudioManager.asset
├── TagManager.asset
├── UnityConnectSettings.asset
├── EditorSettings.asset
├── PackageManagerSettings.asset
├── DynamicsManager.asset
├── MemorySettings.asset
├── NavMeshAreas.asset
├── Physics2DSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── QualitySettings.asset
└── ProjectSettings.asset
├── .github
└── workflows
│ ├── commitlint.yml
│ ├── workflow.yml
│ └── nightly-build.yml
├── .editorconfig
├── publish-nightly.sh
├── UIElementsSchema
├── UIElements.xsd
├── UnityEditor.UIElements.Debugger.xsd
├── UnityEditor.PackageManager.UI.xsd
└── UnityEngine.UIElements.xsd
├── .oyster.json
├── .releaserc
├── LICENSE.md
├── .gitignore
├── package.json
├── Packages
├── manifest.json
└── packages-lock.json
└── README.md
/.nvmrc:
--------------------------------------------------------------------------------
1 | 16.17.0
2 |
--------------------------------------------------------------------------------
/commitlint.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {extends: ['@commitlint/config-conventional']};
2 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/LICENSE.md:
--------------------------------------------------------------------------------
1 | Edit LICENSE.md in root, contents will be replaced.
2 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/README.md:
--------------------------------------------------------------------------------
1 | Edit README.md in root, contents will be replaced.
2 |
--------------------------------------------------------------------------------
/images/simple-usage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ashblue/unity-simple-spellcheck/HEAD/images/simple-usage.png
--------------------------------------------------------------------------------
/.husky/commit-msg:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | . "$(dirname -- "$0")/_/husky.sh"
3 |
4 | npx --no -- commitlint --edit
5 |
--------------------------------------------------------------------------------
/images/advanced-usage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ashblue/unity-simple-spellcheck/HEAD/images/advanced-usage.png
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | Replaced when project is built from commit logs via Semantic Release.
2 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Documentation~/com.fluid.simple-spellcheck.md:
--------------------------------------------------------------------------------
1 | Documentation beyond README.md goes here.
2 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2022.1.16f1
2 | m_EditorVersionWithRevision: 2022.1.16f1 (7321c9670bc2)
3 |
--------------------------------------------------------------------------------
/Assets/Examples/Editor/SpellCheckAllDialogue.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 76107f9a10a94d9d8105e312c6014001
3 | timeCreated: 1581706449
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/Windows.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b8bfb658a32a482aa58a535193751c58
3 | timeCreated: 1581705718
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources/SpellCheck.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 021c8a8ab2564905aba2b34bdfe179a4
3 | timeCreated: 1581715777
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/Settings.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fcaa022df0af4ba497d6594e9fb35a9a
3 | timeCreated: 1581553741
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/SpellCheck.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2121159223aa44279cf5b6ffd02afd64
3 | timeCreated: 1581464112
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/Windows/Logs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 18da0aed730546f6ac7302a025291fd3
3 | timeCreated: 1581707598
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Tests/Editor/SpellCheckTest.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 52cd69b9fcc34cf69c8fc6c0cef3d76c
3 | timeCreated: 1581464138
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources/SpellCheck/Logs.uss.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 35d36c87c18343c9a3f57c40eb598e90
3 | timeCreated: 1581705912
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources/SpellCheck/Logs.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ee328a5906774fceb05a91121dc737bc
3 | timeCreated: 1581705897
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources/SpellCheck/LogEntry.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5592ad6c258049fcbc5eb04f36cb6918
3 | timeCreated: 1581715795
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources/SpellCheck/Results.uss.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 140ef7fe766349b7825ea9e90a2de37e
3 | timeCreated: 1581552658
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/SpellCheck/WordSpelling.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3bf09533b72047bd992fcd0faa09c27b
3 | timeCreated: 1581468352
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/TextAreaSpellCheckDrawer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3c9f0ce6a8ff43a0810523e9e25e3f82
3 | timeCreated: 1581637171
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/Windows/Logs/LogEntry.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b5a00c0c78e04e35b7f8ee958bc843b8
3 | timeCreated: 1581707617
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/Settings/SpellCheckSettings.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 542cda9a3e7349ac9c415ba5fc5fdcc3
3 | timeCreated: 1581553609
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/Windows/Logs/SpellCheckLogs.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2693cf64557849208a684d3154a89256
3 | timeCreated: 1581705740
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/Windows/SpellCheckResults.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a2579b271bde4ad296560586289994b3
3 | timeCreated: 1581546024
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/Settings/SpellCheckSettingsInspector.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 72b028aeeab6493487a2f6fd329af0e1
3 | timeCreated: 1581554784
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/Assets/Examples.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: be284a59683d5f14584d260b9ae22fa2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Examples/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d8471fa47f264205ac66d9fb7e67a1a3
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Examples/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 542acb0669d7275409c3e45bd4f247e2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes: []
8 | m_configObjects: {}
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/CHANGELOG.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 53943d526b9974107adc78a6303ab24c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/LICENSE.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ce693eecaf500403a8e62d570f330fa3
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/README.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 75a5972bc41a948e9bb7077833570bfb
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/package.json.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 654f0d0507f244645a8987319dba5601
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/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 | }
--------------------------------------------------------------------------------
/Assets/Examples/Editor/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4eb282ad3a1ec5542a02334ee28c287c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 566a1f42c65c24f19b3edffd9e66733d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Examples/Editor/Resources/SpellCheck.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7229a739cbc85b24bbc61ad109f011ed
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 598ee36b1c49a4c6189a5224e6c59631
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Runtime.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0570f2f511064469cbe4d4ff19ae4f40
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Tests.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a68d5b1d53128474d90a4e2d0df59f1b
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Examples/ExampleDialogue.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2b3e378abf97f124aa06eb57e9972ac6
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b05ff55f0730cd24d829831018fea0aa
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Tests/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 66c25c898abcd4446ae6155693279341
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2cd4ee544ebc2ff488cd341df16d069a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Runtime/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b18f0315d6344ca47aa1610f846cf005
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Examples/ExampleDialogueNoErrors.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e8715df57b48b3343b5c2893ff193776
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Runtime/com.fluid.simple-spellcheck.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "com.fluid.simple-spellcheck",
3 | "references": [],
4 | "optionalUnityReferences": [],
5 | "includePlatforms": [],
6 | "excludePlatforms": []
7 | }
8 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/Assets/Examples/ExampleDialogueBadLineBreaks.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6970ca5847ab3244f871b3a6669a9662
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/EnglishDictionary.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 77eeaf72bd0a9134e90c5ce63d277b30
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/EnglishDictionary/FluidWordsAlpha.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 94e36cbd7eb4d1f4bad2555b5add6e72
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Runtime/com.fluid.simple-spellcheck.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2812f985c9a0f42828df87a8d8614bae
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "com.fluid.simple-spellcheck",
3 | "version": "0.0.0",
4 | "displayName": "Unity Simple Spellcheck",
5 | "description": "A simple spell check utility for use in the Unity Editor",
6 | "unity": ""
7 | }
8 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/com.fluid.simple-spellcheck.Editor.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5c2e8e45579c1420792afac86fc73d2e
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/Assets/Examples/Editor/Resources/SpellCheck/SpellCheckSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 29c0542e531a20841bec846fc8fd998b
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Tests/Editor/com.fluid.simple-spellcheck.Editor.Tests.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6745c38567c3a4dddaf2292c0d03f46d
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/.github/workflows/commitlint.yml:
--------------------------------------------------------------------------------
1 | name: Lint Commit Messages
2 | on: [pull_request]
3 |
4 | jobs:
5 | commitlint:
6 | runs-on: ubuntu-latest
7 | steps:
8 | - uses: actions/checkout@v3
9 | with:
10 | fetch-depth: 0
11 | - uses: wagoid/commitlint-github-action@v5
12 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources/SpellCheck/Results.uss:
--------------------------------------------------------------------------------
1 | #container {
2 | padding: 10px;
3 | }
4 |
5 | .text-block {
6 | margin-bottom: 10px;
7 | }
8 |
9 | .text-title {
10 | -unity-font-style: bold;
11 | }
12 |
13 | .bad-spelling {
14 | color: red;
15 | -unity-font-style: bold;
16 | }
17 |
--------------------------------------------------------------------------------
/Assets/Examples/Scripts/ExampleDialogue.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fb9ef6d906063f14eb0ee0de17d10a24
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 4
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | max_line_length = off
13 | trim_trailing_whitespace = false
14 |
15 | [manifest.json]
16 | indent_size = 2
17 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/SpellCheck/SpellCheck.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 291f3dd8a47f63c479f2958d45f75d11
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Tests/Editor/EnglishDictionaryTest.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 41148453d64b45742bb8734623306a08
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Runtime/Scripts/TextAreaSpellcheckAttribute.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5488f7f45b8f1e740bbd9310449ec63f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/EnglishDictionary/EnglishDictionary.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6c76429844d691d44adf2ab145f969e4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/com.fluid.simple-spellcheck.Editor.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "com.fluid.simple-spellcheck.Editor",
3 | "references": [
4 | "com.fluid.simple-spellcheck"
5 | ],
6 | "optionalUnityReferences": [],
7 | "includePlatforms": [
8 | "Editor"
9 | ],
10 | "excludePlatforms": [],
11 | "allowUnsafeCode": false
12 | }
13 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources/SpellCheck/Results.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f436792f0a892e445bab2664c6cfce56
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
11 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/Windows/Logs/LogEntry.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace CleverCrow.Fluid.SimpleSpellcheck {
4 | public class LogEntry {
5 | public string Preview { get; }
6 | public Action ViewCallback { get; }
7 |
8 | public LogEntry (string preview, Action viewCallback) {
9 | Preview = preview;
10 | ViewCallback = viewCallback;
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/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_SpatializerPlugin:
16 | m_AmbisonicDecoderPlugin:
17 | m_DisableAudio: 0
18 | m_VirtualizeEffects: 1
19 | m_RequestedDSPBufferSize: 1024
20 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/SpellCheck/WordSpelling.cs:
--------------------------------------------------------------------------------
1 | namespace CleverCrow.Fluid.SimpleSpellcheck {
2 | public interface IWordSpelling {
3 | string Text { get; }
4 | bool IsValid { get; }
5 | }
6 |
7 | public class WordSpelling : IWordSpelling {
8 | public string Text { get; }
9 | public bool IsValid { get; }
10 |
11 | public WordSpelling (string text, bool isValid) {
12 | Text = text;
13 | IsValid = isValid;
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources/SpellCheck/Logs.uxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/publish-nightly.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | setup_git() {
4 | git config --global user.email "no-reply@github.com"
5 | git config --global user.name "Github-Actions[bot]"
6 | }
7 |
8 | update_nightly_branch() {
9 | printf "Run nightly update \n"
10 | git remote add origin-nightly "https://${GH_TOKEN}@github.com/ashblue/unity-simple-spellcheck.git"
11 | git subtree split --prefix Assets/com.fluid.simple-spellcheck -b nightly
12 | git push -f origin-nightly nightly:nightly
13 | }
14 |
15 | setup_git
16 | update_nightly_branch
17 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Runtime/Scripts/TextAreaSpellcheckAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using UnityEngine;
3 |
4 | namespace CleverCrow.Fluid.SimpleSpellcheck {
5 | [AttributeUsage(AttributeTargets.Field)]
6 | public class TextAreaSpellCheckAttribute : PropertyAttribute {
7 | public int Lines { get; }
8 |
9 | public TextAreaSpellCheckAttribute () {
10 | Lines = 3;
11 | }
12 |
13 | public TextAreaSpellCheckAttribute (int lines) {
14 | Lines = lines;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Assets/Examples/ExampleDialogueNoErrors.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: fb9ef6d906063f14eb0ee0de17d10a24, type: 3}
13 | m_Name: ExampleDialogueNoErrors
14 | m_EditorClassIdentifier:
15 | _title: Example
16 | _text: I'm an example dialogue
17 |
--------------------------------------------------------------------------------
/Assets/Examples/Scripts/ExampleDialogue.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace CleverCrow.Fluid.SimpleSpellcheck.Examples {
4 | [CreateAssetMenu(menuName = "Fluid/Spell Check/Example Dialogue", fileName = "ExampleDialogue")]
5 | public class ExampleDialogue : ScriptableObject {
6 | [SerializeField]
7 | private string _title = null;
8 |
9 | [SerializeField]
10 | [TextAreaSpellCheck]
11 | private string _text = null;
12 |
13 | public string Title => _title;
14 | public string Text => _text;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/.github/workflows/workflow.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 | on: push
3 | jobs:
4 | test:
5 | runs-on: ubuntu-latest
6 | steps:
7 | - uses: actions/checkout@v3
8 | - uses: actions/setup-node@v3
9 | with:
10 | node-version: 16
11 | - run: HUSKY=0 npm ci
12 | - run: npm run build
13 | - name: Release
14 | env:
15 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
16 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
17 | run: npm run semantic-release
18 |
--------------------------------------------------------------------------------
/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/.github/workflows/nightly-build.yml:
--------------------------------------------------------------------------------
1 | name: Nightly Build
2 | on:
3 | push:
4 | branches:
5 | - develop
6 | jobs:
7 | deployNightly:
8 | runs-on: ubuntu-latest
9 | steps:
10 | - uses: actions/checkout@v3
11 | - uses: actions/setup-node@v3
12 | with:
13 | node-version: 16
14 | - run: HUSKY=0 npm ci
15 | - run: npm run build
16 | - name: Deploy nightly branch
17 | run: sh ./publish-nightly.sh
18 | env:
19 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
20 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources/SpellCheck/Results.uxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources/SpellCheck/LogEntry.uxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
12 |
13 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Assets/Examples/Editor/Resources/SpellCheck/SpellCheckSettings.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: 542cda9a3e7349ac9c415ba5fc5fdcc3, type: 3}
13 | m_Name: SpellCheckSettings
14 | m_EditorClassIdentifier:
15 | _extraWords:
16 | - qwert
17 | - asdf
18 | - qqqq
19 | - erwerwer
20 | - arrars
21 | - Skyrim
22 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Resources/SpellCheck/Logs.uss:
--------------------------------------------------------------------------------
1 | #container {
2 | padding: 10px;
3 | }
4 |
5 | .hide {
6 | display: none;
7 | }
8 |
9 | #title {
10 | -unity-font-style: bold;
11 | margin-bottom: 10px;
12 | }
13 |
14 | .log-entry {
15 | flex-direction: row;
16 | margin-bottom: 10px;
17 | justify-content: space-between;
18 | border-width: 3px;
19 | border-color: gray;
20 | height: 40px;
21 | padding: 3px;
22 | }
23 |
24 | .log-entry_button-container {
25 | flex-direction: row;
26 | width: 110px;
27 | }
28 |
29 | .log-entry__text {
30 | overflow: hidden;
31 | flex-grow: 1;
32 | color: #333;
33 | }
34 |
--------------------------------------------------------------------------------
/UIElementsSchema/UIElements.xsd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.oyster.json:
--------------------------------------------------------------------------------
1 | {
2 | "description": "A simple spell check utility for use in the Unity Editor",
3 | "displayName": "Unity Simple Spellcheck",
4 | "keywords": [
5 | "spelling",
6 | "spell check",
7 | "unity editor",
8 | "unity textarea"
9 | ],
10 | "oysterVersion": "3.0.0",
11 | "packageName": "com.fluid.simple-spellcheck",
12 | "packageScope": "com.fluid",
13 | "unityVersion": "",
14 | "author": {
15 | "name": "Ash Blue",
16 | "email": "ash@clevercrowgames.com",
17 | "url": "https://twitter.com/ashbluewd"
18 | },
19 | "repo": {
20 | "gitUrl": "https://github.com/ashblue/unity-simple-spellcheck",
21 | "gitUrlNoHttp": "github.com/ashblue/unity-simple-spellcheck"
22 | }
23 | }
--------------------------------------------------------------------------------
/Assets/Examples/ExampleDialogue.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: fb9ef6d906063f14eb0ee0de17d10a24, type: 3}
13 | m_Name: ExampleDialogue
14 | m_EditorClassIdentifier:
15 | _title: Thas is an example
16 | _text: This is a block of tidddxx with some spalkling arrars. This isn't how your
17 | mom's dog normally wants you to spell. Testing the noun of Skyrim. This skyrim
18 | should fail.
19 |
--------------------------------------------------------------------------------
/Assets/Examples/ExampleDialogueBadLineBreaks.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: fb9ef6d906063f14eb0ee0de17d10a24, type: 3}
13 | m_Name: ExampleDialogueBadLineBreaks
14 | m_EditorClassIdentifier:
15 | _title: This is an example
16 | _text: "asdf\n\n\n\nasdfasdfsdaf \nasdf\nasdf \n asdf asdf asdf asdf asdf \n asdf
17 | asd fa asdfasdf asdf asdf asdf asdf asdf asd fasdf adfs.\n\nasdf asdf"
18 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Tests/Editor/com.fluid.simple-spellcheck.Editor.Tests.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "com.fluid.simple-spellcheck.Editor.Tests",
3 | "references": [
4 | "com.fluid.simple-spellcheck",
5 | "com.fluid.simple-spellcheck.Editor",
6 | "UnityEngine.TestRunner",
7 | "UnityEditor.TestRunner"
8 | ],
9 | "includePlatforms": [
10 | "Editor"
11 | ],
12 | "excludePlatforms": [],
13 | "allowUnsafeCode": false,
14 | "overrideReferences": true,
15 | "precompiledReferences": [
16 | "nunit.framework.dll",
17 | "NSubstitute.dll"
18 | ],
19 | "autoReferenced": false,
20 | "defineConstraints": [
21 | "UNITY_INCLUDE_TESTS"
22 | ],
23 | "versionDefines": [],
24 | "noEngineReferences": false
25 | }
--------------------------------------------------------------------------------
/.releaserc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@semantic-release/commit-analyzer",
4 | "@semantic-release/release-notes-generator",
5 | "@semantic-release/changelog",
6 | [
7 | "@semantic-release/npm",
8 | {
9 | "npmPublish": false
10 | }
11 | ],
12 | [
13 | "@semantic-release/exec",
14 | {
15 | "publishCmd": "npm run build"
16 | }
17 | ],
18 | [
19 | "@semantic-release/npm",
20 | {
21 | "pkgRoot": "Assets/com.fluid.simple-spellcheck"
22 | }
23 | ],
24 | [
25 | "@semantic-release/git",
26 | {
27 | "assets": [
28 | "CHANGELOG.md",
29 | "package.json",
30 | "package-lock.json",
31 | "npm-shrinkwrap.json",
32 | "Assets/**/*"
33 | ]
34 | }
35 | ],
36 | "@semantic-release/github"
37 | ]
38 | }
39 |
--------------------------------------------------------------------------------
/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_TestInitMode: 0
13 | CrashReportingSettings:
14 | m_EventUrl: https://perf-events.cloud.unity3d.com
15 | m_Enabled: 0
16 | m_LogBufferSize: 10
17 | m_CaptureEditorExceptions: 1
18 | UnityPurchasingSettings:
19 | m_Enabled: 0
20 | m_TestMode: 0
21 | UnityAnalyticsSettings:
22 | m_Enabled: 0
23 | m_TestMode: 0
24 | m_InitializeOnStartup: 1
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Ash Blue
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/com.fluid.simple-spellcheck/Editor/Scripts/Settings/SpellCheckSettings.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using UnityEngine;
3 |
4 | namespace CleverCrow.Fluid.SimpleSpellcheck {
5 | [CreateAssetMenu(fileName = "SpellCheckSettings", menuName = "Fluid/Spell Check/Settings")]
6 | public class SpellCheckSettings : ScriptableObject {
7 | private static SpellCheckSettings _instance;
8 |
9 | public static SpellCheckSettings Instance {
10 | get {
11 | if (_instance != null) return _instance;
12 |
13 | _instance = Resources.Load("SpellCheck/SpellCheckSettings");
14 | if (_instance == null) {
15 | return CreateInstance();
16 | }
17 |
18 | return _instance;
19 | }
20 | }
21 |
22 | public static bool DoesExist () {
23 | return Resources.Load("SpellCheck/SpellCheckSettings") != null;
24 | }
25 |
26 | [SerializeField]
27 | private List _extraWords = new List();
28 |
29 | public List ExtraWords => _extraWords;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/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: 9
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 2
10 | m_DefaultBehaviorMode: 0
11 | m_PrefabRegularEnvironment: {fileID: 0}
12 | m_PrefabUIEnvironment: {fileID: 0}
13 | m_SpritePackerMode: 0
14 | m_SpritePackerPaddingPower: 1
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_CollabEditorSettings:
22 | inProgressEnabled: 1
23 | m_EnableTextureStreamingInEditMode: 1
24 | m_EnableTextureStreamingInPlayMode: 1
25 | m_AsyncShaderCompilation: 1
26 | m_EnterPlayModeOptionsEnabled: 0
27 | m_EnterPlayModeOptions: 3
28 | m_ShowLightmapResolutionOverlay: 1
29 | m_UseLegacyProbeSampleCount: 1
30 | m_AssetPipelineMode: 1
31 | m_CacheServerMode: 0
32 | m_CacheServerEndpoint:
33 | m_CacheServerNamespacePrefix: default
34 | m_CacheServerEnableDownload: 1
35 | m_CacheServerEnableUpload: 1
36 |
--------------------------------------------------------------------------------
/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 | m_DismissPreviewPackagesInUse: 0
21 | oneTimeWarningShown: 0
22 | m_Registries:
23 | - m_Id: main
24 | m_Name:
25 | m_Url: https://packages.unity.com
26 | m_Scopes: []
27 | m_IsDefault: 1
28 | m_Capabilities: 7
29 | - m_Id: scoped:NPM
30 | m_Name: NPM
31 | m_Url: https://registry.npmjs.org
32 | m_Scopes:
33 | - clever-crow
34 | m_IsDefault: 0
35 | m_Capabilities: 0
36 | m_UserSelectedRegistryName:
37 | m_UserAddingNewScopedRegistry: 0
38 | m_RegistryInfoDraft:
39 | m_Modified: 0
40 | m_ErrorMessage:
41 | m_UserModificationsInstanceId: -854
42 | m_OriginalInstanceId: -856
43 | m_LoadAssets: 0
44 |
--------------------------------------------------------------------------------
/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: 11
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_ClothInterCollisionDistance: 0
18 | m_ClothInterCollisionStiffness: 0
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 0
23 | m_ReuseCollisionCallbacks: 1
24 | m_ClothInterCollisionSettingsToggle: 0
25 | m_ContactPairsMode: 0
26 | m_BroadphaseType: 0
27 | m_WorldBounds:
28 | m_Center: {x: 0, y: 0, z: 0}
29 | m_Extent: {x: 250, y: 250, z: 250}
30 | m_WorldSubdivisions: 8
31 | m_FrictionType: 0
32 | m_EnableEnhancedDeterminism: 0
33 | m_EnableUnifiedHeightmaps: 1
34 | m_DefaultMaxAngluarSpeed: 7
35 |
--------------------------------------------------------------------------------
/Assets/Examples/Editor/SpellCheckAllDialogue.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using UnityEditor;
3 |
4 | namespace CleverCrow.Fluid.SimpleSpellcheck.Examples {
5 | public class SpellCheckAllDialogue {
6 | [MenuItem("Spell Check/All Dialogue")]
7 | public static void CheckAllDialogue () {
8 | var logList = new List();
9 |
10 | var guids = AssetDatabase.FindAssets($"t:{typeof(ExampleDialogue).Name}");
11 | foreach (var guid in guids) {
12 | var path = AssetDatabase.GUIDToAssetPath(guid);
13 | var asset = AssetDatabase.LoadAssetAtPath(path);
14 |
15 | if (!SpellCheck.Instance.IsInvalid(asset.Title) && !SpellCheck.Instance.IsInvalid(asset.Text)) continue;
16 |
17 | var log = new LogEntry($"{asset.Title} {asset.Text}", () => {
18 | SpellCheck.Instance.ClearValidation();
19 | SpellCheck.Instance.AddValidation("Title", asset.Title);
20 | SpellCheck.Instance.AddValidation("Text", asset.Text);
21 | Selection.activeObject = asset;
22 | });
23 |
24 | logList.Add(log);
25 | }
26 |
27 | SpellCheck.Instance.ShowLogs("All Example Dialogue Errors", logList);
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /[Ll]ibrary/
2 | /[Tt]emp/
3 | /[Oo]bj/
4 | /[Bb]uild/
5 | /[Bb]uilds/
6 | /[Ll]ogs/
7 | /[Uu]ser[Ss]ettings/
8 | CodeCoverage/
9 | UIElementsSchema/
10 |
11 | # MemoryCaptures can get excessive in size.
12 | # They also could contain extremely sensitive data
13 | /[Mm]emoryCaptures/
14 |
15 | # Recordings can get excessive in size
16 | /[Rr]ecordings/
17 |
18 | /[Aa]ssets/AssetStoreTools*
19 |
20 | # Autogenerated Jetbrains Rider plugin
21 | /[Aa]ssets/Plugins/Editor/JetBrains*
22 |
23 | # Visual Studio cache directory
24 | .vs/
25 |
26 | # Gradle cache directory
27 | .gradle/
28 |
29 | # Autogenerated VS/MD/Consulo solution and project files
30 | ExportedObj/
31 | .consulo/
32 | *.csproj
33 | *.unityproj
34 | *.sln
35 | *.suo
36 | *.tmp
37 | *.user
38 | *.userprefs
39 | *.pidb
40 | *.booproj
41 | *.svd
42 | *.pdb
43 | *.mdb
44 | *.opendb
45 | *.VC.db
46 |
47 | # Unity3D generated meta files
48 | *.pidb.meta
49 | *.pdb.meta
50 | *.mdb.meta
51 |
52 | # Unity3D Generated File On Crash Reports
53 | sysinfo.txt
54 |
55 | # Builds
56 | *.apk
57 | *.aab
58 | *.unitypackage
59 | *.app
60 |
61 | # Crashlytics generated file
62 | crashlytics-build.properties
63 |
64 | # Packed Addressables
65 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
66 |
67 | # Temporary auto-generated Android Assets
68 | /[Aa]ssets/[Ss]treamingAssets/aa.meta
69 | /[Aa]ssets/[Ss]treamingAssets/aa/*
70 |
71 | # Node.js
72 | node_modules
73 | dist
74 | dist.zip
75 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/EnglishDictionary/EnglishDictionary.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Linq;
3 | using System.Text.RegularExpressions;
4 |
5 | namespace CleverCrow.Fluid.SimpleSpellcheck {
6 | public interface IEnglishDictionary {
7 | bool HasWord (string word);
8 | }
9 |
10 | public class EnglishDictionary : IEnglishDictionary {
11 | private readonly HashSet _words;
12 |
13 | public EnglishDictionary (HashSet words) {
14 | _words = words;
15 | }
16 |
17 | public bool HasWord (string word) {
18 | if (word.Contains("-")) {
19 | var words = word.Split('-');
20 | var badWord = words.ToList().Find(w => !IsWordValid(w));
21 | return badWord == null;
22 | }
23 |
24 | return IsWordValid(word);
25 | }
26 |
27 | private bool IsWordValid (string word) {
28 | var cleanedWord = CleanedWord(word);
29 | return _words.Contains(cleanedWord.ToLower()) || _words.Contains(cleanedWord);
30 | }
31 |
32 | private string CleanedWord (string word) {
33 | var wordFilter = word.Replace("'s", "");
34 | wordFilter = Regex.Replace(wordFilter, @"<[^>]*>", string.Empty);
35 | wordFilter = Regex.Replace(wordFilter, "[^a-zA-Z']", string.Empty);
36 |
37 | return wordFilter;
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "com.fluid.simple-spellcheck",
3 | "version": "0.0.0",
4 | "unity": "",
5 | "displayName": "Unity Simple Spellcheck",
6 | "description": "A simple spell check utility for use in the Unity Editor",
7 | "main": "build.js",
8 | "scripts": {
9 | "build": "node build.js",
10 | "semantic-release": "semantic-release",
11 | "commit": "git-cz"
12 | },
13 | "keywords": [
14 | "spelling",
15 | "spell check",
16 | "unity editor",
17 | "unity textarea"
18 | ],
19 | "husky": {
20 | "hooks": {
21 | "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
22 | }
23 | },
24 | "repository": {
25 | "type": "git",
26 | "url": "git+https://github.com/ashblue/unity-simple-spellcheck.git"
27 | },
28 | "author": {
29 | "name": "Ash Blue",
30 | "email": "ash@clevercrowgames.com",
31 | "url": "https://twitter.com/ashbluewd"
32 | },
33 | "license": "MIT",
34 | "bugs": {
35 | "url": "https://github.com/ashblue/unity-simple-spellcheck/issues"
36 | },
37 | "homepage": "https://github.com/ashblue/unity-simple-spellcheck#readme",
38 | "devDependencies": {
39 | "@commitlint/cli": "~17.1.2",
40 | "@commitlint/config-conventional": "~17.1.0",
41 | "@semantic-release/changelog": "~6.0.1",
42 | "@semantic-release/commit-analyzer": "~9.0.2",
43 | "@semantic-release/exec": "~6.0.3",
44 | "@semantic-release/git": "~10.0.1",
45 | "@semantic-release/github": "~8.0.6",
46 | "@semantic-release/npm": "~9.0.1",
47 | "@semantic-release/release-notes-generator": "~10.0.3",
48 | "commitizen": "^4.2.5",
49 | "cz-conventional-changelog": "~3.3.0",
50 | "husky": "^8.0.1",
51 | "semantic-release": "~19.0.5",
52 | "upm-package-populator": "^2.0.0"
53 | },
54 | "config": {
55 | "commitizen": {
56 | "path": "./node_modules/cz-conventional-changelog"
57 | }
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Tests/Editor/SpellCheckTest.cs:
--------------------------------------------------------------------------------
1 | using NSubstitute;
2 | using NUnit.Framework;
3 |
4 | namespace CleverCrow.Fluid.SimpleSpellcheck {
5 | public class SpellCheckTest {
6 | public class ValidateMethod {
7 | private IEnglishDictionary _dic;
8 | private SpellCheckInternal _spellCheck;
9 |
10 | [SetUp]
11 | public void Setup () {
12 | _dic = Substitute.For();
13 | _spellCheck = new SpellCheckInternal(_dic);
14 | }
15 |
16 | [Test]
17 | public void It_should_return_an_error_for_a_mispelled_word () {
18 | var result = _spellCheck.Validate("Lorem");
19 |
20 | Assert.AreEqual("Lorem", result);
21 | }
22 |
23 | [Test]
24 | public void It_should_return_success_for_a_properly_spelled_word () {
25 | _dic.HasWord(Arg.Any()).Returns(true);
26 |
27 | var result = _spellCheck.Validate("Lorem");
28 |
29 | Assert.AreEqual("Lorem", result);
30 | }
31 | }
32 |
33 | public class IsInvalidMethod {
34 | [Test]
35 | public void It_should_return_true_if_word_is_invalid () {
36 | var dic = Substitute.For();
37 | var spellCheck = new SpellCheckInternal(dic);
38 |
39 | Assert.IsTrue(spellCheck.IsInvalid("lorem"));
40 | }
41 |
42 | [Test]
43 | public void It_should_return_false_if_word_is_valid () {
44 | var dic = Substitute.For();
45 | dic.HasWord(Arg.Any()).Returns(true);
46 | var spellCheck = new SpellCheckInternal(dic);
47 |
48 | Assert.IsFalse(spellCheck.IsInvalid("lorem"));
49 | }
50 | }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/UIElementsSchema/UnityEditor.UIElements.Debugger.xsd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "scopedRegistries": [
3 | {
4 | "name": "NPM",
5 | "url": "https://registry.npmjs.org",
6 | "scopes": [
7 | "clever-crow"
8 | ]
9 | }
10 | ],
11 | "dependencies": {
12 | "clever-crow.nsubstitute": "2.0.3",
13 | "com.unity.collab-proxy": "1.17.2",
14 | "com.unity.ide.rider": "3.0.15",
15 | "com.unity.ide.visualstudio": "2.0.16",
16 | "com.unity.ide.vscode": "1.2.5",
17 | "com.unity.test-framework": "1.1.33",
18 | "com.unity.textmeshpro": "3.0.6",
19 | "com.unity.timeline": "1.7.1",
20 | "com.unity.ugui": "1.0.0",
21 | "com.unity.modules.ai": "1.0.0",
22 | "com.unity.modules.androidjni": "1.0.0",
23 | "com.unity.modules.animation": "1.0.0",
24 | "com.unity.modules.assetbundle": "1.0.0",
25 | "com.unity.modules.audio": "1.0.0",
26 | "com.unity.modules.cloth": "1.0.0",
27 | "com.unity.modules.director": "1.0.0",
28 | "com.unity.modules.imageconversion": "1.0.0",
29 | "com.unity.modules.imgui": "1.0.0",
30 | "com.unity.modules.jsonserialize": "1.0.0",
31 | "com.unity.modules.particlesystem": "1.0.0",
32 | "com.unity.modules.physics": "1.0.0",
33 | "com.unity.modules.physics2d": "1.0.0",
34 | "com.unity.modules.screencapture": "1.0.0",
35 | "com.unity.modules.terrain": "1.0.0",
36 | "com.unity.modules.terrainphysics": "1.0.0",
37 | "com.unity.modules.tilemap": "1.0.0",
38 | "com.unity.modules.ui": "1.0.0",
39 | "com.unity.modules.uielements": "1.0.0",
40 | "com.unity.modules.umbra": "1.0.0",
41 | "com.unity.modules.unityanalytics": "1.0.0",
42 | "com.unity.modules.unitywebrequest": "1.0.0",
43 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
44 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
45 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
46 | "com.unity.modules.unitywebrequestwww": "1.0.0",
47 | "com.unity.modules.vehicles": "1.0.0",
48 | "com.unity.modules.video": "1.0.0",
49 | "com.unity.modules.vr": "1.0.0",
50 | "com.unity.modules.wind": "1.0.0",
51 | "com.unity.modules.xr": "1.0.0"
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/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: 4
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_JobOptions:
23 | serializedVersion: 2
24 | useMultithreading: 0
25 | useConsistencySorting: 0
26 | m_InterpolationPosesPerJob: 100
27 | m_NewContactsPerJob: 30
28 | m_CollideContactsPerJob: 100
29 | m_ClearFlagsPerJob: 200
30 | m_ClearBodyForcesPerJob: 200
31 | m_SyncDiscreteFixturesPerJob: 50
32 | m_SyncContinuousFixturesPerJob: 50
33 | m_FindNearestContactsPerJob: 100
34 | m_UpdateTriggerContactsPerJob: 100
35 | m_IslandSolverCostThreshold: 100
36 | m_IslandSolverBodyCostScale: 1
37 | m_IslandSolverContactCostScale: 10
38 | m_IslandSolverJointCostScale: 10
39 | m_IslandSolverBodiesPerJob: 50
40 | m_IslandSolverContactsPerJob: 50
41 | m_AutoSimulation: 1
42 | m_QueriesHitTriggers: 1
43 | m_QueriesStartInColliders: 1
44 | m_CallbacksOnDisable: 1
45 | m_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/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: 13
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_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
38 | m_PreloadedShaders: []
39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
40 | type: 0}
41 | m_CustomRenderPipeline: {fileID: 0}
42 | m_TransparencySortMode: 0
43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
44 | m_DefaultRenderingPath: 1
45 | m_DefaultMobileRenderingPath: 1
46 | m_TierSettings: []
47 | m_LightmapStripping: 0
48 | m_FogStripping: 0
49 | m_InstancingStripping: 0
50 | m_LightmapKeepPlain: 1
51 | m_LightmapKeepDirCombined: 1
52 | m_LightmapKeepDynamicPlain: 1
53 | m_LightmapKeepDynamicDirCombined: 1
54 | m_LightmapKeepShadowMask: 1
55 | m_LightmapKeepSubtractive: 1
56 | m_FogKeepLinear: 1
57 | m_FogKeepExp: 1
58 | m_FogKeepExp2: 1
59 | m_AlbedoSwatchInfos: []
60 | m_LightsUseLinearIntensity: 0
61 | m_LightsUseColorTemperature: 0
62 | m_LogWhenShaderIsCompiled: 0
63 | m_AllowEnlightenSupportForUpgradedProject: 0
64 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/TextAreaSpellCheckDrawer.cs:
--------------------------------------------------------------------------------
1 | using UnityEditor;
2 | using UnityEngine;
3 |
4 | namespace CleverCrow.Fluid.SimpleSpellcheck {
5 | [CustomPropertyDrawer(typeof(TextAreaSpellCheckAttribute))]
6 | public class TextAreaSpellCheckDrawer : PropertyDrawer {
7 | private Vector2 _scroll;
8 |
9 | public override void OnGUI (Rect position, SerializedProperty property, GUIContent label) {
10 | var options = attribute as TextAreaSpellCheckAttribute;
11 |
12 | PrintLabel(position, property);
13 | PrintTextArea(position, property, options.Lines);
14 | PrintSpellCheckButton(position, property, options);
15 | }
16 |
17 | private static void PrintSpellCheckButton (Rect position, SerializedProperty property,
18 | TextAreaSpellCheckAttribute options) {
19 | var btnPosition = position;
20 | btnPosition.height = EditorGUIUtility.singleLineHeight;
21 | btnPosition.y += EditorGUIUtility.singleLineHeight * (options.Lines + 1);
22 | if (GUI.Button(btnPosition, "Spell Check")) {
23 | SpellCheck.Instance.Validate(property.stringValue);
24 | }
25 | }
26 |
27 | private void PrintTextArea (Rect position, SerializedProperty property, int lines) {
28 | EditorGUI.BeginChangeCheck();
29 |
30 | var scrollPos = position;
31 | scrollPos.y += EditorGUIUtility.singleLineHeight;
32 | scrollPos.height = EditorGUIUtility.singleLineHeight * lines;
33 |
34 | var textPos = new Rect(scrollPos) { x = 0, y = 0 };
35 | textPos.width -= 10;
36 | textPos.height = Mathf.Max(GUI.skin.textArea.CalcHeight(new GUIContent(property.stringValue), textPos.width), EditorGUIUtility.singleLineHeight * lines);
37 |
38 | _scroll = GUI.BeginScrollView(scrollPos, _scroll, new Rect(0, 0, textPos.width, textPos.height), GUIStyle.none, GUI.skin.verticalScrollbar);
39 | var text = GUI.TextArea(textPos, property.stringValue, -1, GUI.skin.textArea);
40 | GUI.EndScrollView();
41 |
42 | if (EditorGUI.EndChangeCheck()) {
43 | property.stringValue = text;
44 | }
45 | }
46 |
47 | private static void PrintLabel (Rect position, SerializedProperty property) {
48 | var labelPosition = position;
49 | labelPosition.height = EditorGUIUtility.singleLineHeight;
50 | EditorGUI.LabelField(labelPosition, property.displayName);
51 | }
52 |
53 | public override float GetPropertyHeight (SerializedProperty property, GUIContent label) {
54 | var options = attribute as TextAreaSpellCheckAttribute;
55 |
56 | return EditorGUIUtility.singleLineHeight * (options.Lines + 2);
57 | }
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/Assets/com.fluid.simple-spellcheck/Editor/Scripts/Windows/Logs/SpellCheckLogs.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Linq;
3 | using UnityEditor;
4 | using UnityEngine;
5 | using UnityEngine.UIElements;
6 |
7 | namespace CleverCrow.Fluid.SimpleSpellcheck {
8 | public class SpellCheckLogs : EditorWindow {
9 | public static void ShowWindow (string title, List logs) {
10 | var window = GetWindow();
11 | window.titleContent = new GUIContent("Spell Check Logs");
12 | window.Show(title, logs);
13 | }
14 |
15 | private void OnEnable () {
16 | var root = rootVisualElement;
17 | root.styleSheets.Add(Resources.Load("SpellCheck/Logs"));
18 |
19 | var tree = Resources.Load("SpellCheck/Logs");
20 | tree.CloneTree(root);
21 | }
22 |
23 | private void Show (string titleText, List logs) {
24 | ClearLogs();
25 | SetTitle(titleText);
26 |
27 | var root = rootVisualElement;
28 |
29 | if (logs.Count == 0) {
30 | var noResults = root.Query("no-results").First();
31 | noResults.style.display = DisplayStyle.Flex;
32 | }
33 |
34 | var logContainer = root.Query("log-container").First();
35 | var logTemplate = Resources.Load("SpellCheck/LogEntry");
36 |
37 | foreach (var logEntry in logs) {
38 | logTemplate.CloneTree(logContainer);
39 | var elLog = logContainer.Children().Last();
40 |
41 | var text = elLog.Query(null, "log-entry__text").First();
42 | text.text = logEntry.Preview;
43 |
44 | var hideBtn = elLog.Query