From 99932274cbfac48efb02cfff0f0148d883200579 Mon Sep 17 00:00:00 2001 From: David Finol Date: Wed, 22 Jan 2025 15:24:59 -0600 Subject: [PATCH] Rename to FinolDigital.Cgs.Json and cgs.json --- .github/workflows/dotnet.yml | 38 +++++++++---------- ...rdGameDef.sln => FinolDigital.Cgs.Json.sln | 2 +- .../Card.cs | 2 +- .../CardAction.cs | 2 +- .../CardBackFaceImageUrl.cs | 2 +- .../CardGame.cs | 2 +- .../CardSearchFilters.cs | 2 +- .../Deck.cs | 4 +- .../DeckPlayCard.cs | 2 +- .../DeckUrl.cs | 2 +- .../Decks/Base32.cs | 2 +- .../Decks/CardCodeAndCount.cs | 2 +- .../Decks/LoRDeckEncoder.cs | 2 +- .../Decks/Varint.cs | 2 +- .../EnumDef.cs | 2 +- .../ExtraDef.cs | 2 +- .../FacePreference.cs | 2 +- .../FinolDigital.Cgs.Json.csproj | 12 +++--- .../Float2.cs | 2 +- .../GameBoard.cs | 2 +- .../GameBoardCard.cs | 2 +- .../GameBoardUrl.cs | 2 +- .../GamePlayZone.cs | 2 +- .../GamePlayZoneType.cs | 2 +- .../PropertyDef.cs | 2 +- .../Set.cs | 2 +- .../SharePreference.cs | 2 +- README.md | 21 +++++----- SchemaGeneration/Program.cs | 16 ++++---- SchemaGeneration/SchemaGeneration.csproj | 2 +- schema/{CardGameDef.json => cgs.json} | 6 +-- 31 files changed, 73 insertions(+), 74 deletions(-) rename FinolDigital.Cgs.CardGameDef.sln => FinolDigital.Cgs.Json.sln (92%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/Card.cs (99%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/CardAction.cs (91%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/CardBackFaceImageUrl.cs (94%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/CardGame.cs (99%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/CardSearchFilters.cs (99%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/Deck.cs (99%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/DeckPlayCard.cs (96%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/DeckUrl.cs (97%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/Decks/Base32.cs (99%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/Decks/CardCodeAndCount.cs (84%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/Decks/LoRDeckEncoder.cs (99%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/Decks/Varint.cs (99%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/EnumDef.cs (99%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/ExtraDef.cs (96%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/FacePreference.cs (88%) rename FinolDigital.Cgs.CardGameDef/FinolDigital.Cgs.CardGameDef.csproj => FinolDigital.Cgs.Json/FinolDigital.Cgs.Json.csproj (67%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/Float2.cs (90%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/GameBoard.cs (95%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/GameBoardCard.cs (94%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/GameBoardUrl.cs (93%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/GamePlayZone.cs (97%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/GamePlayZoneType.cs (89%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/PropertyDef.cs (99%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/Set.cs (96%) rename {FinolDigital.Cgs.CardGameDef => FinolDigital.Cgs.Json}/SharePreference.cs (89%) rename schema/{CardGameDef.json => cgs.json} (99%) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 7dc997c..662d6cd 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -36,41 +36,41 @@ jobs: dotnet-version: 6.0.x - name: Build run: dotnet build --configuration Release /p:Version=${VERSION} - - name: Upload FinolDigital.Cgs.CardGameDef.dll + - name: Upload FinolDigital.Cgs.Json.dll uses: actions/upload-artifact@v4 with: - name: FinolDigital.Cgs.CardGameDef.dll - path: FinolDigital.Cgs.CardGameDef/bin/Release/netstandard2.1/FinolDigital.Cgs.CardGameDef.dll + name: FinolDigital.Cgs.Json.dll + path: FinolDigital.Cgs.Json/bin/Release/netstandard2.1/FinolDigital.Cgs.Json.dll - name: Generate schema run: dotnet SchemaGeneration/bin/Release/net6.0/SchemaGeneration.dll - name: Copy schema - run: cp CardGameDef.json schema/ - - name: Upload CardGameDef.json + run: cp cgs.json schema/ + - name: Upload cgs.json uses: actions/upload-artifact@v4 with: - name: CardGameDef.json - path: CardGameDef.json + name: cgs.json + path: cgs.json - name: Pack run: dotnet pack --configuration Release /p:Version=${VERSION} - name: Upload nuget package uses: actions/upload-artifact@v4 with: - name: FinolDigital.Cgs.CardGameDef.${{ steps.versioning.outputs.version }}.nupkg - path: FinolDigital.Cgs.CardGameDef/bin/Release/FinolDigital.Cgs.CardGameDef.${{ steps.versioning.outputs.version }}.nupkg + name: FinolDigital.Cgs.Json.${{ steps.versioning.outputs.version }}.nupkg + path: FinolDigital.Cgs.Json/bin/Release/FinolDigital.Cgs.Json.${{ steps.versioning.outputs.version }}.nupkg - name: Update nuget settings if: github.event.action == 'published' run: dotnet nuget add source --username davidmfinol@gmail.com --password ${{ secrets.CGS_PAT }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/finol-digital/index.json" - name: Push nuget package if: github.event.action == 'published' - run: dotnet nuget push "FinolDigital.Cgs.CardGameDef/bin/Release/FinolDigital.Cgs.CardGameDef.${VERSION}.nupkg" --source "github" + run: dotnet nuget push "FinolDigital.Cgs.Json/bin/Release/FinolDigital.Cgs.Json.${VERSION}.nupkg" --source "github" - name: Raise PR for schema if: github.event.action == 'published' uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.CGS_PAT }} path: schema - branch: cardgamedef-${{ needs.build.outputs.version }} - title: CardGameDef ${{ needs.build.outputs.version }} + branch: cgsjson-${{ needs.build.outputs.version }} + title: Cgs.json ${{ needs.build.outputs.version }} updateCgs: name: Update CGS @@ -81,7 +81,7 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 with: - path: FinolDigital.Cgs.CardGameDef + path: FinolDigital.Cgs.Json - name: Checkout CGS project uses: actions/checkout@v4 with: @@ -89,20 +89,20 @@ jobs: token: ${{ secrets.CGS_PAT }} path: Card-Game-Simulator lfs: true - - name: Download FinolDigital.Cgs.CardGameDef.dll + - name: Download FinolDigital.Cgs.Json.dll uses: actions/download-artifact@v4 with: - name: FinolDigital.Cgs.CardGameDef.dll + name: FinolDigital.Cgs.Json.dll path: Card-Game-Simulator/Assets/Plugins - - name: Download CardGameDef.json + - name: Download cgs.json uses: actions/download-artifact@v4 with: - name: CardGameDef.json + name: cgs.json path: Card-Game-Simulator/docs/schema - name: Raise PR to Card-Game-Simulator uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.CGS_PAT }} path: Card-Game-Simulator - branch: cardgamedef-${{ needs.build.outputs.version }} - title: CardGameDef ${{ needs.build.outputs.version }} + branch: cgsjson-${{ needs.build.outputs.version }} + title: Cgs.json ${{ needs.build.outputs.version }} diff --git a/FinolDigital.Cgs.CardGameDef.sln b/FinolDigital.Cgs.Json.sln similarity index 92% rename from FinolDigital.Cgs.CardGameDef.sln rename to FinolDigital.Cgs.Json.sln index ad84a9a..e2546f6 100644 --- a/FinolDigital.Cgs.CardGameDef.sln +++ b/FinolDigital.Cgs.Json.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.5.33424.131 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FinolDigital.Cgs.CardGameDef", "FinolDigital.Cgs.CardGameDef\FinolDigital.Cgs.CardGameDef.csproj", "{97F6023F-DC26-47C9-A047-82D0EDBD04BC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FinolDigital.Cgs.Json", "FinolDigital.Cgs.Json\FinolDigital.Cgs.Json.csproj", "{97F6023F-DC26-47C9-A047-82D0EDBD04BC}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SchemaGeneration", "SchemaGeneration\SchemaGeneration.csproj", "{EE6FC5DC-D94D-4FF3-B705-CF44772E22B7}" EndProject diff --git a/FinolDigital.Cgs.CardGameDef/Card.cs b/FinolDigital.Cgs.Json/Card.cs similarity index 99% rename from FinolDigital.Cgs.CardGameDef/Card.cs rename to FinolDigital.Cgs.Json/Card.cs index 19507a0..e720f35 100644 --- a/FinolDigital.Cgs.CardGameDef/Card.cs +++ b/FinolDigital.Cgs.Json/Card.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System; using System.Collections.Generic; diff --git a/FinolDigital.Cgs.CardGameDef/CardAction.cs b/FinolDigital.Cgs.Json/CardAction.cs similarity index 91% rename from FinolDigital.Cgs.CardGameDef/CardAction.cs rename to FinolDigital.Cgs.Json/CardAction.cs index 76a098e..f8b5b57 100644 --- a/FinolDigital.Cgs.CardGameDef/CardAction.cs +++ b/FinolDigital.Cgs.Json/CardAction.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System.Runtime.Serialization; using Newtonsoft.Json; diff --git a/FinolDigital.Cgs.CardGameDef/CardBackFaceImageUrl.cs b/FinolDigital.Cgs.Json/CardBackFaceImageUrl.cs similarity index 94% rename from FinolDigital.Cgs.CardGameDef/CardBackFaceImageUrl.cs rename to FinolDigital.Cgs.Json/CardBackFaceImageUrl.cs index 24b83b8..016eb96 100644 --- a/FinolDigital.Cgs.CardGameDef/CardBackFaceImageUrl.cs +++ b/FinolDigital.Cgs.Json/CardBackFaceImageUrl.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System; using System.ComponentModel; diff --git a/FinolDigital.Cgs.CardGameDef/CardGame.cs b/FinolDigital.Cgs.Json/CardGame.cs similarity index 99% rename from FinolDigital.Cgs.CardGameDef/CardGame.cs rename to FinolDigital.Cgs.Json/CardGame.cs index 900ee6e..9e791de 100644 --- a/FinolDigital.Cgs.CardGameDef/CardGame.cs +++ b/FinolDigital.Cgs.Json/CardGame.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System; using System.Collections.Generic; diff --git a/FinolDigital.Cgs.CardGameDef/CardSearchFilters.cs b/FinolDigital.Cgs.Json/CardSearchFilters.cs similarity index 99% rename from FinolDigital.Cgs.CardGameDef/CardSearchFilters.cs rename to FinolDigital.Cgs.Json/CardSearchFilters.cs index e4c2633..5ebda62 100644 --- a/FinolDigital.Cgs.CardGameDef/CardSearchFilters.cs +++ b/FinolDigital.Cgs.Json/CardSearchFilters.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System; using System.Collections.Generic; diff --git a/FinolDigital.Cgs.CardGameDef/Deck.cs b/FinolDigital.Cgs.Json/Deck.cs similarity index 99% rename from FinolDigital.Cgs.CardGameDef/Deck.cs rename to FinolDigital.Cgs.Json/Deck.cs index 3562a43..516c52d 100644 --- a/FinolDigital.Cgs.CardGameDef/Deck.cs +++ b/FinolDigital.Cgs.Json/Deck.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System; using System.Collections.Generic; @@ -6,7 +6,7 @@ namespace FinolDigital.Cgs.CardGameDef using System.Linq; using System.Runtime.Serialization; using System.Text; - using Cgs.CardGameDef.Decks; + using Cgs.Json.Decks; using Newtonsoft.Json; using Newtonsoft.Json.Converters; diff --git a/FinolDigital.Cgs.CardGameDef/DeckPlayCard.cs b/FinolDigital.Cgs.Json/DeckPlayCard.cs similarity index 96% rename from FinolDigital.Cgs.CardGameDef/DeckPlayCard.cs rename to FinolDigital.Cgs.Json/DeckPlayCard.cs index e1f4c21..bb34af4 100644 --- a/FinolDigital.Cgs.CardGameDef/DeckPlayCard.cs +++ b/FinolDigital.Cgs.Json/DeckPlayCard.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using Newtonsoft.Json; using System.ComponentModel; diff --git a/FinolDigital.Cgs.CardGameDef/DeckUrl.cs b/FinolDigital.Cgs.Json/DeckUrl.cs similarity index 97% rename from FinolDigital.Cgs.CardGameDef/DeckUrl.cs rename to FinolDigital.Cgs.Json/DeckUrl.cs index c7cba62..9292991 100644 --- a/FinolDigital.Cgs.CardGameDef/DeckUrl.cs +++ b/FinolDigital.Cgs.Json/DeckUrl.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System; using System.ComponentModel; diff --git a/FinolDigital.Cgs.CardGameDef/Decks/Base32.cs b/FinolDigital.Cgs.Json/Decks/Base32.cs similarity index 99% rename from FinolDigital.Cgs.CardGameDef/Decks/Base32.cs rename to FinolDigital.Cgs.Json/Decks/Base32.cs index 443422d..5017a6a 100644 --- a/FinolDigital.Cgs.CardGameDef/Decks/Base32.cs +++ b/FinolDigital.Cgs.Json/Decks/Base32.cs @@ -16,7 +16,7 @@ * limitations under the License. */ -namespace FinolDigital.Cgs.CardGameDef.Decks +namespace FinolDigital.Cgs.Json.Decks { using System; using System.Collections.Generic; diff --git a/FinolDigital.Cgs.CardGameDef/Decks/CardCodeAndCount.cs b/FinolDigital.Cgs.Json/Decks/CardCodeAndCount.cs similarity index 84% rename from FinolDigital.Cgs.CardGameDef/Decks/CardCodeAndCount.cs rename to FinolDigital.Cgs.Json/Decks/CardCodeAndCount.cs index de3f052..a405076 100644 --- a/FinolDigital.Cgs.CardGameDef/Decks/CardCodeAndCount.cs +++ b/FinolDigital.Cgs.Json/Decks/CardCodeAndCount.cs @@ -1,6 +1,6 @@ // https://github.com/RiotGames/LoRDeckCodes/blob/main/LoRDeckCodes/CardCodeAndCount.cs -namespace FinolDigital.Cgs.CardGameDef.Decks +namespace FinolDigital.Cgs.Json.Decks { public class CardCodeAndCount { diff --git a/FinolDigital.Cgs.CardGameDef/Decks/LoRDeckEncoder.cs b/FinolDigital.Cgs.Json/Decks/LoRDeckEncoder.cs similarity index 99% rename from FinolDigital.Cgs.CardGameDef/Decks/LoRDeckEncoder.cs rename to FinolDigital.Cgs.Json/Decks/LoRDeckEncoder.cs index ea60bd9..8959d2a 100644 --- a/FinolDigital.Cgs.CardGameDef/Decks/LoRDeckEncoder.cs +++ b/FinolDigital.Cgs.Json/Decks/LoRDeckEncoder.cs @@ -1,6 +1,6 @@ // https://github.com/RiotGames/LoRDeckCodes/blob/main/LoRDeckCodes/LoRDeckEncoder.cs -namespace FinolDigital.Cgs.CardGameDef.Decks +namespace FinolDigital.Cgs.Json.Decks { using System; using System.Collections.Generic; diff --git a/FinolDigital.Cgs.CardGameDef/Decks/Varint.cs b/FinolDigital.Cgs.Json/Decks/Varint.cs similarity index 99% rename from FinolDigital.Cgs.CardGameDef/Decks/Varint.cs rename to FinolDigital.Cgs.Json/Decks/Varint.cs index 5a2b822..007eed1 100644 --- a/FinolDigital.Cgs.CardGameDef/Decks/Varint.cs +++ b/FinolDigital.Cgs.Json/Decks/Varint.cs @@ -24,7 +24,7 @@ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF THE POSSIBILITY OF SUCH DAMAGE. */ -namespace FinolDigital.Cgs.CardGameDef.Decks +namespace FinolDigital.Cgs.Json.Decks { using System; using System.Collections.Generic; diff --git a/FinolDigital.Cgs.CardGameDef/EnumDef.cs b/FinolDigital.Cgs.Json/EnumDef.cs similarity index 99% rename from FinolDigital.Cgs.CardGameDef/EnumDef.cs rename to FinolDigital.Cgs.Json/EnumDef.cs index deada1b..3074231 100644 --- a/FinolDigital.Cgs.CardGameDef/EnumDef.cs +++ b/FinolDigital.Cgs.Json/EnumDef.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System; using System.Collections.Generic; diff --git a/FinolDigital.Cgs.CardGameDef/ExtraDef.cs b/FinolDigital.Cgs.Json/ExtraDef.cs similarity index 96% rename from FinolDigital.Cgs.CardGameDef/ExtraDef.cs rename to FinolDigital.Cgs.Json/ExtraDef.cs index e63eb3f..a3e6c87 100644 --- a/FinolDigital.Cgs.CardGameDef/ExtraDef.cs +++ b/FinolDigital.Cgs.Json/ExtraDef.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System.ComponentModel; using Newtonsoft.Json; diff --git a/FinolDigital.Cgs.CardGameDef/FacePreference.cs b/FinolDigital.Cgs.Json/FacePreference.cs similarity index 88% rename from FinolDigital.Cgs.CardGameDef/FacePreference.cs rename to FinolDigital.Cgs.Json/FacePreference.cs index 4868f86..138439e 100644 --- a/FinolDigital.Cgs.CardGameDef/FacePreference.cs +++ b/FinolDigital.Cgs.Json/FacePreference.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using Newtonsoft.Json.Converters; using Newtonsoft.Json; diff --git a/FinolDigital.Cgs.CardGameDef/FinolDigital.Cgs.CardGameDef.csproj b/FinolDigital.Cgs.Json/FinolDigital.Cgs.Json.csproj similarity index 67% rename from FinolDigital.Cgs.CardGameDef/FinolDigital.Cgs.CardGameDef.csproj rename to FinolDigital.Cgs.Json/FinolDigital.Cgs.Json.csproj index 09696fe..5aad08b 100644 --- a/FinolDigital.Cgs.CardGameDef/FinolDigital.Cgs.CardGameDef.csproj +++ b/FinolDigital.Cgs.Json/FinolDigital.Cgs.Json.csproj @@ -6,18 +6,18 @@ Finol Digital LLC David Finol true - Card Game Simulator (CGS) custom card game specification - https://www.cardgamesimulator.com/custom.html + Card Game Simulator (CGS) Card Game Specification + https://github.com/finol-digital/FinolDigital.Cgs.Json Logo.png - card game simulator json schema - Card Game Simulator (CGS) custom card game specification + card game simulator json schema specification + Card Game Simulator (CGS) Card Game Specification https://github.com/finol-digital/FinolDigital.Cgs.CardGameDef git README.md - CGS Custom Card Game + CGS Card Game Specification MIT - Copyright (c) Finol Digital LLC 2023 + Copyright (c) Finol Digital LLC diff --git a/FinolDigital.Cgs.CardGameDef/Float2.cs b/FinolDigital.Cgs.Json/Float2.cs similarity index 90% rename from FinolDigital.Cgs.CardGameDef/Float2.cs rename to FinolDigital.Cgs.Json/Float2.cs index 913f0f7..1a642bf 100644 --- a/FinolDigital.Cgs.CardGameDef/Float2.cs +++ b/FinolDigital.Cgs.Json/Float2.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using Newtonsoft.Json; diff --git a/FinolDigital.Cgs.CardGameDef/GameBoard.cs b/FinolDigital.Cgs.Json/GameBoard.cs similarity index 95% rename from FinolDigital.Cgs.CardGameDef/GameBoard.cs rename to FinolDigital.Cgs.Json/GameBoard.cs index fbaa3a4..999cc05 100644 --- a/FinolDigital.Cgs.CardGameDef/GameBoard.cs +++ b/FinolDigital.Cgs.Json/GameBoard.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System.ComponentModel; using Newtonsoft.Json; diff --git a/FinolDigital.Cgs.CardGameDef/GameBoardCard.cs b/FinolDigital.Cgs.Json/GameBoardCard.cs similarity index 94% rename from FinolDigital.Cgs.CardGameDef/GameBoardCard.cs rename to FinolDigital.Cgs.Json/GameBoardCard.cs index ce0a95a..5041e89 100644 --- a/FinolDigital.Cgs.CardGameDef/GameBoardCard.cs +++ b/FinolDigital.Cgs.Json/GameBoardCard.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System.Collections.Generic; using System.ComponentModel; diff --git a/FinolDigital.Cgs.CardGameDef/GameBoardUrl.cs b/FinolDigital.Cgs.Json/GameBoardUrl.cs similarity index 93% rename from FinolDigital.Cgs.CardGameDef/GameBoardUrl.cs rename to FinolDigital.Cgs.Json/GameBoardUrl.cs index 39b14eb..1781cbe 100644 --- a/FinolDigital.Cgs.CardGameDef/GameBoardUrl.cs +++ b/FinolDigital.Cgs.Json/GameBoardUrl.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System; using System.ComponentModel; diff --git a/FinolDigital.Cgs.CardGameDef/GamePlayZone.cs b/FinolDigital.Cgs.Json/GamePlayZone.cs similarity index 97% rename from FinolDigital.Cgs.CardGameDef/GamePlayZone.cs rename to FinolDigital.Cgs.Json/GamePlayZone.cs index 5b86a55..1a37d96 100644 --- a/FinolDigital.Cgs.CardGameDef/GamePlayZone.cs +++ b/FinolDigital.Cgs.Json/GamePlayZone.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using Newtonsoft.Json; using System.ComponentModel; diff --git a/FinolDigital.Cgs.CardGameDef/GamePlayZoneType.cs b/FinolDigital.Cgs.Json/GamePlayZoneType.cs similarity index 89% rename from FinolDigital.Cgs.CardGameDef/GamePlayZoneType.cs rename to FinolDigital.Cgs.Json/GamePlayZoneType.cs index a3db854..bb5db0f 100644 --- a/FinolDigital.Cgs.CardGameDef/GamePlayZoneType.cs +++ b/FinolDigital.Cgs.Json/GamePlayZoneType.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using Newtonsoft.Json.Converters; using Newtonsoft.Json; diff --git a/FinolDigital.Cgs.CardGameDef/PropertyDef.cs b/FinolDigital.Cgs.Json/PropertyDef.cs similarity index 99% rename from FinolDigital.Cgs.CardGameDef/PropertyDef.cs rename to FinolDigital.Cgs.Json/PropertyDef.cs index 81750bf..f8c2daf 100644 --- a/FinolDigital.Cgs.CardGameDef/PropertyDef.cs +++ b/FinolDigital.Cgs.Json/PropertyDef.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using Newtonsoft.Json; using Newtonsoft.Json.Converters; diff --git a/FinolDigital.Cgs.CardGameDef/Set.cs b/FinolDigital.Cgs.Json/Set.cs similarity index 96% rename from FinolDigital.Cgs.CardGameDef/Set.cs rename to FinolDigital.Cgs.Json/Set.cs index cbef86c..370039f 100644 --- a/FinolDigital.Cgs.CardGameDef/Set.cs +++ b/FinolDigital.Cgs.Json/Set.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System; diff --git a/FinolDigital.Cgs.CardGameDef/SharePreference.cs b/FinolDigital.Cgs.Json/SharePreference.cs similarity index 89% rename from FinolDigital.Cgs.CardGameDef/SharePreference.cs rename to FinolDigital.Cgs.Json/SharePreference.cs index deea768..6c04ab2 100644 --- a/FinolDigital.Cgs.CardGameDef/SharePreference.cs +++ b/FinolDigital.Cgs.Json/SharePreference.cs @@ -1,4 +1,4 @@ -namespace FinolDigital.Cgs.CardGameDef +namespace FinolDigital.Cgs.Json { using System.Runtime.Serialization; using Newtonsoft.Json; diff --git a/README.md b/README.md index 0a180f1..b99d605 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ -# Card Game Simulator - Custom Card Game +# Card Game Simulator - Card Game Specification ## The Specification -A custom card game in CGS follows the `FinolDigital.Cgs.CardGameDef` specification. +[Card Game Simulator](https://www.cardgamesimulator.com) (CGS) follows this `FinolDigital.Cgs.Json` specification. This specification primarily includes information on sets of cards and a definition of what properties those cards have. Ancillary information can include decks and boards to use with the game. See below for the full specification. ## CGS games directory -Custom games are created with a new folder within the persistent games data directory. +Games are created with a new folder within the persistent games data directory. The location of this persistent data directory varies depending on platform. Some examples include: - Android: /Data/Data/com.finoldigital.cardgamesim/files/games/ @@ -18,7 +18,7 @@ Some examples include: ## Custom game folder structure The structure of this custom game folder is: - *Game:Id*/ - - *Game:Name*.json + - cgs.json - AllCards.json - AllDecks.json - AllSets.json @@ -40,15 +40,16 @@ The structure of this custom game folder is: * ... ## JSON File Structure -The GGS AutoUpdate Url that is used to download a card game is actually a pointer to the *Game:Name*.json file. -CGS generates the rest of the folder structure based off that *CardGameDef.json* file. +The GGS AutoUpdate Url that is used to download a card game is actually a pointer to the `cgs.json` file. +CGS generates the rest of the folder structure based off that file. You can create your own json and [validate](https://www.jsonschemavalidator.net/) against these schema: -- [CardGameDef](https://github.com/finol-digital/FinolDigital.Cgs.CardGameDef/blob/main/schema/CardGameDef.json) -- [AllCards](https://github.com/finol-digital/FinolDigital.Cgs.CardGameDef/blob/main/schema/AllCards.json) -- [AllDecks](https://github.com/finol-digital/FinolDigital.Cgs.CardGameDef/blob/main/schema/AllDecks.json) -- [AllSets](https://github.com/finol-digital/FinolDigital.Cgs.CardGameDef/blob/main/schema/AllSets.json) +- [cgs.json](https://github.com/finol-digital/FinolDigital.Cgs.CardGameDef/blob/main/schema/CardGameDef.json) +- [AllCards.json](https://github.com/finol-digital/FinolDigital.Cgs.CardGameDef/blob/main/schema/AllCards.json) +- [AllDecks.json](https://github.com/finol-digital/FinolDigital.Cgs.CardGameDef/blob/main/schema/AllDecks.json) +- [AllSets.json](https://github.com/finol-digital/FinolDigital.Cgs.CardGameDef/blob/main/schema/AllSets.json) ## Examples The default examples can be found in the [CGS GitHub Repository](https://github.com/finol-digital/Card-Game-Simulator/tree/develop/docs/games). + Further examples can be found in the [CGS Google Drive folder](https://drive.google.com/open?id=1kVms-_CXRw1e4Ob18fRkS84MN_cxQGF5). diff --git a/SchemaGeneration/Program.cs b/SchemaGeneration/Program.cs index b7cfbf7..3987358 100644 --- a/SchemaGeneration/Program.cs +++ b/SchemaGeneration/Program.cs @@ -1,7 +1,7 @@ // See https://aka.ms/new-console-template for more information /* -using FinolDigital.Cgs.CardGameDef; +using FinolDigital.Cgs.Json; using Json.Schema; using Json.Schema.Generation; using System.Text.Json; @@ -11,17 +11,16 @@ string jsonSchemaString = JsonSerializer.Serialize(jsonSchema, new JsonSerializerOptions { ReferenceHandler = ReferenceHandler.IgnoreCycles }); File.WriteAllText(SchemaFilePath, jsonSchemaString);*/ -using FinolDigital.Cgs.CardGameDef; +using FinolDigital.Cgs.Json; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using NJsonSchema; using NJsonSchema.Generation; -string SchemaFilePath = "CardGameDef.json"; -string SchemaVersion = "https://json-schema.org/draft/2019-09/schema"; -string SchemaId = "https://cardgamesim.finoldigital.com/schema/CardGameDef.json"; -string SchemaTitle = "CGS Custom Card Game"; -string SchemaDescription = "Card Game Simulator (CGS) custom card game specification"; +string SchemaFileName = "cgs.json"; +string SchemaId = "https://cardgamesim.finoldigital.com/schema/cgs.json"; +string SchemaTitle = "CGS Card Game Specification"; +string SchemaDescription = "Card Game Simulator (CGS) Card Game Specification"; var settings = new JsonSchemaGeneratorSettings { @@ -33,10 +32,9 @@ } }; var jsonSchema = JsonSchema.FromType(settings); -jsonSchema.SchemaVersion = SchemaVersion; // this unfortunately doesn't work, and manual edits are required to change from v4 to v2019 jsonSchema.Id = SchemaId; jsonSchema.Title = SchemaTitle; jsonSchema.Description = SchemaDescription; // HACK: cardImageUrl uses a custom implementation of uri-template to allow for more versatility jsonSchema.Properties["cardImageUrl"].Format = "uri-template"; -File.WriteAllText(SchemaFilePath, jsonSchema.ToJson()); +File.WriteAllText(SchemaFileName, jsonSchema.ToJson()); diff --git a/SchemaGeneration/SchemaGeneration.csproj b/SchemaGeneration/SchemaGeneration.csproj index 2902a54..5354948 100644 --- a/SchemaGeneration/SchemaGeneration.csproj +++ b/SchemaGeneration/SchemaGeneration.csproj @@ -13,7 +13,7 @@ - + diff --git a/schema/CardGameDef.json b/schema/cgs.json similarity index 99% rename from schema/CardGameDef.json rename to schema/cgs.json index 2392416..1be78a2 100644 --- a/schema/CardGameDef.json +++ b/schema/cgs.json @@ -1,9 +1,9 @@ { "$schema": "http://json-schema.org/draft-04/schema#", - "id": "https://cardgamesim.finoldigital.com/schema/CardGameDef.json", - "title": "CGS Custom Card Game", + "id": "https://cardgamesim.finoldigital.com/schema/cgs.json", + "title": "CGS Card Game Specification", "type": "object", - "description": "Card Game Simulator (CGS) custom card game specification", + "description": "Card Game Simulator (CGS) Card Game Specification", "additionalProperties": false, "required": [ "name"