├── .gitignore ├── GameDevWare.Charon.Unity.sln ├── LICENSE.md ├── README.md ├── openupm_cover.png └── src └── GameDevWare.Charon.Unity ├── .editorconfig ├── Assets ├── Editor.meta ├── Editor │ ├── CharonExamples.meta │ └── CharonExamples │ │ ├── CharonCliExamples.AddTranslationLanguage.cs │ │ ├── CharonCliExamples.AddTranslationLanguage.cs.meta │ │ ├── CharonCliExamples.BulkCreateHeroes.cs │ │ ├── CharonCliExamples.BulkCreateHeroes.cs.meta │ │ ├── CharonCliExamples.BulkDeleteHeroes.cs │ │ ├── CharonCliExamples.BulkDeleteHeroes.cs.meta │ │ ├── CharonCliExamples.CreateHero.cs │ │ ├── CharonCliExamples.CreateHero.cs.meta │ │ ├── CharonCliExamples.DeleteHero.cs │ │ ├── CharonCliExamples.DeleteHero.cs.meta │ │ ├── CharonCliExamples.DeleteHeroById.cs │ │ ├── CharonCliExamples.DeleteHeroById.cs.meta │ │ ├── CharonCliExamples.ExportHeroes.cs │ │ ├── CharonCliExamples.ExportHeroes.cs.meta │ │ ├── CharonCliExamples.ExportHeroesToFile.cs │ │ ├── CharonCliExamples.ExportHeroesToFile.cs.meta │ │ ├── CharonCliExamples.ExportLocalizableData.cs │ │ ├── CharonCliExamples.ExportLocalizableData.cs.meta │ │ ├── CharonCliExamples.FindHeroById.cs │ │ ├── CharonCliExamples.FindHeroById.cs.meta │ │ ├── CharonCliExamples.ImportLocalizableData.cs │ │ ├── CharonCliExamples.ImportLocalizableData.cs.meta │ │ ├── CharonCliExamples.ListItems.cs │ │ ├── CharonCliExamples.ListItems.cs.meta │ │ ├── CharonCliExamples.ListReligiousHeroes.cs │ │ ├── CharonCliExamples.ListReligiousHeroes.cs.meta │ │ ├── CharonCliExamples.ListTranslationLanguages.cs │ │ ├── CharonCliExamples.ListTranslationLanguages.cs.meta │ │ ├── CharonCliExamples.PreprocessTemplateIntoGenerator.cs │ │ ├── CharonCliExamples.PreprocessTemplateIntoGenerator.cs.meta │ │ ├── CharonCliExamples.RunT4Template.cs │ │ ├── CharonCliExamples.RunT4Template.cs.meta │ │ ├── CharonCliExamples.RunT4Template2.cs │ │ ├── CharonCliExamples.RunT4Template2.cs.meta │ │ ├── CharonCliExamples.UpdateHero.cs │ │ ├── CharonCliExamples.UpdateHero.cs.meta │ │ ├── CharonCliExamples.ValidateGameData.cs │ │ ├── CharonCliExamples.ValidateGameData.cs.meta │ │ ├── CharonCliExamples.cs │ │ ├── CharonCliExamples.cs.meta │ │ ├── FileList.tt │ │ ├── FileList.tt.meta │ │ ├── TypedDocumentReferences.tt │ │ └── TypedDocumentReferences.tt.meta ├── Resources.meta ├── Resources │ ├── RpgGameData.asset │ └── RpgGameData.asset.meta ├── Scenes.meta ├── Scenes │ ├── StartingScene.unity │ └── StartingScene.unity.meta ├── Scripts.meta ├── Scripts │ ├── Character.cs │ ├── Character.cs.meta │ ├── CheckContext.cs │ ├── CheckContext.cs.meta │ ├── Dungeon.cs │ ├── Dungeon.cs.meta │ ├── GameInstance.cs │ ├── GameInstance.cs.meta │ ├── GameWorld.cs │ ├── GameWorld.cs.meta │ ├── InventoryItem.cs │ ├── InventoryItem.cs.meta │ ├── NativeArrayStream.cs │ ├── NativeArrayStream.cs.meta │ ├── RpgGameData.cs │ ├── RpgGameData.cs.meta │ ├── RpgGameDataAsset.cs │ ├── RpgGameDataAsset.cs.meta │ ├── TypedDocumentReferences.cs │ └── TypedDocumentReferences.cs.meta ├── StreamingAssets.meta └── StreamingAssets │ ├── RpgGameData.gdjs │ └── RpgGameData.gdjs.meta └── Packages ├── com.gamedevware.charon ├── CHANGELOG.md ├── CHANGELOG.md.meta ├── Documentation.meta ├── Documentation │ ├── Documentation.pdf │ └── Documentation.pdf.meta ├── Editor.meta ├── Editor │ ├── AssemblyInfo.cs │ ├── AssemblyInfo.cs.meta │ ├── CSharp73GameDataFromAssetGenerator.cs │ ├── CSharp73GameDataFromAssetGenerator.cs.meta │ ├── CSharp73GameDataFromAssetGenerator.tt │ ├── CSharp73GameDataFromAssetGenerator.tt.meta │ ├── CharonEditorApplication.cs │ ├── CharonEditorApplication.cs.meta │ ├── CharonEditorMenu.cs │ ├── CharonEditorMenu.cs.meta │ ├── CharonEditorModule.cs │ ├── CharonEditorModule.cs.meta │ ├── Cli.meta │ ├── Cli │ │ ├── BackupRestoreFormat.cs │ │ ├── BackupRestoreFormat.cs.meta │ │ ├── CharonCli.cs │ │ ├── CharonCli.cs.meta │ │ ├── CharonLogLevel.cs │ │ ├── CharonLogLevel.cs.meta │ │ ├── CharonProcessLockFileContent.cs │ │ ├── CharonProcessLockFileContent.cs.meta │ │ ├── CharonServerProcess.cs │ │ ├── CharonServerProcess.cs.meta │ │ ├── ExportFormat.cs │ │ ├── ExportFormat.cs.meta │ │ ├── ExportMode.cs │ │ ├── ExportMode.cs.meta │ │ ├── ImportMode.cs │ │ ├── ImportMode.cs.meta │ │ ├── ListFilter.cs │ │ ├── ListFilter.cs.meta │ │ ├── ListFilterOperation.cs │ │ ├── ListFilterOperation.cs.meta │ │ ├── ListSorter.cs │ │ ├── ListSorter.cs.meta │ │ ├── ListSorterDirection.cs │ │ ├── ListSorterDirection.cs.meta │ │ ├── SourceCodeGenerationOptimizations.cs │ │ ├── SourceCodeGenerationOptimizations.cs.meta │ │ ├── ValidationOptions.cs │ │ └── ValidationOptions.cs.meta │ ├── GameDataImporter.cs │ ├── GameDataImporter.cs.meta │ ├── GameDataJsonImporter.cs │ ├── GameDataJsonImporter.cs.meta │ ├── GameDataMessagePackImporter.cs │ ├── GameDataMessagePackImporter.cs.meta │ ├── GameDataSourceCodeGenerationEventArgs.cs │ ├── GameDataSourceCodeGenerationEventArgs.cs.meta │ ├── GameDataSynchronizationEventArgs.cs │ ├── GameDataSynchronizationEventArgs.cs.meta │ ├── GameDevWare.Charon.Editor.asmdef │ ├── GameDevWare.Charon.Editor.asmdef.meta │ ├── Json.meta │ ├── Json │ │ ├── JsonArray.cs │ │ ├── JsonArray.cs.meta │ │ ├── JsonObject.cs │ │ ├── JsonObject.cs.meta │ │ ├── JsonPrimitive.cs │ │ ├── JsonPrimitive.cs.meta │ │ ├── JsonReader.cs │ │ ├── JsonReader.cs.meta │ │ ├── JsonType.cs │ │ ├── JsonType.cs.meta │ │ ├── JsonValue.cs │ │ ├── JsonValue.cs.meta │ │ ├── LICENSE.txt │ │ └── LICENSE.txt.meta │ ├── Routines.meta │ ├── Routines │ │ ├── ExtractT4TemplatesRoutine.cs │ │ ├── ExtractT4TemplatesRoutine.cs.meta │ │ ├── GameDataValidationReport.cs │ │ ├── GameDataValidationReport.cs.meta │ │ ├── GenerateSourceCodeRoutine.cs │ │ ├── GenerateSourceCodeRoutine.cs.meta │ │ ├── LaunchEditorRoutine.cs │ │ ├── LaunchEditorRoutine.cs.meta │ │ ├── ReimportAssetsRoutine.cs │ │ ├── ReimportAssetsRoutine.cs.meta │ │ ├── SynchronizeAssetsRoutine.cs │ │ ├── SynchronizeAssetsRoutine.cs.meta │ │ ├── ValidateGameDataRoutine.cs │ │ ├── ValidateGameDataRoutine.cs.meta │ │ ├── ValidationError.cs │ │ └── ValidationError.cs.meta │ ├── Services.meta │ ├── Services │ │ ├── AssetIndexer.cs │ │ ├── AssetIndexer.cs.meta │ │ ├── CharonLogger.cs │ │ ├── CharonLogger.cs.meta │ │ ├── CharonProcessList.cs │ │ ├── CharonProcessList.cs.meta │ │ ├── CharonSettings.cs │ │ ├── CharonSettings.cs.meta │ │ ├── DeferredAssetImporter.cs │ │ ├── DeferredAssetImporter.cs.meta │ │ ├── FormulaTypeIndexer.cs │ │ ├── FormulaTypeIndexer.cs.meta │ │ ├── Http.meta │ │ ├── Http │ │ │ ├── Http11Protocol.cs │ │ │ ├── Http11Protocol.cs.meta │ │ │ ├── HttpParseResult.cs │ │ │ ├── HttpParseResult.cs.meta │ │ │ ├── HttpServer.cs │ │ │ └── HttpServer.cs.meta │ │ ├── KeyCryptoStorage.cs │ │ ├── KeyCryptoStorage.cs.meta │ │ ├── LegacyPluginMigrator.cs │ │ ├── LegacyPluginMigrator.cs.meta │ │ ├── LogArchiver.cs │ │ ├── LogArchiver.cs.meta │ │ ├── ResourceServerApi.meta │ │ ├── ResourceServerApi │ │ │ ├── FormulaType.cs │ │ │ ├── FormulaType.cs.meta │ │ │ ├── FormulaTypeKind.cs │ │ │ ├── FormulaTypeKind.cs.meta │ │ │ ├── GameAsset.cs │ │ │ ├── GameAsset.cs.meta │ │ │ ├── GenerateSourceCodeRequest.cs │ │ │ ├── GenerateSourceCodeRequest.cs.meta │ │ │ ├── GetAssetThumbnailRequest.cs │ │ │ ├── GetAssetThumbnailRequest.cs.meta │ │ │ ├── ListAssetsRequest.cs │ │ │ ├── ListAssetsRequest.cs.meta │ │ │ ├── ListAssetsResponse.cs │ │ │ ├── ListAssetsResponse.cs.meta │ │ │ ├── ListFormulaTypesRequest.cs │ │ │ ├── ListFormulaTypesRequest.cs.meta │ │ │ ├── ListFormulaTypesResponse.cs │ │ │ ├── ListFormulaTypesResponse.cs.meta │ │ │ ├── OpenApi.yml │ │ │ ├── OpenApi.yml.meta │ │ │ ├── PublishRequest.cs │ │ │ └── PublishRequest.cs.meta │ │ ├── RoutineQueue.cs │ │ ├── RoutineQueue.cs.meta │ │ ├── ServerApi.meta │ │ ├── ServerApi │ │ │ ├── ApiError.cs │ │ │ ├── ApiError.cs.meta │ │ │ ├── ApiKeyAuthenticateRequest.cs │ │ │ ├── ApiKeyAuthenticateRequest.cs.meta │ │ │ ├── ApiResponse.cs │ │ │ ├── ApiResponse.cs.meta │ │ │ ├── AuthenticationFlowStage.cs │ │ │ ├── AuthenticationFlowStage.cs.meta │ │ │ ├── Branch.cs │ │ │ ├── Branch.cs.meta │ │ │ ├── ImportReport.cs │ │ │ ├── ImportReport.cs.meta │ │ │ ├── ImportReportDocumentChange.cs │ │ │ ├── ImportReportDocumentChange.cs.meta │ │ │ ├── ImportReportDocumentChangeStatus.cs │ │ │ ├── ImportReportDocumentChangeStatus.cs.meta │ │ │ ├── Project.cs │ │ │ ├── Project.cs.meta │ │ │ ├── ServerApiClient.cs │ │ │ ├── ServerApiClient.cs.meta │ │ │ ├── ValidationError.cs │ │ │ ├── ValidationError.cs.meta │ │ │ ├── ValidationRecord.cs │ │ │ ├── ValidationRecord.cs.meta │ │ │ ├── ValidationReport.cs │ │ │ └── ValidationReport.cs.meta │ │ ├── UnityResourceServer.cs │ │ └── UnityResourceServer.cs.meta │ ├── SourceCodeIndentation.cs │ ├── SourceCodeIndentation.cs.meta │ ├── SourceCodeLineEndings.cs │ ├── SourceCodeLineEndings.cs.meta │ ├── UnityResources.cs │ ├── UnityResources.cs.meta │ ├── Utils.meta │ ├── Utils │ │ ├── CancellationTokenExtensions.cs │ │ ├── CancellationTokenExtensions.cs.meta │ │ ├── CharonFileUtils.cs │ │ ├── CharonFileUtils.cs.meta │ │ ├── CommandLineUtils.cs │ │ ├── CommandLineUtils.cs.meta │ │ ├── EditorLayoutUtils.cs │ │ ├── EditorLayoutUtils.cs.meta │ │ ├── EditorPrefsUtils.cs │ │ ├── EditorPrefsUtils.cs.meta │ │ ├── ExceptionUtils.cs │ │ ├── ExceptionUtils.cs.meta │ │ ├── FormatsExtensions.cs │ │ ├── FormatsExtensions.cs.meta │ │ ├── GameDataAssetUtils.cs │ │ ├── GameDataAssetUtils.cs.meta │ │ ├── GameDataSettingsUtils.cs │ │ ├── GameDataSettingsUtils.cs.meta │ │ ├── HttpUtils.cs │ │ ├── HttpUtils.cs.meta │ │ ├── ProcessExtensions.cs │ │ ├── ProcessExtensions.cs.meta │ │ ├── ProgressUtils.cs │ │ ├── ProgressUtils.cs.meta │ │ ├── SemanticVersion.cs │ │ ├── SemanticVersion.cs.meta │ │ ├── TaskExtensions.cs │ │ ├── TaskExtensions.cs.meta │ │ ├── TaskSchedulerExtensions.cs │ │ ├── TaskSchedulerExtensions.cs.meta │ │ ├── ToolRunOptions.cs │ │ ├── ToolRunOptions.cs.meta │ │ ├── ToolRunResult.cs │ │ └── ToolRunResult.cs.meta │ ├── Windows.meta │ └── Windows │ │ ├── ApiKeyPromptWindow.cs │ │ ├── ApiKeyPromptWindow.cs.meta │ │ ├── CharonSettingsWindow.cs │ │ ├── CharonSettingsWindow.cs.meta │ │ ├── ConnectGameDataWindow.cs │ │ ├── ConnectGameDataWindow.cs.meta │ │ ├── CreateGameDataWindow.cs │ │ ├── CreateGameDataWindow.cs.meta │ │ ├── GameDataAssetInspector.cs │ │ ├── GameDataAssetInspector.cs.meta │ │ ├── GameDataDocumentReferenceDrawer.cs │ │ ├── GameDataDocumentReferenceDrawer.cs.meta │ │ ├── GameDataJsonImporterEditor.cs │ │ ├── GameDataJsonImporterEditor.cs.meta │ │ ├── GameDataMessagePackImporterEditor.cs │ │ ├── GameDataMessagePackImporterEditor.cs.meta │ │ ├── MigrationPromptWindow.cs │ │ └── MigrationPromptWindow.cs.meta ├── LICENSE.md ├── LICENSE.md.meta ├── README.md ├── README.md.meta ├── Runtime.meta ├── Runtime │ ├── AssemblyInfo.cs │ ├── AssemblyInfo.cs.meta │ ├── GameDataBase.cs │ ├── GameDataBase.cs.meta │ ├── GameDataDocumentReference.cs │ ├── GameDataDocumentReference.cs.meta │ ├── GameDataFormat.cs │ ├── GameDataFormat.cs.meta │ ├── GameDataSettings.cs │ ├── GameDataSettings.cs.meta │ ├── GameDevWare.Charon.asmdef │ └── GameDevWare.Charon.asmdef.meta ├── Scripts.meta ├── Scripts │ ├── RunCharon.unix │ ├── RunCharon.unix.meta │ ├── RunCharon.windows │ ├── RunCharon.windows.meta │ ├── RunT4.unix │ ├── RunT4.unix.meta │ ├── RunT4.windows │ └── RunT4.windows.meta ├── package.json └── package.json.meta ├── manifest.json └── packages-lock.json /.gitignore: -------------------------------------------------------------------------------- 1 | *.exp 2 | *.ipch 3 | *.metagen 4 | *.ncb 5 | *.nupkg 6 | *.obj 7 | *.opensdf 8 | *.pdb 9 | *.ReSharper 10 | *.sdf 11 | *.suo 12 | *.swp 13 | *.user 14 | *.log 15 | .idea 16 | _ReSharper* 17 | *.csproj 18 | *.sln 19 | *.userprefs 20 | media/ 21 | .vs 22 | bin/ 23 | obj/ 24 | dotnet-tools.json 25 | 26 | AssetStoreTools* 27 | .DS_Store 28 | 29 | example/GameDevWare.Charon.Unity*/Assembly* 30 | example/GameDevWare.Charon.Unity*/Library/ 31 | example/GameDevWare.Charon.Unity*/Packages/ 32 | example/GameDevWare.Charon.Unity*/Temp/ 33 | example/GameDevWare.Charon.Unity*/ProjectSettings/ 34 | example/GameDevWare.Charon.Unity*/UserSettings/ 35 | example/GameDevWare.Charon.Unity*/Assets/Plugins* 36 | 37 | src/GameDevWare.Charon.Unity*/Assembly* 38 | src/GameDevWare.Charon.Unity*/Library/ 39 | src/GameDevWare.Charon.Unity*/Packages/com.unity.asset-store-tools/ 40 | src/GameDevWare.Charon.Unity*/Temp/ 41 | src/GameDevWare.Charon.Unity*/ProjectSettings/ 42 | src/GameDevWare.Charon.Unity*/UserSettings/ 43 | src/GameDevWare.Charon.Unity*/Assets/Plugins* -------------------------------------------------------------------------------- /GameDevWare.Charon.Unity.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameDevWare.Charon.Unity", "src\GameDevWare.Charon.Unity\GameDevWare.Charon.Unity.csproj", "{1C3C0445-A778-EA2D-A4A8-47620BF099A5}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {1C3C0445-A778-EA2D-A4A8-47620BF099A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {1C3C0445-A778-EA2D-A4A8-47620BF099A5}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {1C3C0445-A778-EA2D-A4A8-47620BF099A5}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {1C3C0445-A778-EA2D-A4A8-47620BF099A5}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2025 Denis Zykov 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /openupm_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamedevware/charon-unity3d/fef882e6d44ae9b6904dee05bfcca391eeabd477/openupm_cover.png -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = crlf 8 | indent_style = tab 9 | indent_size = 4 10 | trim_trailing_whitespace = true 11 | insert_final_newline = true 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8074e6802bf111749b2b930e23a7fdc0 3 | folderAsset: yes 4 | timeCreated: 1511877753 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f05a1998617b4fa9951f11da50d440fd 3 | timeCreated: 1740410963 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.AddTranslationLanguage.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.IO; 24 | using System.Linq; 25 | using GameDevWare.Charon.Editor.Cli; 26 | using Newtonsoft.Json.Linq; 27 | using UnityEditor; 28 | using UnityEngine; 29 | 30 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 31 | 32 | namespace Editor.CharonExamples 33 | { 34 | public partial class CharonCliExamples 35 | { 36 | [MenuItem("Tools/RPG Game/Add Translation Language")] 37 | private static async void AddTranslationLanguage() 38 | { 39 | Debug.Log("Listing translation languages..."); 40 | 41 | var gameDataPath = Path.GetFullPath("Assets/StreamingAssets/RpgGameData.gdjs"); 42 | var language = "es-ES"; 43 | 44 | // 45 | // Documentation for the AddLanguage command and its parameters: 46 | // https://gamedevware.github.io/charon/advanced/commands/data_i18n_add_language.html 47 | // 48 | await CharonCli.I18NAddLanguageAsync( 49 | gameDataPath, 50 | apiKey: string.Empty, 51 | languages: new[] { language } 52 | ); 53 | 54 | Debug.Log($"Successfully added translation language {language} to game data."); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.AddTranslationLanguage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76269ee7f90c404ba680a1d4250ed50b 3 | timeCreated: 1741939735 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.BulkCreateHeroes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b596ea432db465d9ccda3d886d01c29 3 | timeCreated: 1741283395 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.BulkDeleteHeroes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f7db9be08104beaa6247981341480ce 3 | timeCreated: 1741353056 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.CreateHero.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe649e2b7ed043ca9953346d50beb0fb 3 | timeCreated: 1741283422 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.DeleteHero.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.IO; 24 | using GameDevWare.Charon.Editor.Cli; 25 | using Newtonsoft.Json; 26 | using Newtonsoft.Json.Linq; 27 | using UnityEditor; 28 | using UnityEngine; 29 | 30 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 31 | 32 | namespace Editor.CharonExamples 33 | { 34 | public partial class CharonCliExamples 35 | { 36 | [MenuItem("Tools/RPG Game/Delete Hero")] 37 | private static async void DeleteHero() 38 | { 39 | Debug.Log("Deleting hero document..."); 40 | 41 | var heroDocumentToDelete = new JObject { 42 | { "Id", "SuperBoy" }, 43 | }; 44 | 45 | var gameDataPath = Path.GetFullPath("Assets/StreamingAssets/RpgGameData.gdjs"); 46 | 47 | // 48 | // Documentation for the DeleteDocument command and its parameters: 49 | // https://gamedevware.github.io/charon/advanced/commands/data_delete.html 50 | // 51 | var deletedHeroDocument = await CharonCli.DeleteDocumentAsync( 52 | gameDataPath, 53 | apiKey: string.Empty, 54 | schemaNameOrId: "Hero", 55 | document: heroDocumentToDelete 56 | ); 57 | 58 | Debug.Log("Successfully deleted hero document from game data: " + deletedHeroDocument.ToString(Formatting.Indented)); 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.DeleteHero.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6384b2dc49124768a2c23f7ff8065089 3 | timeCreated: 1741283446 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.DeleteHeroById.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.IO; 24 | using GameDevWare.Charon.Editor.Cli; 25 | using Newtonsoft.Json; 26 | using UnityEditor; 27 | using UnityEngine; 28 | 29 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 30 | 31 | namespace Editor.CharonExamples 32 | { 33 | public partial class CharonCliExamples 34 | { 35 | [MenuItem("Tools/RPG Game/Delete Hero By Id")] 36 | private static async void DeleteHeroById() 37 | { 38 | Debug.Log("Deleting hero by known ID..."); 39 | 40 | var gameDataPath = Path.GetFullPath("Assets/StreamingAssets/RpgGameData.gdjs"); 41 | 42 | // 43 | // Documentation for the DeleteDocument command and its parameters: 44 | // https://gamedevware.github.io/charon/advanced/commands/data_delete.html 45 | // 46 | var deletedHeroDocument = await CharonCli.DeleteDocumentAsync( 47 | gameDataPath, 48 | apiKey: string.Empty, 49 | schemaNameOrId: "Hero", 50 | id: "SuperBoy" 51 | ); 52 | 53 | Debug.Log("Successfully deleted hero document from game data: " + deletedHeroDocument.ToString(Formatting.Indented)); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.DeleteHeroById.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b1df8b78c81b4978bac031a3b86c69f5 3 | timeCreated: 1741283433 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ExportHeroes.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.IO; 25 | using GameDevWare.Charon.Editor.Cli; 26 | using Newtonsoft.Json.Linq; 27 | using UnityEditor; 28 | using UnityEngine; 29 | 30 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 31 | 32 | namespace Editor.CharonExamples 33 | { 34 | public partial class CharonCliExamples 35 | { 36 | [MenuItem("Tools/RPG Game/Export Heroes")] 37 | private static async void ExportHeroes() 38 | { 39 | Debug.Log("Exporting heroes to JObject..."); 40 | 41 | var gameDataPath = Path.GetFullPath("Assets/StreamingAssets/RpgGameData.gdjs"); 42 | 43 | // 44 | // Documentation for the Export command and its parameters: 45 | // https://gamedevware.github.io/charon/advanced/commands/data_export.html 46 | // 47 | var exportData = await CharonCli.ExportAsync( 48 | gameDataPath, 49 | apiKey: string.Empty, 50 | schemaNamesOrIds: new[] { "Hero" }, 51 | properties: Array.Empty(), 52 | languages: Array.Empty(), 53 | exportMode: ExportMode.Normal 54 | ); 55 | 56 | var heroes = (JArray)exportData["Collections"]["Hero"]; 57 | foreach (var hero in heroes) 58 | { 59 | var heroName = hero["Name"]["en-US"]; 60 | 61 | Debug.Log("Found hero in game data: " + heroName); 62 | } 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ExportHeroes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d43a1880a17f405784c3e13d07bb20b0 3 | timeCreated: 1741283381 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ExportHeroesToFile.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 924173f14cbe4b328ef48c77b96ad679 3 | timeCreated: 1741283346 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ExportLocalizableData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 60a11ee18b1a4cae9efb4d3b2e943c10 3 | timeCreated: 1741283363 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.FindHeroById.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.IO; 24 | using GameDevWare.Charon.Editor.Cli; 25 | using Newtonsoft.Json; 26 | using UnityEditor; 27 | using UnityEngine; 28 | 29 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 30 | 31 | namespace Editor.CharonExamples 32 | { 33 | public partial class CharonCliExamples 34 | { 35 | [MenuItem("Tools/RPG Game/Find Hero")] 36 | private static async void FindHeroById() 37 | { 38 | Debug.Log("Finding hero by known ID..."); 39 | 40 | var gameDataPath = Path.GetFullPath("Assets/StreamingAssets/RpgGameData.gdjs"); 41 | 42 | // 43 | // Documentation for the FindDocument command and its parameters: 44 | // https://gamedevware.github.io/charon/advanced/commands/data_find.html 45 | // 46 | var foundHeroDocument = await CharonCli.FindDocumentAsync( 47 | gameDataPath, 48 | apiKey: string.Empty, 49 | schemaNameOrId: "Hero", 50 | id: "Crossbower" 51 | ); 52 | 53 | Debug.Log("Found hero document in game data: " + foundHeroDocument.ToString(Formatting.Indented)); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.FindHeroById.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f772f71968ac40bb826905bcbbbb78c5 3 | timeCreated: 1741283468 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ImportLocalizableData.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.IO; 24 | using GameDevWare.Charon.Editor.Cli; 25 | using Newtonsoft.Json.Linq; 26 | using UnityEditor; 27 | using UnityEngine; 28 | 29 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 30 | 31 | namespace Editor.CharonExamples 32 | { 33 | public partial class CharonCliExamples 34 | { 35 | [MenuItem("Tools/RPG Game/Import Localizable Data")] 36 | private static async void ImportLocalizableData() 37 | { 38 | Debug.Log("Importing multiple hero documents..."); 39 | 40 | var importData = new JObject { 41 | { 42 | "Collections", new JObject { 43 | { 44 | "Hero", new JArray { 45 | new JObject { 46 | { "Id", "SuperBoy" }, 47 | { "Name", new JObject { 48 | { "en-US", "Crossbower" }, 49 | { "es-ES", "Ballestero" }, 50 | }}, 51 | }, 52 | } 53 | } 54 | } 55 | } 56 | }; 57 | 58 | var gameDataPath = Path.GetFullPath("Assets/StreamingAssets/RpgGameData.gdjs"); 59 | 60 | // 61 | // Documentation for the I18NImport command and its parameters: 62 | // https://gamedevware.github.io/charon/advanced/commands/data_i18n_import.html 63 | // 64 | var importReport = await CharonCli.I18NImportAsync( 65 | gameDataPath, 66 | apiKey: string.Empty, 67 | schemaNamesOrIds: new[] { "*" }, 68 | languages: new[] { "es-ES" }, 69 | importData 70 | ); 71 | 72 | Debug.Log($"Successfully updated {importReport.Changes.Length} hero documents."); 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ImportLocalizableData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c3483f1485648ce9843fd2098388c12 3 | timeCreated: 1741938488 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ListItems.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.IO; 24 | using System.Linq; 25 | using GameDevWare.Charon.Editor.Cli; 26 | using Newtonsoft.Json.Linq; 27 | using UnityEditor; 28 | using UnityEngine; 29 | 30 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 31 | 32 | namespace Editor.CharonExamples 33 | { 34 | public partial class CharonCliExamples 35 | { 36 | [MenuItem("Tools/RPG Game/List Items (Including Embedded)")] 37 | private static async void ListItems() 38 | { 39 | Debug.Log("Listing items including embedded documents..."); 40 | 41 | var gameDataPath = Path.GetFullPath("Assets/StreamingAssets/RpgGameData.gdjs"); 42 | 43 | // 44 | // Documentation for the ListDocuments command and its parameters: 45 | // https://gamedevware.github.io/charon/advanced/commands/data_list.html 46 | // 47 | var listData = await CharonCli.ListDocumentsAsync( 48 | gameDataPath, 49 | apiKey: string.Empty, 50 | schemaNameOrId: "Item", 51 | path: "*" // This option causes the query to return all documents, including embedded ones. 52 | ); 53 | 54 | var items = (JArray)listData["Collections"]["Item"]; 55 | 56 | var foundItemsNames = items!.Select(item => item["Name"]["en-US"].ToString()).ToArray(); 57 | Debug.Log($"Found items in game data [{foundItemsNames.Length}]: " + string.Join(", ", foundItemsNames)); 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ListItems.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 070ee328f4564845b7fce8598c973392 3 | timeCreated: 1741283501 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ListReligiousHeroes.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.IO; 24 | using GameDevWare.Charon.Editor.Cli; 25 | using Newtonsoft.Json.Linq; 26 | using UnityEditor; 27 | using UnityEngine; 28 | 29 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 30 | 31 | namespace Editor.CharonExamples 32 | { 33 | public partial class CharonCliExamples 34 | { 35 | [MenuItem("Tools/RPG Game/List Heroes")] 36 | private static async void ListReligiousHeroes() 37 | { 38 | Debug.Log("Listing heroes where \"Religious\" is true..."); 39 | 40 | var gameDataPath = Path.GetFullPath("Assets/StreamingAssets/RpgGameData.gdjs"); 41 | 42 | // 43 | // Documentation for the ListDocuments command and its parameters: 44 | // https://gamedevware.github.io/charon/advanced/commands/data_list.html 45 | // 46 | var listData = await CharonCli.ListDocumentsAsync( 47 | gameDataPath, 48 | apiKey: string.Empty, 49 | schemaNameOrId: "Hero", 50 | filters: new[] { new ListFilter("Religious", ListFilterOperation.Equal, "true") }, 51 | sorters: new[] { new ListSorter("Name.en-US", ListSorterDirection.Ascending) } 52 | ); 53 | 54 | var heroes = (JArray)listData["Collections"]["Hero"]; 55 | foreach (var hero in heroes) 56 | { 57 | var heroName = hero["Name"]["en-US"]; 58 | 59 | Debug.Log("Found religious hero in game data: " + heroName); 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ListReligiousHeroes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6dfbcbb8277f495cab7e1a43bed46600 3 | timeCreated: 1741283484 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ListTranslationLanguages.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.IO; 24 | using System.Linq; 25 | using GameDevWare.Charon.Editor.Cli; 26 | using Newtonsoft.Json.Linq; 27 | using UnityEditor; 28 | using UnityEngine; 29 | 30 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 31 | 32 | namespace Editor.CharonExamples 33 | { 34 | public partial class CharonCliExamples 35 | { 36 | [MenuItem("Tools/RPG Game/List Translation Languages")] 37 | private static async void ListTranslationLanguages() 38 | { 39 | Debug.Log("Listing translation languages..."); 40 | 41 | var gameDataPath = Path.GetFullPath("Assets/StreamingAssets/RpgGameData.gdjs"); 42 | 43 | // 44 | // Documentation for the I18NListLanguages command and its parameters: 45 | // https://gamedevware.github.io/charon/advanced/commands/data_i18n_languages.html 46 | // 47 | var languageList = await CharonCli.I18NListLanguagesAsync( 48 | gameDataPath, 49 | apiKey: string.Empty 50 | ); 51 | 52 | Debug.Log($"Found translation languages in game data [{languageList.Length}]: " + string.Join(", ", languageList)); 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ListTranslationLanguages.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d52ed7361362478fb9e5e8027cf3d39b 3 | timeCreated: 1741938870 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.PreprocessTemplateIntoGenerator.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.IO; 24 | using GameDevWare.Charon.Editor.Cli; 25 | using UnityEditor; 26 | using UnityEngine; 27 | 28 | namespace Editor.CharonExamples 29 | { 30 | public partial class CharonCliExamples 31 | { 32 | [MenuItem("Tools/RPG Game/Preprocess FileList.tt Template")] 33 | private static async void PreprocessTemplateIntoGenerator() 34 | { 35 | Debug.Log("Running T4 tool to generate source code..."); 36 | 37 | var outputFilePath = Path.GetTempFileName(); 38 | var templatePath = Path.GetFullPath("Assets/Editor/CharonExamples/FileList.tt"); 39 | var toolRunResult = await CharonCli.PreprocessT4Async( 40 | templatePath, 41 | outputFile: outputFilePath, 42 | templateClassName: "FileList" 43 | ); 44 | 45 | if (toolRunResult.ExitCode != 0) 46 | { 47 | Debug.LogWarning($"T4 tool run failed. Captured Output: {toolRunResult.GetOutputData()},\r\nCaptured Error: {toolRunResult.GetErrorData()}."); 48 | } 49 | else 50 | { 51 | Debug.Log( 52 | $"T4 tool run succeeded. Source Code: {await File.ReadAllTextAsync(outputFilePath)},\r\nCaptured Output: {toolRunResult.GetOutputData()},\r\nCaptured Error: {toolRunResult.GetErrorData()}."); 53 | } 54 | 55 | File.Delete(outputFilePath); 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.PreprocessTemplateIntoGenerator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50faf5dfe20148c0b6f628f9c6d62cac 3 | timeCreated: 1741283594 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.RunT4Template.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | using System.IO; 25 | using GameDevWare.Charon.Editor.Cli; 26 | using UnityEditor; 27 | using UnityEngine; 28 | 29 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 30 | 31 | namespace Editor.CharonExamples 32 | { 33 | public partial class CharonCliExamples 34 | { 35 | [MenuItem("Tools/RPG Game/Transform FileList.tt Template")] 36 | private static async void RunFileListTemplate() 37 | { 38 | Debug.Log("Running T4 template..."); 39 | 40 | var templatePath = Path.GetFullPath("Assets/Editor/CharonExamples/FileList.tt"); 41 | var templateResultPath = Path.GetFullPath("Assets/Editor/CharonExamples/FileList.json"); 42 | var toolRunResult = await CharonCli.RunT4Async( 43 | templatePath, 44 | parameters: new Dictionary { 45 | { "rootNodeNameParameter", "list" } 46 | } 47 | ); 48 | 49 | if (toolRunResult.ExitCode != 0) 50 | { 51 | Debug.LogWarning($"T4 tool run failed. Captured Output: {toolRunResult.GetOutputData()},\r\nCaptured Error: {toolRunResult.GetErrorData()}."); 52 | } 53 | else 54 | { 55 | Debug.Log( 56 | $"T4 tool run succeeded. Generated Text: {await File.ReadAllTextAsync(templateResultPath)},\r\nCaptured Output: {toolRunResult.GetOutputData()},\r\nCaptured Error: {toolRunResult.GetErrorData()}."); 57 | } 58 | 59 | File.Delete(templateResultPath); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.RunT4Template.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba0770680d6b436098d159d0d7824004 3 | timeCreated: 1741283578 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.RunT4Template2.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e01b2107b57042fbbeb80515db04242b 3 | timeCreated: 1741283614 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.UpdateHero.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dfaf5778c38548479aff55ffcec1959d 3 | timeCreated: 1741283457 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ValidateGameData.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.IO; 24 | using System.Linq; 25 | using GameDevWare.Charon.Editor.Cli; 26 | using UnityEditor; 27 | using UnityEngine; 28 | 29 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 30 | 31 | namespace Editor.CharonExamples 32 | { 33 | public partial class CharonCliExamples 34 | { 35 | [MenuItem("Tools/RPG Game/Validate Game Data")] 36 | private static async void ValidateGameData() 37 | { 38 | Debug.Log("Validating game data..."); 39 | 40 | var gameDataPath = Path.GetFullPath("Assets/StreamingAssets/RpgGameData.gdjs"); 41 | 42 | // 43 | // Documentation for the Validate command and its parameters: 44 | // https://gamedevware.github.io/charon/advanced/commands/data_validate.html 45 | // 46 | var validationReport = await CharonCli.ValidateAsync( 47 | gameDataPath, 48 | apiKey: string.Empty, 49 | ValidationOptions.AllIntegrityChecks | ValidationOptions.CheckTranslation 50 | ); 51 | 52 | var issues = ( 53 | from validationRecord in validationReport.Records 54 | from validationError in validationRecord.Errors 55 | select $"{validationRecord.SchemaName}[id: {validationRecord.Id}] {validationError.Path}: {validationError.Message}" 56 | ).ToList(); 57 | 58 | if (issues.Count > 0) 59 | { 60 | Debug.LogWarning($"Validation completed. Found {issues.Count} issues: {string.Join(", ", issues)}."); 61 | } 62 | else 63 | { 64 | Debug.Log("Validation completed. No issues found."); 65 | } 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.ValidateGameData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00b1db2cfad7479aa6ae05cb7029dcc2 3 | timeCreated: 1741283563 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | // ReSharper disable PossibleNullReferenceException, AsyncVoidMethod 24 | 25 | namespace Editor.CharonExamples 26 | { 27 | public partial class CharonCliExamples 28 | { 29 | /* 30 | * In the past, all examples of working with the CharonCli class were located here. Now each example has its own file. 31 | */ 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/CharonCliExamples.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7e61355945247e7889580f642b4f384 3 | timeCreated: 1740410979 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/FileList.tt: -------------------------------------------------------------------------------- 1 | <#@ template debug="false" hostspecific="true" #> 2 | <#@ assembly name="System.Core" #> 3 | <#@ parameter name="rootNodeNameParameter" type="System.String" #> 4 | <#@ import namespace="System.IO" #> 5 | <#@ import namespace="System.Linq" #> 6 | <#@ output extension=".json" #> 7 | { 8 | "<#= this.rootNodeNameParameter ?? "files" #>": 9 | [ 10 | <# 11 | var files = Directory.GetFiles(this.Host.ResolvePath("./")); 12 | foreach(var file in files) 13 | { 14 | #> 15 | "<#= Path.GetFileName(file) #>"<#= files.Last() != file ? "," : "" #> 16 | <# 17 | } 18 | #> 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/FileList.tt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0904da3c7c6f4c77a65c76c62ed0acd4 3 | timeCreated: 1740420939 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/TypedDocumentReferences.tt: -------------------------------------------------------------------------------- 1 | <#@ template debug="false" hostspecific="true" #> 2 | <#@ parameter name="documentsTypes" type="System.String" #> 3 | <#@ output extension=".cs" #> 4 | <#@ import namespace="System.Reflection" #> 5 | <#@ import namespace="System.Linq" #> 6 | //------------------------------------------------------------------------------ 7 | // 8 | // This code was generated by a tool. 9 | // Changes to this file may cause incorrect behavior and will be lost if 10 | // the code is regenerated. 11 | // 12 | //------------------------------------------------------------------------------ 13 | 14 | // ReSharper disable All 15 | 16 | using System; 17 | using GameDevWare.Charon; 18 | using JetBrains.Annotations; 19 | using UnityEngine; 20 | 21 | namespace Assets.Scripts 22 | { 23 | <# 24 | foreach (var fullTypeName in documentsTypes.Split(",")) 25 | { 26 | var typeName = fullTypeName; 27 | if (typeName.LastIndexOf(".") >= 0) 28 | { 29 | typeName = typeName.Substring(typeName.LastIndexOf(".") + 1); 30 | } 31 | #> 32 | [PublicAPI, Serializable] 33 | public class <#= typeName #>DocumentReference: GameDataDocumentReference 34 | { 35 | [SerializeField] 36 | public string predefinedSchemaNameOrId = <#= fullTypeName #>.SchemaName; 37 | 38 | [CanBeNull] 39 | public <#= fullTypeName #> GetReferencedDocument() 40 | { 41 | return this.GetReferencedDocument<<#= fullTypeName #>>(); 42 | } 43 | } 44 | 45 | <# 46 | } 47 | #> 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Editor/CharonExamples/TypedDocumentReferences.tt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69d82f8278a44b63953276f17bed3bfe 3 | timeCreated: 1740665493 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08c0e41519a62354191f01c0edfad9f7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Resources/RpgGameData.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamedevware/charon-unity3d/fef882e6d44ae9b6904dee05bfcca391eeabd477/src/GameDevWare.Charon.Unity/Assets/Resources/RpgGameData.asset -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Resources/RpgGameData.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58f277d24bd2c394a926715c32a42a06 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3972924265f4b924cb253646a45052c3 3 | folderAsset: yes 4 | timeCreated: 1511879828 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scenes/StartingScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fb20fd90078e154f8072d0593db0977 3 | timeCreated: 1511879842 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3fd10b08f5b6524e81349c0f49aa1f2 3 | folderAsset: yes 4 | timeCreated: 1511878972 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/Character.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | 4 | namespace Assets.Scripts 5 | { 6 | public class Character 7 | { 8 | private readonly Hero characterParams; 9 | 10 | public string Name { get { return this.characterParams.Name; } } 11 | public string Bio { get { return this.characterParams.Bio; } } 12 | 13 | public int HitPoints { get; private set; } 14 | public int MaxHitPoints { get; private set; } 15 | 16 | public int Stress { get; private set; } 17 | 18 | public Character(Hero characterParams) 19 | { 20 | if (characterParams == null) throw new ArgumentNullException("characterParams"); 21 | 22 | this.characterParams = characterParams; 23 | 24 | this.HitPoints = characterParams.Armors.AsList.First().HitPoints; 25 | this.MaxHitPoints = this.HitPoints; 26 | } 27 | 28 | public bool Is(MonsterType type) 29 | { 30 | return type == MonsterType.Human; 31 | } 32 | 33 | /// 34 | public override string ToString() 35 | { 36 | return this.Name; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/Character.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c074bc07ba30154488638c4590234485 3 | timeCreated: 1511881740 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/CheckContext.cs: -------------------------------------------------------------------------------- 1 | namespace Assets.Scripts 2 | { 3 | // Class for demonstration of Formula data type 4 | public sealed class CheckContext 5 | { 6 | public Dungeon Dungeon { get; private set; } 7 | public Character Source { get; private set; } 8 | public Character Target { get; private set; } 9 | public Combat Combat { get; private set; } 10 | public Attack Attack { get; private set; } 11 | } 12 | 13 | public sealed class Combat 14 | { 15 | public int Round { get; private set; } 16 | } 17 | 18 | public class Attack 19 | { 20 | public AttackType Type { get; private set; } 21 | } 22 | 23 | public enum AttackType 24 | { 25 | Ranged, 26 | Melee 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/CheckContext.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85fe67074a59d70439f2821e9109d39a 3 | timeCreated: 1511882733 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/Dungeon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Assets.Scripts 4 | { 5 | public sealed class Dungeon 6 | { 7 | private readonly Location location; 8 | 9 | public string Id { get { return this.location.Id; } } 10 | public string Name { get { return this.location.Name; } } 11 | public int LightLevel { get; private set; } 12 | 13 | public Dungeon(Location location) 14 | { 15 | if (location == null) throw new ArgumentNullException("location"); 16 | 17 | this.location = location; 18 | } 19 | 20 | /// 21 | public override string ToString() 22 | { 23 | return this.location.Name; 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/Dungeon.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: efc59a25428747b498878ff399057217 3 | timeCreated: 1511882733 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/GameInstance.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84ba56496b8e8eb46a593faa7753c2cd 3 | timeCreated: 1511879212 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/GameWorld.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Assets.Scripts 5 | { 6 | public class GameWorld 7 | { 8 | public Dungeon Dungeon { get; private set; } 9 | 10 | public List Inventory { get; private set; } 11 | public List Characters { get; private set; } 12 | 13 | public GameWorld(RpgGameData gameData) 14 | { 15 | if (gameData == null) throw new ArgumentNullException("gameData"); 16 | 17 | this.Inventory = new List(); 18 | foreach (var itemWithCount in gameData.StartingSet.Items) 19 | { 20 | var item = new InventoryItem(itemWithCount.Item, itemWithCount.Count); 21 | this.Inventory.Add(item); 22 | } 23 | 24 | this.Characters = new List(); 25 | foreach (var hero in gameData.StartingSet.Heroes) 26 | { 27 | var character = new Character(hero); 28 | this.Characters.Add(character); 29 | } 30 | 31 | this.Dungeon = new Dungeon(gameData.StartingSet.Location); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/GameWorld.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 613ee5836adebeb4f9ff1d94a4a41ddf 3 | timeCreated: 1511879816 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/InventoryItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Assets.Scripts 4 | { 5 | public sealed class InventoryItem 6 | { 7 | private readonly Item itemParams; 8 | 9 | public string Name { get { return this.itemParams.Name; } } 10 | public string Description { get { return this.itemParams.Description; } } 11 | public int Count; 12 | 13 | public InventoryItem(Item itemParams, int count) 14 | { 15 | if (itemParams == null) throw new ArgumentNullException("itemParams"); 16 | 17 | this.itemParams = itemParams; 18 | this.Count = count; 19 | } 20 | 21 | /// 22 | public override string ToString() 23 | { 24 | return this.Name + " x" + this.Count; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/InventoryItem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 92ef9338c5410b3458130bbc4bc9a579 3 | timeCreated: 1511881740 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/NativeArrayStream.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using Unity.Collections; 4 | 5 | internal sealed class NativeArrayStream : Stream 6 | { 7 | private readonly NativeArray.ReadOnly nativeArray; 8 | private int position; 9 | private readonly int length; 10 | 11 | /// 12 | public override bool CanRead => true; 13 | /// 14 | public override bool CanSeek => true; 15 | /// 16 | public override bool CanWrite => false; 17 | /// 18 | public override long Length => this.length; 19 | /// 20 | public override long Position { get => this.position; set => this.position = (int)Math.Max(0, Math.Max(this.Length, value)); } 21 | 22 | public NativeArrayStream(NativeArray.ReadOnly nativeArray) 23 | { 24 | this.nativeArray = nativeArray; 25 | this.length = nativeArray.Length; 26 | } 27 | 28 | /// 29 | public override int Read(byte[] buffer, int offset, int count) 30 | { 31 | if (buffer == null) throw new ArgumentNullException(nameof(buffer)); 32 | if (offset < 0 || offset > buffer.Length) throw new ArgumentOutOfRangeException(nameof(offset)); 33 | if (offset + count > buffer.Length) throw new ArgumentOutOfRangeException(nameof(count)); 34 | 35 | var toCopy = Math.Min(count, this.length - this.position); 36 | if (toCopy == 0) return 0; 37 | 38 | NativeArray.Copy(this.nativeArray, this.position, buffer, offset, toCopy); 39 | this.position += toCopy; 40 | return toCopy; 41 | } 42 | 43 | /// 44 | public override long Seek(long offset, SeekOrigin origin) 45 | { 46 | switch (origin) 47 | { 48 | case SeekOrigin.Begin: this.Position = offset; break; 49 | case SeekOrigin.Current: this.Position += offset; break; 50 | case SeekOrigin.End: this.Position = this.Length - offset; break; 51 | default: throw new ArgumentOutOfRangeException(nameof(origin), origin, null); 52 | } 53 | 54 | return this.Position; 55 | } 56 | 57 | /// 58 | public override void SetLength(long value) 59 | { 60 | throw new NotSupportedException(); 61 | } 62 | /// 63 | public override void Write(byte[] buffer, int offset, int count) 64 | { 65 | throw new NotSupportedException(); 66 | } 67 | /// 68 | public override void Flush() 69 | { 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/NativeArrayStream.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8898297530b740e2aa52e4595b6d7240 3 | timeCreated: 1740409877 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/RpgGameData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ef893b2e0bbf2844a0132c5d2a58a49 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/RpgGameDataAsset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73f56e8535195894a8b1b07cc44a524d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/Scripts/TypedDocumentReferences.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93b47fe1de4c7f647a0b02ecc9f06439 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/StreamingAssets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dba84b349caf718419900b891edeab75 3 | folderAsset: yes 4 | timeCreated: 1516718716 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Assets/StreamingAssets/RpgGameData.gdjs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecc4a4a75587d60448213374b5a346b2 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: f0e49fd118724bbf95155212238d3d7a, type: 3} 11 | lastImportSettings: 12 | codeGenerationPath: Assets/Scripts 13 | gameDataFileGuid: ecc4a4a75587d60448213374b5a346b2 14 | gameDataClassName: RpgGameData 15 | gameDataNamespace: Assets.Scripts 16 | gameDataDocumentClassName: Document 17 | defineConstants: 18 | publishLanguages: [] 19 | publishFormat: 0 20 | optimizations: 0 21 | lineEnding: 0 22 | indentation: 0 23 | splitSourceCodeFiles: 0 24 | clearOutputDirectory: 0 25 | serverAddress: 26 | projectId: 27 | projectName: 28 | branchName: 29 | branchId: 30 | lastImportAssetPath: Assets/Resources/RpgGameData.asset 31 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7fcac6d0915b77408f563aae1434188 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Documentation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6c324deaa0a32e439ef4884e779104e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Documentation/Documentation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamedevware/charon-unity3d/fef882e6d44ae9b6904dee05bfcca391eeabd477/src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Documentation/Documentation.pdf -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Documentation/Documentation.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35051c49a0abab54bbc85c6ab986d33a 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3eaf7fa6c46ff524aaa93dab777a9d09 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.Reflection; 24 | 25 | [assembly: AssemblyVersion("2025.1.1")] 26 | [assembly: AssemblyCompany("GameDevWare")] 27 | [assembly: AssemblyCopyright("2025 (c) GameDevWare, Denis Zykov")] 28 | 29 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/AssemblyInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7575e721e339421aadeb9f0ee219c465 3 | timeCreated: 1739017406 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/CSharp73GameDataFromAssetGenerator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45b33f16ce16c4741bf546112794cfaa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/CSharp73GameDataFromAssetGenerator.tt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad7e46299804f5b4cba51e888ada1f4b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/CharonEditorApplication.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | namespace GameDevWare.Charon.Editor 24 | { 25 | public enum CharonEditorApplication 26 | { 27 | /// 28 | /// Use standard OS browser to edit game data. 29 | /// 30 | DefaultBrowser = 0, 31 | /// 32 | /// Use custom browser at specified path to edit game data. 33 | /// 34 | CustomBrowser 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/CharonEditorApplication.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6deae459da0c4c7c9dde02b919567089 3 | timeCreated: 1739213809 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/CharonEditorMenu.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5a881f4d83dd5444e9e8de7457f592ce 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/CharonEditorModule.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39a2320027e14451a60acfb2ad9123d6 3 | timeCreated: 1738869494 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88e7eed1a7464a36a4366c750312adc3 3 | timeCreated: 1738916990 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/BackupRestoreFormat.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | namespace GameDevWare.Charon.Editor.Cli 24 | { 25 | /// 26 | /// Format for and operations. 27 | /// 28 | public enum BackupFormat 29 | { 30 | Json, 31 | MessagePack 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/BackupRestoreFormat.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a67268d30154372894f12e29c2ff171 3 | timeCreated: 1739178766 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/CharonCli.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb48f752a8f254148bfafc72237604e8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/CharonLogLevel.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | namespace GameDevWare.Charon.Editor.Cli 24 | { 25 | /// 26 | /// Represents the logging level during the execution of FCharonCli operations. 27 | /// This enumeration defines the different levels of logging that can be set for the operations 28 | /// performed by FCharonCli. It allows control over the amount and detail of log information 29 | /// produced during these operations. 30 | /// 31 | public enum CharonLogLevel 32 | { 33 | /// 34 | /// Indicates no logging, except for fatal errors. 35 | /// 36 | /// When set to None, the logging system will only output messages that are classified as fatal errors, 37 | /// which are typically those that cause the operation to terminate unexpectedly. 38 | /// 39 | None, 40 | 41 | /// 42 | /// Indicates normal logging level with informational messages. 43 | /// 44 | /// In this mode, the logging system outputs regular information messages. This is typically used for 45 | /// standard operational logging where routine information is logged. 46 | /// 47 | Normal, 48 | 49 | /// 50 | /// Indicates verbose logging with detailed messages. 51 | /// 52 | /// When set to Verbose, the logging system produces a detailed log output, including debug messages. 53 | /// This level is typically used for troubleshooting and debugging purposes, as it provides in-depth 54 | /// details about the operation's progress and state. 55 | /// 56 | Verbose, 57 | }; 58 | } 59 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/CharonLogLevel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1df6364534964d20a506e97934b9bf64 3 | timeCreated: 1738937789 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/CharonProcessLockFileContent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40415f64d6c04349a07332d9d9cccdf2 3 | timeCreated: 1739294677 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/CharonServerProcess.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4c838ad9c8f487b97724790a840a745 3 | timeCreated: 1738943456 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ExportFormat.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | namespace GameDevWare.Charon.Editor.Cli 24 | { 25 | /// 26 | /// Format for and operations. 27 | /// 28 | public enum ExportFormat 29 | { 30 | Json, 31 | MessagePack, 32 | Bson, 33 | Xslx, 34 | Xliff1, 35 | Xliff2 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ExportFormat.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fa62a3060cb48f89a9d8d8503166372 3 | timeCreated: 1739178674 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ExportMode.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using JetBrains.Annotations; 25 | 26 | namespace GameDevWare.Charon.Editor.Cli 27 | { 28 | /// 29 | /// Mode of operation. 30 | /// See https://gamedevware.github.io/charon/advanced/commands/data_export.html for detailed description. 31 | /// 32 | [PublicAPI] 33 | public enum ExportMode 34 | { 35 | Normal = 0, 36 | Publication = 1, 37 | Localization = 2, 38 | [Obsolete("Use 'Normal' instead. Will be removed in future versions.")] 39 | Extraction = 3 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ExportMode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1db6b2041e8182e4d9e0318fd829f027 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ImportMode.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using JetBrains.Annotations; 24 | 25 | namespace GameDevWare.Charon.Editor.Cli 26 | { 27 | /// 28 | /// Mode of operation. 29 | /// See https://gamedevware.github.io/charon/advanced/commands/data_import.html for detailed description. 30 | /// 31 | [PublicAPI] 32 | public enum ImportMode 33 | { 34 | Default = 0, 35 | CreateAndUpdate = 0, 36 | Create, 37 | Update, 38 | SafeUpdate, 39 | Replace, 40 | Delete 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ImportMode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6bc7c91e27f29914d8a16bce36fe2cde 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ListFilter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e1724f36159a26408a27e90daf6d74c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ListFilterOperation.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using JetBrains.Annotations; 24 | 25 | namespace GameDevWare.Charon.Editor.Cli 26 | { 27 | /// 28 | /// List filter operation for operation. 29 | /// See https://gamedevware.github.io/charon/advanced/commands/data_list.html for detailed documentation. 30 | /// 31 | [PublicAPI] 32 | public enum ListFilterOperation 33 | { 34 | GreaterThan, 35 | GreaterThanOrEqual, 36 | LessThan, 37 | LessThanOrEqual, 38 | Equal, 39 | NotEqual, 40 | Like, 41 | In 42 | }; 43 | } 44 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ListFilterOperation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7a3998dc445aef4cb09e4abbd2aaa18 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ListSorter.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using JetBrains.Annotations; 25 | 26 | namespace GameDevWare.Charon.Editor.Cli 27 | { 28 | /// 29 | /// List sorter for operation. 30 | /// See https://gamedevware.github.io/charon/advanced/commands/data_list.html for detailed documentation. 31 | /// 32 | [PublicAPI] 33 | public class ListSorter 34 | { 35 | /// 36 | /// Property name of path separated by dots to sort on. 37 | /// 38 | public string PropertyName; 39 | /// 40 | /// Sort direction. 41 | /// 42 | public ListSorterDirection Direction; 43 | 44 | /// 45 | /// Create new list sorter. 46 | /// 47 | public ListSorter(string propertyName, ListSorterDirection direction) 48 | { 49 | if (propertyName == null) throw new ArgumentNullException(nameof(propertyName)); 50 | 51 | this.PropertyName = propertyName; 52 | this.Direction = direction; 53 | } 54 | 55 | internal string GetDirectionName() 56 | { 57 | switch (this.Direction) 58 | { 59 | case ListSorterDirection.Ascending: return "ASC"; 60 | case ListSorterDirection.Descending: return "DESC"; 61 | default: return "UNKNOWN_DIRECTION"; 62 | } 63 | } 64 | 65 | /// 66 | public override string ToString() 67 | { 68 | return this.PropertyName + " " + this.GetDirectionName(); 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ListSorter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2666c7279dd1efd4c848e57d312b413d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ListSorterDirection.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using JetBrains.Annotations; 24 | 25 | namespace GameDevWare.Charon.Editor.Cli 26 | { 27 | /// 28 | /// List sort direction for operation. 29 | /// See https://gamedevware.github.io/charon/advanced/commands/data_list.html for detailed documentation. 30 | /// 31 | [PublicAPI] 32 | public enum ListSorterDirection 33 | { 34 | Ascending, 35 | Descending, 36 | }; 37 | } 38 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ListSorterDirection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 681ed6232119d954cbce71272644dd39 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/SourceCodeGenerationOptimizations.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 94092a6202dd2294e90772e70cec0206 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Cli/ValidationOptions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c8c21f41cf1f5341843470fe7ab2875 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/GameDataImporter.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor.AssetImporters; 2 | using UnityEngine; 3 | 4 | namespace GameDevWare.Charon.Editor 5 | { 6 | public abstract class GameDataImporter : ScriptedImporter 7 | { 8 | [SerializeField] 9 | public GameDataSettings lastImportSettings; 10 | [SerializeField] 11 | public string lastImportAssetPath; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/GameDataImporter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c82db7ccc2ef443a822f1aeb9f17dc39 3 | timeCreated: 1740585212 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/GameDataJsonImporter.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.IO; 24 | using UnityEditor.AssetImporters; 25 | using UnityEngine; 26 | 27 | namespace GameDevWare.Charon.Editor 28 | { 29 | [ScriptedImporter(1, "gdjs")] 30 | public class GameDataJsonImporter : GameDataImporter 31 | { 32 | /// 33 | public override void OnImportAsset(AssetImportContext ctx) => ImportAsset(ctx); 34 | 35 | public static void ImportAsset(AssetImportContext ctx) 36 | { 37 | if (ctx.mainObject is TextAsset) 38 | { 39 | return; 40 | } 41 | 42 | var gameDataPath = ctx.assetPath ?? ""; 43 | if (string.IsNullOrEmpty(gameDataPath) || !File.Exists(gameDataPath)) 44 | { 45 | return; 46 | } 47 | 48 | var text = File.ReadAllText(gameDataPath); 49 | var textAsset = new TextAsset(text); 50 | 51 | // Add the TextAsset to the import context 52 | ctx.AddObjectToAsset("main", textAsset); 53 | ctx.SetMainObject(textAsset); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/GameDataJsonImporter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0e49fd118724bbf95155212238d3d7a 3 | timeCreated: 1739090625 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/GameDataMessagePackImporter.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using UnityEditor.AssetImporters; 24 | 25 | namespace GameDevWare.Charon.Editor 26 | { 27 | [ScriptedImporter(1, "gdmp")] 28 | public class GameDataMessagePackImporter : GameDataImporter 29 | { 30 | /// 31 | public override void OnImportAsset(AssetImportContext ctx) 32 | { 33 | 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/GameDataMessagePackImporter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29fa3052210344109c186691a4b841bc 3 | timeCreated: 1739091899 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/GameDataSourceCodeGenerationEventArgs.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f14a24af2dd345089cad1b8649268226 3 | timeCreated: 1739269482 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/GameDataSynchronizationEventArgs.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4c2d4649a66472c91d76b256b606be9 3 | timeCreated: 1739272770 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/GameDevWare.Charon.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gamedevware-charon-editor", 3 | "rootNamespace": "GameDevWare.Charon", 4 | "references": ["GUID:8108250f010648b497e862e8f33c24fc"], 5 | "includePlatforms": [ 6 | "Editor" 7 | ], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": true, 13 | "defineConstraints": [], 14 | "versionDefines": [ 15 | { 16 | "name": "com.unity.nuget.newtonsoft-json", 17 | "expression": "3.0.2", 18 | "define": "JSON_NET_3_0_2_OR_NEWER" 19 | } 20 | ], 21 | "noEngineReferences": false 22 | } 23 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/GameDevWare.Charon.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7db6accf1f2d44459c222e7a587d8a19 3 | timeCreated: 1738832777 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 459503c21cda1fe44960d2f75d3d1aaa 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Json/JsonArray.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9efea70962899a4f8553da72d87970b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Json/JsonObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ae1bad61e7be374981d4581ffe368a9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Json/JsonPrimitive.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 782a22b373ebae342b32742dfa0239eb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Json/JsonReader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 376bc4b0c2bbe1b46b1a846e58d9c14e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Json/JsonType.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Author @ Atsushi Enomoto 3 | * Copyright (c) 2001, 2002, 2003 Ximian, Inc and the individuals listed 4 | on the ChangeLog entries. 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | "Software"), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 20 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 21 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 22 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 23 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | */ 25 | 26 | using JetBrains.Annotations; 27 | 28 | namespace GameDevWare.Charon.Editor.Json 29 | { 30 | [PublicAPI, UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] 31 | #if JSON_NET_3_0_2_OR_NEWER 32 | internal 33 | #else 34 | public 35 | #endif 36 | enum JsonType 37 | { 38 | String, 39 | Number, 40 | Object, 41 | Array, 42 | Boolean 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Json/JsonType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27a4c1a23b43eb247ac97418f043ec01 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Json/JsonValue.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71d42003e18028e4c9ba49418faaad07 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Json/LICENSE.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 632eb311eb539a44a95d8ad10d7e6579 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Routines.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b15911e8ca6d085408f7e00ac55f42cb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Routines/ExtractT4TemplatesRoutine.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.IO; 25 | using System.Threading; 26 | using System.Threading.Tasks; 27 | using GameDevWare.Charon.Editor.Cli; 28 | using GameDevWare.Charon.Editor.Utils; 29 | using JetBrains.Annotations; 30 | using UnityEngine; 31 | 32 | namespace GameDevWare.Charon.Editor.Routines 33 | { 34 | [PublicAPI] 35 | public static class ExtractT4TemplatesRoutine 36 | { 37 | 38 | public static Task ScheduleAsync(string extractionPath, CancellationToken cancellation = default) 39 | { 40 | return CharonEditorModule.Instance.Routines.Schedule(() => RunAsync(extractionPath), cancellation); 41 | } 42 | 43 | public static Task RunAsync(string extractionPath) 44 | { 45 | var task = RunInternalAsync(extractionPath); 46 | task.LogFaultAsError(); 47 | return task; 48 | } 49 | private static async Task RunInternalAsync(string extractionPath) 50 | { 51 | var logger = CharonEditorModule.Instance.Logger; 52 | logger.Log(LogType.Assert, $"Extracting T4 Templates to '{extractionPath}'..."); 53 | 54 | try 55 | { 56 | await CharonCli.DumpTemplatesAsync(Path.GetFullPath(extractionPath)); 57 | } 58 | catch (Exception dumpError) 59 | { 60 | logger.Log(LogType.Error, string.Format(Resources.UI_UNITYPLUGIN_T4_EXTRACTION_FAILED, dumpError.Unwrap().Message)); 61 | logger.Log(LogType.Error, dumpError.Unwrap()); 62 | } 63 | logger.Log(LogType.Assert, Resources.UI_UNITYPLUGIN_T4_EXTRACTION_COMPLETE); 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Routines/ExtractT4TemplatesRoutine.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c6c432e57f8d1242929ae6f689811d2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Routines/GameDataValidationReport.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using GameDevWare.Charon.Editor.Services.ServerApi; 25 | 26 | namespace GameDevWare.Charon.Editor.Routines 27 | { 28 | public class GameDataValidationReport 29 | { 30 | public readonly string GameDataPath; 31 | public readonly ValidationReport Report; 32 | 33 | public GameDataValidationReport(string gameDataPath, ValidationReport report) 34 | { 35 | if (gameDataPath == null) throw new ArgumentNullException(nameof(gameDataPath)); 36 | if (report == null) throw new ArgumentNullException(nameof(report)); 37 | 38 | this.GameDataPath = gameDataPath; 39 | this.Report = report; 40 | } 41 | 42 | /// 43 | public override string ToString() 44 | { 45 | return $"{this.GameDataPath}, Has Errors: {this.Report.HasErrors}"; 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Routines/GameDataValidationReport.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b6f715ed17d3c149bbdb56a5176249a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Routines/GenerateSourceCodeRoutine.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f00bce8c89103340825d51ef566dd73 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Routines/LaunchEditorRoutine.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3eecd71927f436f45bef7aa752a71c24 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Routines/ReimportAssetsRoutine.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfe4e5f176d04675bdf0a08e30d3cb76 3 | timeCreated: 1740388929 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Routines/SynchronizeAssetsRoutine.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9fd434aa01ae9b4d9b71607f951c61a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Routines/ValidateGameDataRoutine.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3114e2ed310be0b458e9510e6ddcef07 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Routines/ValidationError.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fc8eff02df65044b87052927d94bead 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a570d78c65d48359ff729df222fc874 3 | timeCreated: 1739036374 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/AssetIndexer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e3f317de2334fc8beb94f39588e1bdf 3 | timeCreated: 1744559995 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/CharonLogger.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a946e9bbbc3847db8ff0d62bbcdf383d 3 | timeCreated: 1739213652 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/CharonProcessList.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 62139d04e6ef4d8aa4ca5a518d026aae 3 | timeCreated: 1739009375 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/CharonSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8571b161b9c9487b9dbb7d6a9b710e4d 3 | timeCreated: 1739213307 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/DeferredAssetImporter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3aa7760013d54ba6b5c5b7287507995a 3 | timeCreated: 1739027995 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/FormulaTypeIndexer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1157e807759647fb9c47868da992cd21 3 | timeCreated: 1739370590 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/Http.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8dfef7177e8140c5842d72c5e6fd2aad 3 | timeCreated: 1739908521 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/Http/Http11Protocol.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a995039f210c4519988a161ec4ba2764 3 | timeCreated: 1739977133 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/Http/HttpParseResult.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | namespace GameDevWare.Charon.Editor.Services.Http 24 | { 25 | internal enum HttpParseResult : byte 26 | { 27 | Ok = 255, 28 | 29 | MalformedRequestLine = 0, 30 | UnknownHttpVersion, 31 | MissingMethod, 32 | MissingRequestUrl, 33 | MissingHttpVersion, 34 | EndOfHeaders, 35 | MissingHeaderValue, 36 | MissingHeaderValueEnd, 37 | ContinuedHeaderValue, 38 | MalformedHeader 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/Http/HttpParseResult.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b7b4950c9d340f8822961fdeebe2627 3 | timeCreated: 1739977145 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/Http/HttpServer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d993c0321fb74e0cb6e6527ef876d62a 3 | timeCreated: 1739908531 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/KeyCryptoStorage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3225e8da7c6b2c44886e82cf2d08f16 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/LegacyPluginMigrator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 723d622b84f64d8f8b403d23bd55124c 3 | timeCreated: 1740342252 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/LogArchiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2242c1d252524c78b0a07875b9c8deef 3 | timeCreated: 1739449678 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f35a61dfb788a274ab72661a1638da6e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/FormulaType.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.Runtime.Serialization; 24 | 25 | namespace GameDevWare.Charon.Editor.Services.ResourceServerApi 26 | { 27 | internal sealed class FormulaType 28 | { 29 | [DataMember(Name = "sourceCodeLanguage")] 30 | public string SourceCodeLanguage; 31 | 32 | [DataMember(Name = "kind")] 33 | public FormulaTypeKind Kind; 34 | 35 | [DataMember(Name = "name")] 36 | public string Name; 37 | 38 | [DataMember(Name = "packageOrNamespaceName")] 39 | public string PackageOrNamespaceName; 40 | 41 | [DataMember(Name = "fullName")] 42 | public string FullName; 43 | 44 | [DataMember(Name = "moduleName")] 45 | public string ModuleName; 46 | }; 47 | } 48 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/FormulaType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b44757710a647308cde4c7370a341c5 3 | timeCreated: 1739369411 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/FormulaTypeKind.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.Runtime.Serialization; 24 | 25 | namespace GameDevWare.Charon.Editor.Services.ResourceServerApi 26 | { 27 | internal enum FormulaTypeKind 28 | { 29 | [DataMember(Name = "class")] 30 | Class = 0, 31 | [DataMember(Name = "enum")] 32 | Enum = 1, 33 | [DataMember(Name = "interface")] 34 | Interface = 2, 35 | [DataMember(Name = "structure")] 36 | Structure = 3, 37 | [DataMember(Name = "delegate")] 38 | Delegate = 4, 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/FormulaTypeKind.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c7703e0e1a542e4ac62d5a7bd2abd70 3 | timeCreated: 1739369560 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/GameAsset.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Runtime.Serialization; 25 | 26 | namespace GameDevWare.Charon.Editor.Services.ResourceServerApi 27 | { 28 | [DataContract] 29 | internal class GameAsset 30 | { 31 | [DataMember(Name = "name")] 32 | public string Name; 33 | [DataMember(Name = "hasThumbnail")] 34 | public bool HasThumbnail; 35 | [DataMember(Name = "thumbnailHash")] 36 | public string ThumbnailHash; 37 | [DataMember(Name = "type")] 38 | public string Type; 39 | [DataMember(Name = "path")] 40 | public string Path; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/GameAsset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f8d3bce07de488687b10d4231c4fe52 3 | timeCreated: 1744560106 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/GenerateSourceCodeRequest.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Runtime.Serialization; 25 | 26 | namespace GameDevWare.Charon.Editor.Services.ResourceServerApi 27 | { 28 | [DataContract] 29 | internal class GenerateSourceCodeRequest 30 | { 31 | [DataMember(Name = "unityAssetId"), Obsolete] 32 | public string UnityAssetId; 33 | [DataMember(Name = "gameDataAssetId")] 34 | public string GameDataAssetId; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/GenerateSourceCodeRequest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f990dad0d7c012a4c82e303e55ddc15c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/GetAssetThumbnailRequest.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.Runtime.Serialization; 24 | 25 | namespace GameDevWare.Charon.Editor.Services.ResourceServerApi 26 | { 27 | [DataContract] 28 | internal class GetAssetThumbnailRequest 29 | { 30 | [DataMember(Name = "gameDataAssetId")] 31 | public string GameDataAssetId; 32 | [DataMember(Name = "path")] 33 | public string Path; 34 | [DataMember(Name = "size")] 35 | public int? Size; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/GetAssetThumbnailRequest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 210d80e4fcd849c29225c5827a41a582 3 | timeCreated: 1744559766 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/ListAssetsRequest.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.Runtime.Serialization; 24 | 25 | namespace GameDevWare.Charon.Editor.Services.ResourceServerApi 26 | { 27 | [DataContract] 28 | internal class ListAssetsRequest 29 | { 30 | [DataMember(Name = "gameDataAssetId")] 31 | public string GameDataAssetId; 32 | [DataMember(Name = "skip")] 33 | public int Skip; 34 | [DataMember(Name = "take")] 35 | public int Take; 36 | [DataMember(Name = "query")] 37 | public string Query; 38 | [DataMember(Name = "types")] 39 | public string[] Types; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/ListAssetsRequest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ee193dd87e6484886e5c79d6ac5d186 3 | timeCreated: 1744559850 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/ListAssetsResponse.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.Runtime.Serialization; 24 | 25 | namespace GameDevWare.Charon.Editor.Services.ResourceServerApi 26 | { 27 | [DataContract] 28 | internal class ListAssetsResponse 29 | { 30 | [DataMember(Name = "assets")] 31 | public GameAsset[] Assets; 32 | 33 | [DataMember(Name = "total")] 34 | public int Total; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/ListAssetsResponse.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f31c7d548444c18aaa99014b42a1377 3 | timeCreated: 1744560034 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/ListFormulaTypesRequest.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Runtime.Serialization; 25 | 26 | namespace GameDevWare.Charon.Editor.Services.ResourceServerApi 27 | { 28 | [DataContract] 29 | internal class ListFormulaTypesRequest 30 | { 31 | [DataMember(Name = "gameDataAssetId")] 32 | public string GameDataAssetId; 33 | [DataMember(Name = "unityAssetId"), Obsolete] 34 | public string UnityAssetId; 35 | [DataMember(Name = "skip")] 36 | public int Skip; 37 | [DataMember(Name = "take")] 38 | public int Take; 39 | [DataMember(Name = "query")] 40 | public string Query; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/ListFormulaTypesRequest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c1a4fadf78c4d0991b97abd4e9310ff 3 | timeCreated: 1739369620 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/ListFormulaTypesResponse.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.Runtime.Serialization; 24 | 25 | namespace GameDevWare.Charon.Editor.Services.ResourceServerApi 26 | { 27 | [DataContract] 28 | internal class ListFormulaTypesResponse 29 | { 30 | [DataMember(Name = "types")] 31 | public FormulaType[] Types; 32 | 33 | [DataMember(Name = "total")] 34 | public int Total; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/ListFormulaTypesResponse.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be093ae054b04702b53cc12c91c94805 3 | timeCreated: 1739369679 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/OpenApi.yml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3dcef3ed236e4b30abc6155b31b99023 3 | timeCreated: 1744315507 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/PublishRequest.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Runtime.Serialization; 25 | 26 | namespace GameDevWare.Charon.Editor.Services.ResourceServerApi 27 | { 28 | [DataContract] 29 | internal class PublishRequest 30 | { 31 | [DataMember(Name = "gameDataAssetId")] 32 | public string GameDataAssetId; 33 | [DataMember(Name = "unityAssetId"), Obsolete] 34 | public string UnityAssetId; 35 | [DataMember(Name = "format")] 36 | public string Format; 37 | [DataMember(Name = "languages")] 38 | public string[] Languages; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ResourceServerApi/PublishRequest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b8e0bbb7582c5f409dfbea4e55f59d7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/RoutineQueue.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Threading; 25 | using System.Threading.Tasks; 26 | 27 | namespace GameDevWare.Charon.Editor.Services 28 | { 29 | internal class RoutineQueue: IDisposable 30 | { 31 | private readonly SemaphoreSlim runLock = new SemaphoreSlim(1, 1); 32 | private volatile int queueSize = 0; 33 | 34 | public bool IsRunning => this.runLock.CurrentCount == 0; 35 | 36 | public async Task Schedule(Func runFunc, CancellationToken cancellationToken) 37 | { 38 | Interlocked.Increment(ref this.queueSize); 39 | await this.runLock.WaitAsync(cancellationToken).ConfigureAwait(true); 40 | Interlocked.Decrement(ref this.queueSize); 41 | try 42 | { 43 | await runFunc().ConfigureAwait(true); 44 | } 45 | finally 46 | { 47 | this.runLock.Release(); 48 | } 49 | } 50 | public async Task Schedule(Func> runFunc, CancellationToken cancellationToken) 51 | { 52 | Interlocked.Increment(ref this.queueSize); 53 | await this.runLock.WaitAsync(cancellationToken).ConfigureAwait(true); 54 | Interlocked.Decrement(ref this.queueSize); 55 | try 56 | { 57 | return await runFunc().ConfigureAwait(true); 58 | } 59 | finally 60 | { 61 | this.runLock.Release(); 62 | } 63 | } 64 | 65 | /// 66 | public void Dispose() 67 | { 68 | this.runLock?.Dispose(); 69 | } 70 | 71 | /// 72 | public override string ToString() => $"Queue Size: {this.queueSize}, Is Running: {this.IsRunning}"; 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/RoutineQueue.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b425c950495948f481bc927a202628e6 3 | timeCreated: 1738870143 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 064d5b3eaa5327542aa268447f8b4bc7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ApiError.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.Runtime.Serialization; 24 | using JetBrains.Annotations; 25 | 26 | namespace GameDevWare.Charon.Editor.Services.ServerApi 27 | { 28 | [UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] 29 | internal class ApiError 30 | { 31 | [DataMember(Name = "message")] 32 | public string Message { get; set; } 33 | [DataMember(Name = "code")] 34 | public string Code { get; set; } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ApiError.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16ced543023b4bf4a846de44f960dc6a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ApiKeyAuthenticateRequest.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.Runtime.Serialization; 24 | 25 | namespace GameDevWare.Charon.Editor.Services.ServerApi 26 | { 27 | public class ApiKeyAuthenticateRequest 28 | { 29 | [DataMember(Name = "apiKey")] 30 | public string ApiKey; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ApiKeyAuthenticateRequest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a379088f0e58d6b4ab2211131fe28544 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ApiResponse.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Linq; 25 | using System.Net; 26 | using System.Runtime.Serialization; 27 | using JetBrains.Annotations; 28 | 29 | namespace GameDevWare.Charon.Editor.Services.ServerApi 30 | { 31 | [UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] 32 | internal class ApiResponse 33 | { 34 | [DataMember(Name = "result")] 35 | public T Result; 36 | 37 | [DataMember(Name = "errors")] 38 | public ApiError[] Errors; 39 | 40 | public T GetResponseResultOrError() 41 | { 42 | if (this.Errors != null) 43 | { 44 | throw new WebException(Resources.UI_UNITYPLUGIN_SERVER_ERROR + 45 | Environment.NewLine + string.Join(Environment.NewLine, this.Errors.Select(error => error.ToString()).ToArray()), 46 | WebExceptionStatus.UnknownError); 47 | } 48 | 49 | return this.Result; 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ApiResponse.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd50f188238fdec4ebd8be03a8fa0939 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/AuthenticationFlowStage.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Runtime.Serialization; 25 | 26 | namespace GameDevWare.Charon.Editor.Services.ServerApi 27 | { 28 | [Serializable] 29 | public class AuthenticationFlowStage 30 | { 31 | [DataMember(Name = "authorizationCode")] 32 | public string AuthorizationCode; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/AuthenticationFlowStage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d316f4b3faf3409499cb5c0aa73db762 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/Branch.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Runtime.Serialization; 25 | 26 | namespace GameDevWare.Charon.Editor.Services.ServerApi 27 | { 28 | [Serializable] 29 | internal class Branch 30 | { 31 | [DataMember(Name = "id")] 32 | public string Id; 33 | [DataMember(Name = "name")] 34 | public string Name; 35 | [DataMember(Name = "isPrimary")] 36 | public bool IsPrimary; 37 | [DataMember(Name = "dataSize")] 38 | public int DataSize; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/Branch.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 868ca1f05fea9e541bd570b784f7118b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ImportReport.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Linq; 25 | using System.Runtime.Serialization; 26 | using JetBrains.Annotations; 27 | 28 | namespace GameDevWare.Charon.Editor.Services.ServerApi 29 | { 30 | [Serializable, PublicAPI] 31 | public class ImportReport 32 | { 33 | [DataMember(Name = "changes")] 34 | public ImportReportDocumentChange[] Changes; 35 | [DataMember(Name = "metadataHash")] 36 | public string MetadataHash; 37 | [DataMember(Name = "revisionHash")] 38 | public string RevisionHash; 39 | 40 | public bool HasErrors 41 | { 42 | get { return this.Changes != null && this.Changes.Length > 0 && this.Changes.Any(r => !r.HasErrors); } 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ImportReport.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 94d42a69535d4584ac21e97f0e70b4c5 3 | timeCreated: 1741509435 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ImportReportDocumentChange.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Runtime.Serialization; 25 | using JetBrains.Annotations; 26 | 27 | namespace GameDevWare.Charon.Editor.Services.ServerApi 28 | { 29 | [Serializable, PublicAPI] 30 | public class ImportReportDocumentChange 31 | { 32 | [DataMember(Name = "id")] 33 | public string Id; 34 | [DataMember(Name = "newId")] 35 | public string NewId; 36 | [DataMember(Name = "schemaName")] 37 | public string SchemaName; 38 | [DataMember(Name = "schemaId")] 39 | public string SchemaId; 40 | [DataMember(Name = "status")] 41 | public ImportReportDocumentChangeStatus Status; 42 | [DataMember(Name = "comment")] 43 | public string Comment; 44 | [DataMember(Name = "errors")] 45 | public ValidationError[] Errors; 46 | 47 | public bool HasErrors => this.Errors == null || this.Errors.Length == 0; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ImportReportDocumentChange.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a5458365d3e4a818b7376250a127db8 3 | timeCreated: 1741509533 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ImportReportDocumentChangeStatus.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | 3 | namespace GameDevWare.Charon.Editor.Services.ServerApi 4 | { 5 | [PublicAPI] 6 | public enum ImportReportDocumentChangeStatus 7 | { 8 | Created = 0, 9 | Updated = 1, 10 | Deleted = 2, 11 | Skipped = 3, 12 | Unchanged = 4, 13 | Error = 5, 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ImportReportDocumentChangeStatus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1794a49eff9c45538321d59d59c4e09f 3 | timeCreated: 1741509673 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/Project.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Runtime.Serialization; 25 | 26 | namespace GameDevWare.Charon.Editor.Services.ServerApi 27 | { 28 | [Serializable] 29 | internal class Project 30 | { 31 | [DataMember(Name = "id")] 32 | public string Id; 33 | [DataMember(Name = "name")] 34 | public string Name; 35 | [DataMember(Name = "pictureUrl")] 36 | public string PictureUrl; 37 | [DataMember(Name = "branches")] 38 | public Branch[] Branches; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/Project.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37e0e0caf9c410643a44d1ea5b42cbd9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ServerApiClient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a68f9cffe82670a4bb026f908e2a1342 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ValidationError.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Runtime.Serialization; 25 | using JetBrains.Annotations; 26 | 27 | namespace GameDevWare.Charon.Editor.Services.ServerApi 28 | { 29 | [Serializable, UsedImplicitly(ImplicitUseTargetFlags.WithMembers), PublicAPI] 30 | public class ValidationError 31 | { 32 | [DataMember(Name = "path")] 33 | public string Path; 34 | [DataMember(Name = "message")] 35 | public string Message; 36 | [DataMember(Name = "code")] 37 | public string Code; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ValidationError.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b9651c370245e34eaabe14a1b8d1021 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ValidationRecord.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Runtime.Serialization; 25 | using JetBrains.Annotations; 26 | using UnityEngine.Serialization; 27 | 28 | namespace GameDevWare.Charon.Editor.Services.ServerApi 29 | { 30 | [Serializable, PublicAPI] 31 | public class ValidationRecord 32 | { 33 | [DataMember(Name = "id")] 34 | public string Id; 35 | [DataMember(Name = "schemaName")] 36 | public string SchemaName; 37 | [DataMember(Name = "schemaId")] 38 | public string SchemaId; 39 | [DataMember(Name = "errors")] 40 | public ValidationError[] Errors; 41 | 42 | public bool HasErrors => this.Errors == null || this.Errors.Length == 0; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ValidationRecord.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66535e52012b746449c2e463265544dd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ValidationReport.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Linq; 25 | using System.Runtime.Serialization; 26 | using JetBrains.Annotations; 27 | 28 | namespace GameDevWare.Charon.Editor.Services.ServerApi 29 | { 30 | [Serializable, PublicAPI] 31 | public class ValidationReport 32 | { 33 | [DataMember(Name = "records")] 34 | public ValidationRecord[] Records; 35 | [DataMember(Name = "metadataHash")] 36 | public string MetadataHash; 37 | [DataMember(Name = "revisionHash")] 38 | public string RevisionHash; 39 | 40 | public bool HasErrors 41 | { 42 | get { return this.Records != null && this.Records.Length > 0 && this.Records.Any(r => !r.HasErrors); } 43 | } 44 | 45 | public static ValidationReport CreateErrorReport(string message) 46 | { 47 | return new ValidationReport 48 | { 49 | Records = new ValidationRecord[] { 50 | new ValidationRecord { 51 | Errors = new ValidationError[] { 52 | new ValidationError { 53 | Message = message 54 | } 55 | } 56 | } 57 | } 58 | }; 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/ServerApi/ValidationReport.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63042d9b9713b5443bf0e831b7ff883c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Services/UnityResourceServer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d75698c2f174d9c938ec5e832f889bd 3 | timeCreated: 1739291127 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/SourceCodeIndentation.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using JetBrains.Annotations; 24 | 25 | namespace GameDevWare.Charon.Editor 26 | { 27 | [PublicAPI] 28 | public enum SourceCodeIndentation 29 | { 30 | Tabs = 0, 31 | TwoSpaces, 32 | FourSpaces 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/SourceCodeIndentation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c3726ac2be7a684db959eb57335f5c2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/SourceCodeLineEndings.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using JetBrains.Annotations; 24 | 25 | namespace GameDevWare.Charon.Editor 26 | { 27 | [PublicAPI] 28 | public enum SourceCodeLineEndings 29 | { 30 | Windows = 0, 31 | Unix, 32 | OsDefault 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/SourceCodeLineEndings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e89ab1bcad7a6da43bb22d390547198a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/UnityResources.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 083dcd08a8464f542a593a62104a40fc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1dc1de7c4277539468970b3a0fe44bd8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/CancellationTokenExtensions.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Threading; 25 | using UnityEditor; 26 | 27 | namespace GameDevWare.Charon.Editor.Utils 28 | { 29 | internal static class CancellationTokenExtensions 30 | { 31 | public static void ThrowIfScriptsCompiling(this CancellationToken cancellationToken) 32 | { 33 | if (EditorApplication.isCompiling) 34 | { 35 | throw new InvalidOperationException(Resources.UI_UNITYPLUGIN_ERROR_SCRIPTS_COMPILING); 36 | } 37 | } 38 | public static void ThrowIfScriptsCompiling(this CancellationTokenSource cancellationTokenSource) 39 | { 40 | if (EditorApplication.isCompiling) 41 | { 42 | cancellationTokenSource.Cancel(); 43 | throw new InvalidOperationException(Resources.UI_UNITYPLUGIN_ERROR_SCRIPTS_COMPILING); 44 | } 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/CancellationTokenExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9ba8bf4dba4b9445a2848f8a28a938b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/CharonFileUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9af5f0d99ca6b084492b1b529a91bdba 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/CommandLineUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6f5f4f4e7169154cba9cd11a9b7557a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/EditorLayoutUtils.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using UnityEditor; 25 | using UnityEngine; 26 | 27 | namespace GameDevWare.Charon.Editor.Utils 28 | { 29 | internal class EditorLayoutUtils 30 | { 31 | public static void BeginPaddings(Vector2 size, Rect padding) 32 | { 33 | GUILayout.BeginHorizontal(GUILayout.Width(size.y - padding.x - padding.width)); 34 | GUILayout.Space(padding.x); 35 | GUILayout.BeginVertical(GUILayout.Width(size.x - padding.y - padding.height)); 36 | GUILayout.Space(padding.y); 37 | } 38 | public static void EndPaddings() 39 | { 40 | GUILayout.EndVertical(); 41 | GUILayout.EndHorizontal(); 42 | } 43 | public static void AutoSize(EditorWindow editorWindow) 44 | { 45 | if (ReferenceEquals(editorWindow, null)) throw new ArgumentNullException(nameof(editorWindow)); 46 | // ReSharper disable once ConditionIsAlwaysTrueOrFalse 47 | if (editorWindow == null) return; 48 | 49 | GUILayoutUtility.GetRect(1, 1, 1, 1); 50 | if (Event.current.type == EventType.Repaint && GUILayoutUtility.GetLastRect().y > 0) 51 | { 52 | var newRect = GUILayoutUtility.GetLastRect(); 53 | editorWindow.position = new Rect(editorWindow.position.position, new Vector2(editorWindow.position.width, newRect.y + 7)); 54 | editorWindow.minSize = new Vector2(editorWindow.minSize.x, editorWindow.position.height); 55 | editorWindow.maxSize = new Vector2(editorWindow.maxSize.x, editorWindow.position.height); 56 | } 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/EditorLayoutUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cf5a4db38934dd418da3fbb07c49cea 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/EditorPrefsUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb978d1e275345ecbfbccce0cd392cdc 3 | timeCreated: 1740946936 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/ExceptionUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba993dca46f05ac439a0457470115ef9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/FormatsExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1535f843c2f6c7e42a2e77db539cee88 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/GameDataAssetUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b7ce84cee7f4fda8849f09ccdf18738 3 | timeCreated: 1739120146 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/GameDataSettingsUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33e04b43690d4372aadf0ebf2d31b921 3 | timeCreated: 1739263961 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/HttpUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6878871e5ef1f04d960702636cc2bf1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/ProcessExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0d5a93785824b1458b1d049303ea8b4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/ProgressUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a07c6b9e456fedb4ba1d5cad6dd4e100 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/SemanticVersion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d8e4a34a03cb2d46ae5d89a31787eda 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/TaskExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9d3912af156741e1bff3b577103aa0bc 3 | timeCreated: 1738870789 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/TaskSchedulerExtensions.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using System.Runtime.CompilerServices; 25 | using System.Threading; 26 | using System.Threading.Tasks; 27 | 28 | namespace GameDevWare.Charon.Editor.Utils 29 | { 30 | public static class TaskSchedulerExtensions 31 | { 32 | public static SwitchToAwaiter SwitchTo(this TaskScheduler taskScheduler) 33 | { 34 | if (taskScheduler == null) throw new ArgumentNullException(nameof(taskScheduler)); 35 | 36 | return new SwitchToAwaiter(taskScheduler); 37 | } 38 | 39 | public struct SwitchToAwaiter : INotifyCompletion 40 | { 41 | private readonly TaskScheduler taskScheduler; 42 | private Action continuation; 43 | private Task task; 44 | 45 | public SwitchToAwaiter(TaskScheduler taskScheduler) 46 | { 47 | if (taskScheduler == null) throw new ArgumentNullException(nameof(taskScheduler)); 48 | 49 | this.taskScheduler = taskScheduler; 50 | this.task = Task.CompletedTask; 51 | this.continuation = null; 52 | } 53 | 54 | public SwitchToAwaiter GetAwaiter() { return this; } 55 | 56 | public bool IsCompleted => this.continuation != null; 57 | 58 | public void OnCompleted(Action continuation) 59 | { 60 | this.continuation = continuation; 61 | this.task = Task.Factory.StartNew(continuation, CancellationToken.None, TaskCreationOptions.PreferFairness, this.taskScheduler); 62 | } 63 | 64 | public void GetResult() 65 | { 66 | this.task.GetAwaiter().GetResult(); 67 | } 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/TaskSchedulerExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77be12081e844a7982e138df7db4f4c3 3 | timeCreated: 1739898903 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/ToolRunOptions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9d47a48f5136d9e45aa1ff3b4f664b43 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Utils/ToolRunResult.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e1c78c4b5a12a94ca699ee3e32afe80 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Windows.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 672bdc796fc74dd40b3213c14b35823c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Windows/ApiKeyPromptWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8f578eb492b33641909b24daab66da2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Windows/CharonSettingsWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7e0eae640d4aba4e9f8612d0356254a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Windows/ConnectGameDataWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2eaf7717e694a6c43b6a2b1ffbb7cef6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Windows/CreateGameDataWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9752532c3d0e49a9a00c36549cc2c29b 3 | timeCreated: 1739126993 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Windows/GameDataAssetInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c8d7e397756d954ab65debbdc1097d6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Windows/GameDataDocumentReferenceDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c7e56f3e9b340228cc9dae4bedb1b4d 3 | timeCreated: 1738960012 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Windows/GameDataJsonImporterEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df60985586764921b9757316057d3927 3 | timeCreated: 1739105528 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Windows/GameDataMessagePackImporterEditor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using UnityEditor; 24 | using UnityEditor.AssetImporters; 25 | 26 | namespace GameDevWare.Charon.Editor.Windows 27 | { 28 | [CustomEditor(typeof(GameDataMessagePackImporter))] 29 | public class GameDataMessagePackImporterEditor: ScriptedImporterEditor 30 | { 31 | public override void OnInspectorGUI() 32 | { 33 | if (this.assetTargets.Length == 1) 34 | { 35 | GameDataJsonImporterEditor.InspectorGUI(this, this.assetTarget); 36 | } 37 | this.ApplyRevertGUI(); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Windows/GameDataMessagePackImporterEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d18ad8e736f94726ad98ef453d2fbcd5 3 | timeCreated: 1739105449 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Editor/Windows/MigrationPromptWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b3bca688506468595d6374a4296146a 3 | timeCreated: 1740396575 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2025 Denis Zykov 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 13 | all 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 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea39f39c2a2a3da41869c52ff523e9d2 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a94f9e09e33bd7942921f555c764da17 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf18f64bd5d12a346a7d28d7565d6f1a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Runtime/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System.Reflection; 24 | 25 | [assembly: AssemblyVersion("2025.1.1")] 26 | [assembly: AssemblyCompany("GameDevWare")] 27 | [assembly: AssemblyCopyright("2025 (c) GameDevWare, Denis Zykov")] 28 | 29 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Runtime/AssemblyInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eeb8398352c943cfb9d81f17650e2ee2 3 | timeCreated: 1739017520 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Runtime/GameDataBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9acc13cef164c8e98c7088bc4a201ee 3 | timeCreated: 1738959568 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Runtime/GameDataDocumentReference.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c5e9c4b3e5645fe86e28b6caceb2858 3 | timeCreated: 1738959849 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Runtime/GameDataFormat.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using JetBrains.Annotations; 24 | 25 | namespace GameDevWare.Charon 26 | { 27 | /// 28 | /// Format of game data file. 29 | /// 30 | [PublicAPI] 31 | public enum GameDataFormat 32 | { 33 | /// 34 | /// Json is text, human-readable format. Documentation: https://www.json.org/json-en.html 35 | /// 36 | Json, 37 | /// 38 | /// Message Pack is binary, compact and performant format. Documentation: https://msgpack.org/index.html 39 | /// 40 | MessagePack 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Runtime/GameDataFormat.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c528c6fef4314140a43427d70c0a01a0 3 | timeCreated: 1738961231 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Runtime/GameDataSettings.cs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2025 GameDevWare, Denis Zykov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | 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 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | using System; 24 | using JetBrains.Annotations; 25 | using UnityObject = UnityEngine.Object; 26 | 27 | namespace GameDevWare.Charon 28 | { 29 | [PublicAPI, Serializable] 30 | public class GameDataSettings 31 | { 32 | public string codeGenerationPath; 33 | public string gameDataFileGuid; 34 | public string gameDataClassName; 35 | public string gameDataNamespace; 36 | public string gameDataDocumentClassName; 37 | public string defineConstants; 38 | public string[] publishLanguages; 39 | public int publishFormat; 40 | public int optimizations; 41 | public int lineEnding; 42 | public int indentation; 43 | public bool splitSourceCodeFiles; 44 | public bool clearOutputDirectory; 45 | public string serverAddress; 46 | public string projectId; 47 | public string projectName; 48 | public string branchName; 49 | public string branchId; 50 | 51 | public bool IsConnected => 52 | string.IsNullOrEmpty(this.serverAddress) == false && 53 | string.IsNullOrEmpty(this.projectId) == false && 54 | string.IsNullOrEmpty(this.branchId) == false; 55 | 56 | 57 | public Uri MakeDataSourceUrl() 58 | { 59 | if (!this.IsConnected) 60 | { 61 | throw new InvalidOperationException("Data source URL could be created only for connected game data."); 62 | } 63 | 64 | return new Uri(new Uri(this.serverAddress), $"view/data/{this.projectId}/{this.branchId}/"); 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Runtime/GameDataSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a80f7c2fc1eb4179bee683b62a9304f8 3 | timeCreated: 1738959719 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Runtime/GameDevWare.Charon.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gamedevware-charon", 3 | "rootNamespace": "GameDevWare.Charon", 4 | "references": [], 5 | "includePlatforms": [ 6 | 7 | ], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": true, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } 17 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Runtime/GameDevWare.Charon.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8108250f010648b497e862e8f33c24fc 3 | timeCreated: 1738832835 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8f854c408344f6b8b3b5f5e89526d69 3 | timeCreated: 1738943891 -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Scripts/RunCharon.unix.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43affbcf29b16924e998ec6ff7e1e907 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Scripts/RunCharon.windows: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal 3 | 4 | :: Find current directory of the script 5 | 6 | SETLOCAL ENABLEDELAYEDEXPANSION 7 | set DRIVE_LETTER=%~d0 8 | FOR %%Z IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO SET DRIVE_LETTER=!DRIVE_LETTER:%%Z=%%Z! 9 | SETLOCAL DISABLEDELAYEDEXPANSION 10 | 11 | set "SCRIPT_DIR=%DRIVE_LETTER%%~p0" 12 | 13 | :: Check if dotnet is installed 14 | :Check_Dotnet 15 | 16 | where dotnet >nul 2>&1 17 | if "%ERRORLEVEL%" NEQ "0" ( 18 | goto Exit_No_Dotnet_Installed 19 | ) 20 | 21 | :: Get the installed dotnet version 22 | for /f "tokens=*" %%i in ('dotnet --version') do set "DOTNET_VERSION=%%i" 23 | 24 | :: Extract the major version number 25 | for /f "tokens=1 delims=." %%a in ("%DOTNET_VERSION%") do set "MAJOR_VERSION=%%a" 26 | 27 | :: Check if the major version is 8 or later 28 | if %MAJOR_VERSION% LSS 8 ( 29 | goto Old_Dotnet_Installed 30 | ) 31 | 32 | :: Install/Update charon tool 33 | :Install_Update_Charon_Tool 34 | 35 | pushd "%SCRIPT_DIR%" 36 | if NOT EXIST ".config\dotnet-tools.json" ( 37 | dotnet new tool-manifest -o . >nul 38 | ) 39 | 40 | dotnet tool list --local | findstr /i /c:"dotnet-charon" >nul 2>&1 41 | if "%ERRORLEVEL%" EQU "0" ( 42 | dotnet tool update dotnet-charon --local --tool-manifest .config/dotnet-tools.json >nul 43 | ) else ( 44 | dotnet tool install dotnet-charon --local --tool-manifest .config/dotnet-tools.json >nul 45 | 46 | if "%ERRORLEVEL%" NEQ "0" ( 47 | if "%ERRORLEVEL%" NEQ "1" ( 48 | popd 49 | goto Exit_Failure_Dotnet_Restore_Failed 50 | ) 51 | ) 52 | ) 53 | popd 54 | 55 | :: Run charon tool with specified parameters 56 | :Run_Tool 57 | 58 | pushd "%SCRIPT_DIR%" 59 | dotnet charon %* 60 | set EXITCODE=%ERRORLEVEL% 61 | popd 62 | 63 | if "%ERRORLEVEL%" NEQ "0" ( 64 | goto Exit_Failure 65 | ) else ( 66 | goto Exit_Success 67 | ) 68 | 69 | goto Exit_Success 70 | 71 | :Exit_Failure_Dotnet_Restore_Failed 72 | set EXITCODE=-2 73 | echo Failed to execute the 'dotnet tool install dotnet-charon' command (exit code: %ERRORLEVEL%) to retrieve the latest package version from NuGet. Ensure that the 'dotnet' tool is installed and available in the 'PATH'. Check 'https://dotnet.microsoft.com/en-us/download' for the installer. 1>&2 74 | goto Exit_Failure 75 | 76 | :Exit_No_Dotnet_Installed 77 | set EXITCODE=-3 78 | echo .NET SDK is not installed. 1>&2 79 | goto Exit_Failure 80 | 81 | :Old_Dotnet_Installed 82 | set EXITCODE=-4 83 | echo ".NET version %DOTNET_VERSION% is installed, but it is not version 8 or later." 1>&2 84 | goto Exit_Failure 85 | 86 | :Exit_Failure 87 | exit /B %EXITCODE% 88 | 89 | :Exit_Success 90 | exit /B 0 91 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Scripts/RunCharon.windows.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df55d4b632e35724c87a8ac11137eb08 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Scripts/RunT4.unix.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 05009a8c2324b4a4db39ad1fcc73f188 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Scripts/RunT4.windows: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal 3 | 4 | :: Find current directory of the script 5 | 6 | SETLOCAL ENABLEDELAYEDEXPANSION 7 | set DRIVE_LETTER=%~d0 8 | FOR %%Z IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO SET DRIVE_LETTER=!DRIVE_LETTER:%%Z=%%Z! 9 | SETLOCAL DISABLEDELAYEDEXPANSION 10 | 11 | set "SCRIPT_DIR=%DRIVE_LETTER%%~p0" 12 | 13 | :: Check if dotnet is installed 14 | :Check_Dotnet 15 | 16 | where dotnet >nul 2>&1 17 | if "%ERRORLEVEL%" NEQ "0" ( 18 | goto Exit_No_Dotnet_Installed 19 | ) 20 | 21 | :: Get the installed dotnet version 22 | for /f "tokens=*" %%i in ('dotnet --version') do set "DOTNET_VERSION=%%i" 23 | 24 | :: Extract the major version number 25 | for /f "tokens=1 delims=." %%a in ("%DOTNET_VERSION%") do set "MAJOR_VERSION=%%a" 26 | 27 | :: Check if the major version is 8 or later 28 | if %MAJOR_VERSION% LSS 8 ( 29 | goto Old_Dotnet_Installed 30 | ) 31 | 32 | :: Install/Update t4 tool 33 | :Install_Update_T4_Tool 34 | 35 | pushd "%SCRIPT_DIR%" 36 | if NOT EXIST ".config\dotnet-tools.json" ( 37 | dotnet new tool-manifest -o . >nul 38 | ) 39 | 40 | dotnet tool list --local | findstr /i /c:"dotnet-t4" >nul 2>&1 41 | if "%ERRORLEVEL%" EQU "0" ( 42 | dotnet tool update dotnet-t4 --local --tool-manifest .config/dotnet-tools.json >nul 43 | ) else ( 44 | dotnet tool install dotnet-t4 --local --tool-manifest .config/dotnet-tools.json >nul 45 | 46 | if "%ERRORLEVEL%" NEQ "0" ( 47 | if "%ERRORLEVEL%" NEQ "1" ( 48 | popd 49 | goto Exit_Failure_Dotnet_Restore_Failed 50 | ) 51 | ) 52 | ) 53 | popd 54 | 55 | :: Run charon tool with specified parameters 56 | :Run_Tool 57 | 58 | pushd "%SCRIPT_DIR%" 59 | dotnet t4 %* 60 | set EXITCODE=%ERRORLEVEL% 61 | popd 62 | 63 | if "%ERRORLEVEL%" NEQ "0" ( 64 | goto Exit_Failure 65 | ) else ( 66 | goto Exit_Success 67 | ) 68 | 69 | goto Exit_Success 70 | 71 | :Exit_Failure_Dotnet_Restore_Failed 72 | set EXITCODE=-2 73 | echo Failed to execute the 'dotnet tool install dotnet-t4' command (exit code: %ERRORLEVEL%) to retrieve the latest package version from NuGet. Ensure that the 'dotnet' tool is installed and available in the 'PATH'. Check 'https://dotnet.microsoft.com/en-us/download' for the installer. 1>&2 74 | goto Exit_Failure 75 | 76 | :Exit_No_Dotnet_Installed 77 | set EXITCODE=-3 78 | echo .NET SDK is not installed. 1>&2 79 | goto Exit_Failure 80 | 81 | :Old_Dotnet_Installed 82 | set EXITCODE=-4 83 | echo ".NET version %DOTNET_VERSION% is installed, but it is not version 8 or later." 1>&2 84 | goto Exit_Failure 85 | 86 | :Exit_Failure 87 | exit /B %EXITCODE% 88 | 89 | :Exit_Success 90 | exit /B 0 91 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/Scripts/RunT4.windows.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bdb3a75cae306434c92c2eefd301acc1 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.gamedevware.charon", 3 | "displayName": "Charon: Game Data Editor", 4 | "version": "2025.2.2", 5 | "unity": "2021.3", 6 | "description": "Charon is a powerful data-driven game development tool designed to streamline the creation and management of static game data within Unity. It allows both developers and game designers to efficiently model and edit game entities such as characters, items, missions, quests, and more, directly within the Unity environment. Charon simplifies the process of data manipulation, offering a user-friendly interface and automatic source code generation, which significantly reduces development time and minimizes manual coding errors.\r\n Why Choose Charon?\nCharon replaces traditional spreadsheets or config files with an in-game database, offering a structured and efficient way to manage game data. It allows developers to focus on creating engaging gameplay experiences without worrying about the technical details of data management. \r\n\n ***** This package requires .NET 8 or later to be installed. ***** ", 7 | "repository":"https://github.com/gamedevware/charon-unity3d", 8 | "author": { 9 | "name" : "Denis Zykov", 10 | "email" : "support@gamedevware.com", 11 | "url" : "https://gamedevware.com/" 12 | }, 13 | "documentationUrl": "https://gamedevware.github.io/charon/", 14 | "keywords": ["Database", "GameDesign", "Tool", "Editor", "gamedata", "configs", "ScriptableObject", "Spreadsheet", "tables", "datatable", "Import", "spreadsheets", "localization"], 15 | "license": "MIT" 16 | } 17 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/com.gamedevware.charon/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20cea482a1024e4489f9793e3681585a 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/GameDevWare.Charon.Unity/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.collab-proxy": "1.17.7", 4 | "com.unity.ide.rider": "3.0.34", 5 | "com.unity.ide.visualstudio": "2.0.16", 6 | "com.unity.ide.vscode": "1.2.5", 7 | "com.unity.test-framework": "1.1.31", 8 | "com.unity.textmeshpro": "3.0.6", 9 | "com.unity.timeline": "1.6.4", 10 | "com.unity.ugui": "1.0.0", 11 | "com.unity.visualscripting": "1.7.8", 12 | "com.unity.modules.ai": "1.0.0", 13 | "com.unity.modules.androidjni": "1.0.0", 14 | "com.unity.modules.animation": "1.0.0", 15 | "com.unity.modules.assetbundle": "1.0.0", 16 | "com.unity.modules.audio": "1.0.0", 17 | "com.unity.modules.cloth": "1.0.0", 18 | "com.unity.modules.director": "1.0.0", 19 | "com.unity.modules.imageconversion": "1.0.0", 20 | "com.unity.modules.imgui": "1.0.0", 21 | "com.unity.modules.jsonserialize": "1.0.0", 22 | "com.unity.modules.particlesystem": "1.0.0", 23 | "com.unity.modules.physics": "1.0.0", 24 | "com.unity.modules.physics2d": "1.0.0", 25 | "com.unity.modules.screencapture": "1.0.0", 26 | "com.unity.modules.terrain": "1.0.0", 27 | "com.unity.modules.terrainphysics": "1.0.0", 28 | "com.unity.modules.tilemap": "1.0.0", 29 | "com.unity.modules.ui": "1.0.0", 30 | "com.unity.modules.uielements": "1.0.0", 31 | "com.unity.modules.umbra": "1.0.0", 32 | "com.unity.modules.unityanalytics": "1.0.0", 33 | "com.unity.modules.unitywebrequest": "1.0.0", 34 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 35 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 36 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 37 | "com.unity.modules.unitywebrequestwww": "1.0.0", 38 | "com.unity.modules.vehicles": "1.0.0", 39 | "com.unity.modules.video": "1.0.0", 40 | "com.unity.modules.vr": "1.0.0", 41 | "com.unity.modules.wind": "1.0.0", 42 | "com.unity.modules.xr": "1.0.0", 43 | "com.unity.nuget.newtonsoft-json": "3.0.2" 44 | } 45 | } 46 | --------------------------------------------------------------------------------