diff --git a/.gitattributes b/.gitattributes index f6d17609..5c809931 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,7 +1,7 @@ # # Git attributes for Unity projects # -# Compiled by the GameCI community - https://game.ci +# Compiled by the GameCI community under the MIT license - https://game.ci # # Latest version at https://gist.github.com/webbertakken/ff250a0d5e59a8aae961c2e509c07fbc # @@ -15,7 +15,7 @@ # Macro attribute: Files with Unity's yaml format # linguist-generated means the file is ignored for the repository's language statistics and diffs are hidden by default. -[attr]unity-yaml-file -text -merge=unityyamlmerge linguist-generated +[attr]unity-yaml-file -text merge=unityyamlmerge linguist-generated # Macro attribute: Files intended for LFS [attr]lfs-file filter=lfs diff=lfs merge=lfs -text @@ -111,6 +111,8 @@ *.dfx lfs-file *.FBX lfs-file *.fbx lfs-file +*.glb lfs-file +*.gltf lfs-file *.lwo lfs-file *.lwo2 lfs-file *.lxo lfs-file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fbaf9de9..c3e21309 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -463,7 +463,7 @@ jobs: RELEASE_NOTES: ${{ github.event.release.body }} run: echo "$RELEASE_NOTES" > Card-Game-Simulator/fastlane/metadata/en-US/release_notes.txt - name: Raise PR to CGS games - uses: peter-evans/create-pull-request@v6 + uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.CGS_PAT }} path: cgs-games @@ -813,8 +813,18 @@ jobs: - name: Setup Microsoft Store Developer CLI uses: microsoft/setup-msstore-cli@v1 - name: Configure Microsoft Store Developer CLI + working-directory: C:/Card-Game-Simulator.git + shell: pwsh run: msstore reconfigure --tenantId ${{ secrets.MICROSOFT_TENANT_ID }} --sellerId ${{ secrets.MICROSOFT_SELLER_ID }} --clientId ${{ secrets.MICROSOFT_CLIENT_ID }} --clientSecret ${{ secrets.MICROSOFT_KEY }} + - name: Build the .appxupload with Microsoft Store Developer CLI + working-directory: C:/Card-Game-Simulator.git + shell: pwsh + run: | + msstore init "C:\Card-Game-Simulator.git\build\WSAPlayer\WSAPlayer" + msstore package "C:\Card-Game-Simulator.git\build\WSAPlayer\WSAPlayer" + dir "C:\Card-Game-Simulator.git\build\WSAPlayer\WSAPlayer" - name: Build the .appxupload + if: false working-directory: C:/Card-Game-Simulator.git shell: pwsh env: @@ -850,6 +860,7 @@ jobs: app-id: 9N96N5S4W3J0 package-path: ${{ format('{0}\build\WSAPlayer\WSAPlayer\AppPackages\Card Game Simulator\Card Game Simulator_{1}.0_x86_x64_arm_arm64_bundle_Master.appxupload', 'C:\Card-Game-Simulator.git', needs.buildWSAPlayer.outputs.buildVersion) }} - name: Upload to the Microsoft Store + if: false working-directory: C:/Card-Game-Simulator.git shell: pwsh env: diff --git a/Assets/Prefabs/CardGameView/Viewer/Card Viewer.prefab b/Assets/Prefabs/CardGameView/Viewer/Card Viewer.prefab index c5365d8e..4a2e2f8b 100644 --- a/Assets/Prefabs/CardGameView/Viewer/Card Viewer.prefab +++ b/Assets/Prefabs/CardGameView/Viewer/Card Viewer.prefab @@ -208,6 +208,8 @@ MonoBehaviour: zoomPanel: {fileID: 224109217147786326} previewNameText: {fileID: 7437930296677555684} previewIdText: {fileID: 9178331705017420536} + expandButton: {fileID: 1016929423696792834} + imageButton: {fileID: 7387913828809239956} cardAspectRatioFitters: - {fileID: 7087516293771782191} - {fileID: 4258690190980776080} @@ -228,9 +230,6 @@ MonoBehaviour: - {fileID: 4421569744400736546} - {fileID: 8891999154179803766} - {fileID: 9178331705017420536} - nameVisibleButton: {fileID: 1022402755753600354} - nameVisibleButtonImage: {fileID: 1022402755913910062} - nameInvisibleButtonImage: {fileID: 6483681905477399728} idText: {fileID: 729178739697746545} setText: {fileID: 5025651125242140457} propertyTextTemplate: {fileID: 5120898713707083972} @@ -1922,7 +1921,6 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1022402755753600354} - {fileID: 9157987747019477593} - {fileID: 1016929423696792833} - {fileID: 7512204855791781900} @@ -2128,81 +2126,6 @@ MonoBehaviour: m_EditorClassIdentifier: m_HorizontalFit: 0 m_VerticalFit: 2 ---- !u!1 &5293800812403310696 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1681294629870873017} - - component: {fileID: 3126360705714220923} - - component: {fileID: 6483681905477399728} - m_Layer: 5 - m_Name: Invisible Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &1681294629870873017 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5293800812403310696} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1022402755753600354} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3126360705714220923 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5293800812403310696} - m_CullTransparentMesh: 0 ---- !u!114 &6483681905477399728 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5293800812403310696} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: a6de77ef072cbb942a3e6052fc3126cd, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &6741518953216345288 GameObject: m_ObjectHideFlags: 0 @@ -4784,22 +4707,22 @@ PrefabInstance: - target: {fileID: 2706642219885418223, guid: a9ff64913ad43c1428c7affb011349a2, type: 3} propertyPath: m_AnchorMax.x - value: 0.5 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2706642219885418223, guid: a9ff64913ad43c1428c7affb011349a2, type: 3} propertyPath: m_AnchorMax.y - value: 0.5 + value: 0.625 objectReference: {fileID: 0} - target: {fileID: 2706642219885418223, guid: a9ff64913ad43c1428c7affb011349a2, type: 3} propertyPath: m_AnchorMin.x - value: 0.5 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2706642219885418223, guid: a9ff64913ad43c1428c7affb011349a2, type: 3} propertyPath: m_AnchorMin.y - value: 0.5 + value: 0.625 objectReference: {fileID: 0} - target: {fileID: 2706642219885418223, guid: a9ff64913ad43c1428c7affb011349a2, type: 3} @@ -4849,12 +4772,12 @@ PrefabInstance: - target: {fileID: 2706642219885418223, guid: a9ff64913ad43c1428c7affb011349a2, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: -300 objectReference: {fileID: 0} - target: {fileID: 2706642219885418223, guid: a9ff64913ad43c1428c7affb011349a2, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -300 objectReference: {fileID: 0} - target: {fileID: 2706642219885418223, guid: a9ff64913ad43c1428c7affb011349a2, type: 3} @@ -5961,210 +5884,16 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 7751214748712770782} m_PrefabAsset: {fileID: 0} ---- !u!1001 &7763447854736012477 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 9218893221259505242} - m_Modifications: - - target: {fileID: 60276916285824526, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: isBelow - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 60276916285824526, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: tooltip - value: Name - objectReference: {fileID: 0} - - target: {fileID: 7317508625745834899, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: e938d935bb14d364bb09c92fd08c188b, - type: 3} - - target: {fileID: 7317508625745834909, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_Name - value: Visible Image - objectReference: {fileID: 0} - - target: {fileID: 7317508625745834909, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915484, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915484, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915484, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target - value: - objectReference: {fileID: 114896126842830088} - - target: {fileID: 7317508625903915484, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915484, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName - value: ToggleIsNameVisible - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915484, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName - value: UnityEngine.Object, UnityEngine - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915486, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_Name - value: Name Visible Button - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915486, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_Pivot.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_Pivot.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_AnchorMin.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_SizeDelta.x - value: 80 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_SizeDelta.y - value: 80 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: - - targetCorrespondingSourceObject: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - insertIndex: -1 - addedObject: {fileID: 1681294629870873017} - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 849115afddf0d7d48b0bd0f145f7349d, type: 3} ---- !u!224 &1022402755753600354 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 7317508625903915487, guid: 849115afddf0d7d48b0bd0f145f7349d, - type: 3} - m_PrefabInstance: {fileID: 7763447854736012477} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1022402755913910062 stripped +--- !u!114 &1016929423696792834 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 7317508625745834899, guid: 849115afddf0d7d48b0bd0f145f7349d, + m_CorrespondingSourceObject: {fileID: 7317508625903915484, guid: 849115afddf0d7d48b0bd0f145f7349d, type: 3} - m_PrefabInstance: {fileID: 7763447854736012477} + m_PrefabInstance: {fileID: 7751214748712770782} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} m_Name: m_EditorClassIdentifier: --- !u!1001 &8016582453618448247 diff --git a/Assets/Prefabs/CardGameView/Viewer/Playable Viewer.prefab b/Assets/Prefabs/CardGameView/Viewer/Playable Viewer.prefab index 573e05fb..eae6faeb 100644 --- a/Assets/Prefabs/CardGameView/Viewer/Playable Viewer.prefab +++ b/Assets/Prefabs/CardGameView/Viewer/Playable Viewer.prefab @@ -165,11 +165,11 @@ RectTransform: - {fileID: 809152361887806933} m_Father: {fileID: 224256216305895768} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -160} m_SizeDelta: {x: 600, y: 600} - m_Pivot: {x: 0.5, y: 0.5} + m_Pivot: {x: 1, y: 1} --- !u!222 &757014485118844539 CanvasRenderer: m_ObjectHideFlags: 0 @@ -216,7 +216,7 @@ CanvasGroup: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3229226146847586547} m_Enabled: 1 - m_Alpha: 1 + m_Alpha: 0 m_Interactable: 0 m_BlocksRaycasts: 0 m_IgnoreParentGroups: 0 @@ -258,11 +258,11 @@ RectTransform: - {fileID: 3436281376403372465} m_Father: {fileID: 224256216305895768} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 500, y: 500} - m_Pivot: {x: 0.5, y: 0.5} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -160} + m_SizeDelta: {x: 600, y: 600} + m_Pivot: {x: 1, y: 1} --- !u!222 &5307592812954030539 CanvasRenderer: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Menus/CGS Games Browser Menu.prefab b/Assets/Prefabs/Menus/CGS Games Browser Menu.prefab new file mode 100644 index 00000000..0688f746 --- /dev/null +++ b/Assets/Prefabs/Menus/CGS Games Browser Menu.prefab @@ -0,0 +1,1205 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2216295641637951376 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7604758572567513302} + - component: {fileID: 6396963050614699935} + - component: {fileID: 2603393497124034621} + m_Layer: 5 + m_Name: Frame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7604758572567513302 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2216295641637951376} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3875962887023920637} + - {fileID: 2799294768656501077} + - {fileID: 1584116887537079624} + - {fileID: 4910390342662143575} + m_Father: {fileID: 2338949577431416928} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6396963050614699935 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2216295641637951376} + m_CullTransparentMesh: 1 +--- !u!114 &2603393497124034621 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2216295641637951376} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: ff82d239e1d5b8048b79e668d4299f9f, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8069674180739615263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2338949577431416928} + - component: {fileID: 1210893493655516547} + - component: {fileID: 730646501866544315} + - component: {fileID: 3402539637852377228} + - component: {fileID: 7357536006159266424} + - component: {fileID: 1234166375893577372} + m_Layer: 5 + m_Name: CGS Games Browser Menu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2338949577431416928 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8069674180739615263} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9063124900866363229} + - {fileID: 7604758572567513302} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!223 &1210893493655516547 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8069674180739615263} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 15 + m_TargetDisplay: 0 +--- !u!114 &730646501866544315 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8069674180739615263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0.6 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!114 &3402539637852377228 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8069674180739615263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &7357536006159266424 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8069674180739615263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ea7a401f5bc852d4795c2db609a59448, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1234166375893577372 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8069674180739615263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 66f2b11693feb8b458549fc4c775ffb7, type: 3} + m_Name: + m_EditorClassIdentifier: + toggleGroup: {fileID: 0} + selectionContent: {fileID: 8244735646688184232} + selectionTemplate: {fileID: 2331256726653321279} + emptyText: {fileID: 0} + scrollRect: {fileID: 5049397280943729985} +--- !u!1001 &237877446737881395 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7604758572567513302} + m_Modifications: + - target: {fileID: 1190321458197282515, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1190321458197282515, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1190321458197282515, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1234166375893577372} + - target: {fileID: 1190321458197282515, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1190321458197282515, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: GoToCgsGamesBrowser + objectReference: {fileID: 0} + - target: {fileID: 1190321458197282515, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: Cgs.Menu.CgsGamesBrowser, Cgs + objectReference: {fileID: 0} + - target: {fileID: 1190321458197282515, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 1235898657587702237, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_Text + value: Import + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764538, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_Name + value: Framed ButtonPair + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_Pivot.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_SizeDelta.x + value: 520 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_SizeDelta.y + value: 85 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 75 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2150377159090348618, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: tooltip + value: Download and Import Game + objectReference: {fileID: 0} + - target: {fileID: 2629111982971497285, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 650a4a4a26b169247b17d24f470e817a, + type: 3} + - target: {fileID: 2629111982971497285, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_Color.b + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2629111982971497285, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_Color.r + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6161985151846292848, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: cb10f6d86c76a9d4f894e5fce9082598, + type: 3} + - target: {fileID: 6978737696480894952, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_Text + value: Website + objectReference: {fileID: 0} + - target: {fileID: 7024314410439346406, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7024314410439346406, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7024314410439346406, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1234166375893577372} + - target: {fileID: 7024314410439346406, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7024314410439346406, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: Import + objectReference: {fileID: 0} + - target: {fileID: 7024314410439346406, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: Cgs.Menu.CgsGamesBrowser, Cgs + objectReference: {fileID: 0} + - target: {fileID: 7024314410439346406, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 7793500115142644863, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + propertyPath: tooltip + value: Go to CGS Games Website + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 1ab22cc3401977e43821548819f8b3ef, type: 3} +--- !u!224 &1584116887537079624 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 1636765640200764539, guid: 1ab22cc3401977e43821548819f8b3ef, + type: 3} + m_PrefabInstance: {fileID: 237877446737881395} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &992462574898027912 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 2338949577431416928} + m_Modifications: + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8525911190176502356, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + propertyPath: m_Name + value: BackgroundMode + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 40676e8920314bd46b8603e701fc1165, type: 3} +--- !u!224 &9063124900866363229 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8071399823947436757, guid: 40676e8920314bd46b8603e701fc1165, + type: 3} + m_PrefabInstance: {fileID: 992462574898027912} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &5191758757225589020 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7604758572567513302} + m_Modifications: + - target: {fileID: 66792000574508518, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_Name + value: CGSGamesBrowser Label + objectReference: {fileID: 0} + - target: {fileID: 858674133167794374, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_Text + value: CGS Games Browser + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_SizeDelta.x + value: -1000 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -100 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: cb34354267e822c41877c9c04f71e643, type: 3} +--- !u!224 &3875962887023920637 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 9063206868995599585, guid: cb34354267e822c41877c9c04f71e643, + type: 3} + m_PrefabInstance: {fileID: 5191758757225589020} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &6450395915586258622 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7604758572567513302} + m_Modifications: + - target: {fileID: 2135092052294433000, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_Name + value: Close Button Variant + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_SizeDelta.x + value: 125 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_SizeDelta.y + value: 65 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 125 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -125 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433002, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1234166375893577372} + - target: {fileID: 2135092052294433002, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: Hide + objectReference: {fileID: 0} + - target: {fileID: 2135092052294433002, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: Cgs.Menu.CgsGamesBrowser, Cgs + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a24def208a6cce74eb7f7d07e399041b, type: 3} +--- !u!224 &4910390342662143575 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2135092052294433001, guid: a24def208a6cce74eb7f7d07e399041b, + type: 3} + m_PrefabInstance: {fileID: 6450395915586258622} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &7565084451530594163 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7590854698892975078} + m_Modifications: + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_SizeDelta.y + value: 150 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202189, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_Name + value: Toggle + objectReference: {fileID: 0} + - target: {fileID: 5235115287894202190, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_Group + value: + objectReference: {fileID: 2149695889487435683} + - target: {fileID: 5235115289016548993, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + propertyPath: m_Text + value: 'Game::Name + + Copyright of *copyright* and Uploaded by *username*' + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 987a410d27ea7074e981d400767aded3, type: 3} +--- !u!224 &2331256726653321279 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 5235115287894202188, guid: 987a410d27ea7074e981d400767aded3, + type: 3} + m_PrefabInstance: {fileID: 7565084451530594163} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &8915628222821247107 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7604758572567513302} + m_Modifications: + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_SizeDelta.x + value: -200 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_SizeDelta.y + value: -475 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -62.5 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7353229514195064940, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_Name + value: ScrollView Vertical + objectReference: {fileID: 0} + - target: {fileID: 8441293159771624762, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_Size + value: 0.3025 + objectReference: {fileID: 0} + - target: {fileID: 8441293161199918481, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8441293161199918481, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8441293161199918481, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.6975 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 3047411742083560851, guid: bcd6c8c8d8b4b004ab05978ff2d32058, type: 3} + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 1360806721578857317, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + insertIndex: -1 + addedObject: {fileID: 2331256726653321279} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 593864689913038249, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + insertIndex: -1 + addedObject: {fileID: 2149695889487435683} + - targetCorrespondingSourceObject: {fileID: 593864689913038249, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + insertIndex: -1 + addedObject: {fileID: 2535700952829107595} + m_SourcePrefab: {fileID: 100100000, guid: bcd6c8c8d8b4b004ab05978ff2d32058, type: 3} +--- !u!224 &2799294768656501077 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + m_PrefabInstance: {fileID: 8915628222821247107} + m_PrefabAsset: {fileID: 0} +--- !u!114 &5049397280943729985 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4443289985684882882, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + m_PrefabInstance: {fileID: 8915628222821247107} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &7590854698892975078 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 1360806721578857317, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + m_PrefabInstance: {fileID: 8915628222821247107} + m_PrefabAsset: {fileID: 0} +--- !u!224 &8244735646688184232 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 707491489704095531, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + m_PrefabInstance: {fileID: 8915628222821247107} + m_PrefabAsset: {fileID: 0} +--- !u!1 &8324754825570889002 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 593864689913038249, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + m_PrefabInstance: {fileID: 8915628222821247107} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2149695889487435683 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8324754825570889002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2fafe2cfe61f6974895a912c3755e8f1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AllowSwitchOff: 0 +--- !u!114 &2535700952829107595 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8324754825570889002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 1 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 diff --git a/Assets/Prefabs/Menus/CGS Games Browser Menu.prefab.meta b/Assets/Prefabs/Menus/CGS Games Browser Menu.prefab.meta new file mode 100644 index 00000000..68972e42 --- /dev/null +++ b/Assets/Prefabs/Menus/CGS Games Browser Menu.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fa45183b67fee27488df0bd07d3b60b5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Menus/Games Management Menu.prefab b/Assets/Prefabs/Menus/Games Management Menu.prefab index 3afb158b..051754aa 100644 --- a/Assets/Prefabs/Menus/Games Management Menu.prefab +++ b/Assets/Prefabs/Menus/Games Management Menu.prefab @@ -134,6 +134,8 @@ MonoBehaviour: selectionTemplate: {fileID: 6417834699738146390} emptyText: {fileID: 0} scrollRect: {fileID: 8401261588600083526} + cgsGamesBrowserPrefab: {fileID: 8069674180739615263, guid: fa45183b67fee27488df0bd07d3b60b5, + type: 3} cardGameEditorMenuPrefab: {fileID: 7821632309527891152, guid: 5e7b999d6a486c7479e9f4d1cb76d27c, type: 3} gameImportModalPrefab: {fileID: 5810182567772607080, guid: 864bd2a9f44369e488e6d6f6edc1582e, @@ -457,7 +459,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0.0007663933} + m_AnchoredPosition: {x: 0, y: 0.00020508088} m_SizeDelta: {x: 0, y: 300} m_Pivot: {x: 0, y: 1} --- !u!114 &8222419885346354308 diff --git a/Assets/Prefabs/Menus/Play Settings Menu.prefab b/Assets/Prefabs/Menus/Play Settings Menu.prefab index 00b108ef..4b8adb54 100644 --- a/Assets/Prefabs/Menus/Play Settings Menu.prefab +++ b/Assets/Prefabs/Menus/Play Settings Menu.prefab @@ -237,6 +237,7 @@ MonoBehaviour: stackViewerOverlapDropdown: {fileID: 381794008858941962} doubleClickToRollDiceToggle: {fileID: 2137331466185853897} dieFaceCountInputField: {fileID: 6699655156933817983} + showActionsMenuToggle: {fileID: 3752212551069594467} --- !u!1001 &688690294193921176 PrefabInstance: m_ObjectHideFlags: 0 @@ -392,7 +393,7 @@ PrefabInstance: - target: {fileID: 707491489704095531, guid: bcd6c8c8d8b4b004ab05978ff2d32058, type: 3} propertyPath: m_SizeDelta.y - value: 750 + value: 1200 objectReference: {fileID: 0} - target: {fileID: 6729428304007553494, guid: bcd6c8c8d8b4b004ab05978ff2d32058, type: 3} @@ -507,7 +508,7 @@ PrefabInstance: - target: {fileID: 8441293159771624762, guid: bcd6c8c8d8b4b004ab05978ff2d32058, type: 3} propertyPath: m_Size - value: 0.94 + value: 0.5875 objectReference: {fileID: 0} - target: {fileID: 8441293159771624762, guid: bcd6c8c8d8b4b004ab05978ff2d32058, type: 3} @@ -527,7 +528,7 @@ PrefabInstance: - target: {fileID: 8441293161199918481, guid: bcd6c8c8d8b4b004ab05978ff2d32058, type: 3} propertyPath: m_AnchorMin.y - value: 0.060000002 + value: 0.41250002 objectReference: {fileID: 0} m_RemovedComponents: - {fileID: 3047411742083560851, guid: bcd6c8c8d8b4b004ab05978ff2d32058, type: 3} @@ -557,6 +558,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 321186455380123748} + - targetCorrespondingSourceObject: {fileID: 707491489704095531, guid: bcd6c8c8d8b4b004ab05978ff2d32058, + type: 3} + insertIndex: -1 + addedObject: {fileID: 3752212551069594468} m_AddedComponents: - targetCorrespondingSourceObject: {fileID: 593864689913038249, guid: bcd6c8c8d8b4b004ab05978ff2d32058, type: 3} @@ -1553,6 +1558,182 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 5326719131218254028} m_PrefabAsset: {fileID: 0} +--- !u!1001 &6231670846540099553 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 487570543223040858} + m_Modifications: + - target: {fileID: 212072498232861229, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_Text + value: Show Actions Menu + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413314, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_IsOn + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413314, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413314, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 8737743237939570206} + - target: {fileID: 7091444216440413314, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: SetShowActionsMenu + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413314, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: Cgs.Play.PlaySettingsMenu, Cgs + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413315, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: tooltip + value: Show Actions Menu on Select + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413316, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_Name + value: ShowActionsMenu Toggle + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_SizeDelta.x + value: 850 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_SizeDelta.y + value: 200 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 850 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -1100 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 941097a8539264a49b1d8dce6757b667, type: 3} +--- !u!114 &3752212551069594467 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7091444216440413314, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + m_PrefabInstance: {fileID: 6231670846540099553} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &3752212551069594468 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 7091444216440413317, guid: 941097a8539264a49b1d8dce6757b667, + type: 3} + m_PrefabInstance: {fileID: 6231670846540099553} + m_PrefabAsset: {fileID: 0} --- !u!1001 &7085882062979089826 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Cgs/CardGameView/Multiplayer/CardStack.cs b/Assets/Scripts/Cgs/CardGameView/Multiplayer/CardStack.cs index 8c2a3eb9..febd70fe 100644 --- a/Assets/Scripts/Cgs/CardGameView/Multiplayer/CardStack.cs +++ b/Assets/Scripts/Cgs/CardGameView/Multiplayer/CardStack.cs @@ -289,25 +289,24 @@ public static CardStack GetPointerDrag(PointerEventData eventData) private void DragCard(PointerEventData eventData) { - if (Cards.Count < 1) + var cards = Cards; + if (cards.Count < 1) { Debug.LogWarning("Attempted to remove from an empty card stack"); return; } - var unityCard = Cards[^1]; - - if (CgsNetManager.Instance.IsOnline) - CgsNetManager.Instance.LocalPlayer.RequestRemoveAt(gameObject, Cards.Count - 1); - else - PopCard(); - + var unityCard = cards[^1]; CardModel.CreateDrag(eventData, cardModelPrefab, transform, unityCard, !IsTopFaceup, PlayController.Instance.playAreaCardZone); - RemovePointer(eventData); - if (PlaySettings.AutoStackCards && Cards.Count < 1) + if (CgsNetManager.Instance.IsOnline && cards.Count > 1) + CgsNetManager.Instance.LocalPlayer.RequestRemoveAt(gameObject, cards.Count - 1); + else if (!CgsNetManager.Instance.IsOnline) + PopCard(); + + if (PlaySettings.AutoStackCards && cards.Count == 1) RequestDelete(); } diff --git a/Assets/Scripts/Cgs/CardGameView/Viewer/CardActionPanel.cs b/Assets/Scripts/Cgs/CardGameView/Viewer/CardActionPanel.cs index 24ba5a89..58029ad9 100644 --- a/Assets/Scripts/Cgs/CardGameView/Viewer/CardActionPanel.cs +++ b/Assets/Scripts/Cgs/CardGameView/Viewer/CardActionPanel.cs @@ -43,14 +43,12 @@ private void Awake() _canvasGroup = gameObject.GetOrAddComponent(); } - public void Show(Vector2 position) + public void Show() { _canvasGroup.alpha = 1; _canvasGroup.interactable = true; _canvasGroup.blocksRaycasts = true; - transform.position = position; - rotateButton.interactable = CardViewer.Instance.SelectedCardModel.ParentCardZone != null && CardViewer.Instance.SelectedCardModel.ParentCardZone.allowsRotation; diff --git a/Assets/Scripts/Cgs/CardGameView/Viewer/CardViewer.cs b/Assets/Scripts/Cgs/CardGameView/Viewer/CardViewer.cs index 47f7c2c5..fcea0ff4 100644 --- a/Assets/Scripts/Cgs/CardGameView/Viewer/CardViewer.cs +++ b/Assets/Scripts/Cgs/CardGameView/Viewer/CardViewer.cs @@ -3,8 +3,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ using System.Collections.Generic; -using System.Linq; using Cgs.CardGameView.Multiplayer; +using Cgs.Play; using FinolDigital.Cgs.CardGameDef; using FinolDigital.Cgs.CardGameDef.Unity; using JetBrains.Annotations; @@ -24,8 +24,6 @@ public enum CardViewerMode public class CardViewer : MonoBehaviour, ICardDisplay, IPointerDownHandler, ISelectHandler, IDeselectHandler { - private const string PlayerPrefsIsNameVisible = "IsNameVisible"; - private const string SetLabel = "Set"; private const string IdLabel = "Id"; private const string Delimiter = ": "; @@ -70,13 +68,12 @@ public CardViewerMode Mode public Text previewNameText; public Text previewIdText; + public Button expandButton; + public Button imageButton; public List cardAspectRatioFitters; public List cardImages; public List nameTexts; public List uniqueIdTexts; - public Transform nameVisibleButton; - public Image nameVisibleButtonImage; - public Image nameInvisibleButtonImage; public Text idText; public Text setText; public Text propertyTextTemplate; @@ -238,12 +235,6 @@ public bool IsVisible private Vector2 _cardActionPanelPosition; - private static bool IsNameVisible - { - get => PlayerPrefs.GetInt(PlayerPrefsIsNameVisible, 0) == 1; - set => PlayerPrefs.SetInt(PlayerPrefsIsNameVisible, value ? 1 : 0); - } - private void OnEnable() { CardGameManager.Instance.OnSceneActions.Add(ResetInfo); @@ -268,16 +259,12 @@ private void Update() if (!(IsVisible || Zoom) || SelectedCardModel == null || CardGameManager.Instance.ModalCanvas != null) return; - if (nameVisibleButton.gameObject.activeSelf != SelectedCardModel.IsFacedown) - nameVisibleButton.gameObject.SetActive(SelectedCardModel.IsFacedown); - if (nameVisibleButton.gameObject.activeSelf != SelectedCardModel.IsFacedown) - nameVisibleButton.gameObject.SetActive(SelectedCardModel.IsFacedown); - var isNameVisible = IsNameVisible; - if (nameVisibleButtonImage.gameObject.activeSelf != isNameVisible) - nameVisibleButtonImage.gameObject.SetActive(isNameVisible); - if (nameInvisibleButtonImage.gameObject.activeSelf == isNameVisible) - nameInvisibleButtonImage.gameObject.SetActive(!isNameVisible); - nameTexts[0].color = isNameVisible || !SelectedCardModel.IsFacedown ? Color.white : Color.clear; + if (Mode != CardViewerMode.Minimal && SelectedCardModel.IsFacedown) + Mode = CardViewerMode.Minimal; + expandButton.interactable = !SelectedCardModel.IsFacedown; + if (imageButton.gameObject.activeSelf == SelectedCardModel.IsFacedown) + imageButton.gameObject.SetActive(!SelectedCardModel.IsFacedown); + nameTexts[0].color = SelectedCardModel.IsFacedown ? Color.clear : Color.white; if (EventSystem.current.currentSelectedGameObject == null && !EventSystem.current.alreadySelecting) EventSystem.current.SetSelectedGameObject(gameObject); @@ -303,7 +290,7 @@ private void Update() DecrementProperty(); else if (Inputs.IsFocusNext && !Inputs.WasFocusNext) IncrementProperty(); - else if (Inputs.IsSort && SelectedCardModel != null) + else if (Inputs.IsSort && SelectedCardModel != null && imageButton.gameObject.activeSelf) Zoom = !Zoom; else if (Inputs.IsCancel) { @@ -413,12 +400,6 @@ public void SetMode(int mode) Mode = (CardViewerMode) mode; } - [UsedImplicitly] - public void ToggleIsNameVisible() - { - IsNameVisible = !IsNameVisible; - } - private void Redisplay() { HidePreview(); @@ -431,20 +412,8 @@ private void Redisplay() expanded.interactable = IsVisible && Mode == CardViewerMode.Expanded; expanded.blocksRaycasts = IsVisible && Mode == CardViewerMode.Expanded; - if (IsVisible && IsActionable) - { - if (SelectedCardModel != null && SelectedCardModel.PointerPositions.Count > 0) - { - var position = SelectedCardModel.PointerPositions.Values.First(); - var isCardInBottomHalf = position.y + CardActionPanel.PositionOffsetAmount < - ((RectTransform) transform).rect.height / 2.0f; - var cardActionPanelOffset = CardActionPanel.PositionOffsetAmount * - (isCardInBottomHalf ? Vector2.up : Vector2.down); - _cardActionPanelPosition = cardActionPanelOffset + position; - } - - cardActionPanel.Show(_cardActionPanelPosition); - } + if (IsVisible && IsActionable && PlaySettings.ShowActionsMenu) + cardActionPanel.Show(); else cardActionPanel.Hide(); diff --git a/Assets/Scripts/Cgs/CardGameView/Viewer/PlayableViewer.cs b/Assets/Scripts/Cgs/CardGameView/Viewer/PlayableViewer.cs index 90fd59d9..b7092705 100644 --- a/Assets/Scripts/Cgs/CardGameView/Viewer/PlayableViewer.cs +++ b/Assets/Scripts/Cgs/CardGameView/Viewer/PlayableViewer.cs @@ -3,8 +3,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ using System.Collections.Generic; -using System.Linq; using Cgs.CardGameView.Multiplayer; +using Cgs.Play; using JetBrains.Annotations; using UnityEngine; using UnityEngine.EventSystems; @@ -164,24 +164,13 @@ public void Redisplay() view.interactable = IsVisible; view.blocksRaycasts = IsVisible; - if (_selectedPlayable != null && _selectedPlayable.PointerPositions.Count > 0) - { - var position = _selectedPlayable.PointerPositions.Values.First(); - var isPlayableInBottomHalf = position.y + CardActionPanel.PositionOffsetAmount < - ((RectTransform) transform).rect.height / 2.0f; - var actionPanelOffset = CardActionPanel.PositionOffsetAmount * - (isPlayableInBottomHalf ? Vector2.up : Vector2.down); - dieActionPanel.transform.position = actionPanelOffset + position; - stackActionPanel.transform.position = actionPanelOffset + position; - } - - dieActionPanel.alpha = IsVisible && _selectedPlayable is Die ? 1 : 0; - dieActionPanel.interactable = IsVisible && _selectedPlayable is Die; - dieActionPanel.blocksRaycasts = IsVisible && _selectedPlayable is Die; + dieActionPanel.alpha = PlaySettings.ShowActionsMenu &&IsVisible && _selectedPlayable is Die ? 1 : 0; + dieActionPanel.interactable = PlaySettings.ShowActionsMenu &&IsVisible && _selectedPlayable is Die; + dieActionPanel.blocksRaycasts = PlaySettings.ShowActionsMenu &&IsVisible && _selectedPlayable is Die; - stackActionPanel.alpha = IsVisible && _selectedPlayable is CardStack ? 1 : 0; - stackActionPanel.interactable = IsVisible && _selectedPlayable is CardStack; - stackActionPanel.blocksRaycasts = IsVisible && _selectedPlayable is CardStack; + stackActionPanel.alpha = PlaySettings.ShowActionsMenu && IsVisible && _selectedPlayable is CardStack ? 1 : 0; + stackActionPanel.interactable = PlaySettings.ShowActionsMenu && IsVisible && _selectedPlayable is CardStack; + stackActionPanel.blocksRaycasts = PlaySettings.ShowActionsMenu && IsVisible && _selectedPlayable is CardStack; if (Dice != null) RedisplayDie(); diff --git a/Assets/Scripts/Cgs/Menu/CgsGamesBrowser.cs b/Assets/Scripts/Cgs/Menu/CgsGamesBrowser.cs new file mode 100644 index 00000000..4f629785 --- /dev/null +++ b/Assets/Scripts/Cgs/Menu/CgsGamesBrowser.cs @@ -0,0 +1,122 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using Cgs.UI; +using FinolDigital.Cgs.CardGameDef.Unity; +using JetBrains.Annotations; +using Newtonsoft.Json; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.Networking; +using UnityEngine.UI; +using UnityExtensionMethods; + +namespace Cgs.Menu +{ + [RequireComponent(typeof(Modal))] + public class CgsGamesBrowser : SelectionPanel + { + public const string CgsGamesBrowseApiUrl = "https://cgs.games/api/browse"; + + protected override bool AllowSwitchOff => false; + + private Modal Menu => _menu ??= gameObject.GetOrAddComponent(); + + private Modal _menu; + + private readonly Dictionary _gameOptions = new(); + + private int _selectedGameId; + + private IEnumerator Start() + { + using var request = UnityWebRequest.Get(CgsGamesBrowseApiUrl); + + yield return request.SendWebRequest(); + + if (request.result == UnityWebRequest.Result.ConnectionError) + { + Debug.LogError(request.error); + CardGameManager.Instance.Messenger.Show(request.error); + Application.OpenURL(Tags.CgsGamesBrowseUrl); + Hide(); + yield break; + } + + var cgsGames = new List(); + JsonConvert.PopulateObject(request.downloadHandler.text, cgsGames); + + for (var i = 0; i < cgsGames.Count; i++) + _gameOptions[i] = cgsGames[i]; + + BuildGameSelectionOptions(); + } + + private void Update() + { + if (!Menu.IsFocused || _gameOptions.Count < 1) + return; + + if (Inputs.IsVertical) + { + if (Inputs.IsUp && !Inputs.WasUp) + SelectPrevious(); + else if (Inputs.IsDown && !Inputs.WasDown) + SelectNext(); + } + + if (Input.GetKeyDown(Inputs.BluetoothReturn) && Toggles.Select(toggle => toggle.gameObject) + .Contains(EventSystem.current.currentSelectedGameObject)) + EventSystem.current.currentSelectedGameObject.GetComponent().isOn = true; + else if (Inputs.IsOption) + GoToCgsGamesBrowser(); + else if (Inputs.IsSubmit) + Import(); + else if (Inputs.IsPageVertical && !Inputs.WasPageVertical) + ScrollPage(Inputs.IsPageDown); + else if (Inputs.IsCancel) + Hide(); + } + + public void Show() + { + Menu.Show(); + BuildGameSelectionOptions(); + } + + private void BuildGameSelectionOptions() + { + Rebuild(_gameOptions, SelectGame, _selectedGameId); + } + + [UsedImplicitly] + public void SelectGame(Toggle toggle, int gameId) + { + if (toggle != null && toggle.isOn) + _selectedGameId = gameId; + } + + [UsedImplicitly] + public void GoToCgsGamesBrowser() + { + Application.OpenURL(Tags.CgsGamesBrowseUrl); + } + + [UsedImplicitly] + public void Import() + { + CardGameManager.Instance.StartGetCardGame(_gameOptions[_selectedGameId].AutoUpdateUrl); + Hide(); + } + + [UsedImplicitly] + public void Hide() + { + Menu.Hide(); + } + } +} diff --git a/Assets/Scripts/Cgs/Menu/CgsGamesBrowser.cs.meta b/Assets/Scripts/Cgs/Menu/CgsGamesBrowser.cs.meta new file mode 100644 index 00000000..82e8f404 --- /dev/null +++ b/Assets/Scripts/Cgs/Menu/CgsGamesBrowser.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 66f2b11693feb8b458549fc4c775ffb7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Cgs/Menu/GamesManagementMenu.cs b/Assets/Scripts/Cgs/Menu/GamesManagementMenu.cs index 18a9c949..7a63e160 100644 --- a/Assets/Scripts/Cgs/Menu/GamesManagementMenu.cs +++ b/Assets/Scripts/Cgs/Menu/GamesManagementMenu.cs @@ -31,6 +31,7 @@ public class GamesManagementMenu : SelectionPanel public static string NoSyncMessage => $"{CardGameManager.Current.Name} does not have a CGS AutoUpdate URL!"; + public GameObject cgsGamesBrowserPrefab; public GameObject cardGameEditorMenuPrefab; public GameObject gameImportModalPrefab; public GameObject downloadMenuPrefab; @@ -46,6 +47,11 @@ public class GamesManagementMenu : SelectionPanel private Modal _menu; + private CgsGamesBrowser CgsGamesBrowserMenu => + _cgsGamesBrowser ??= Instantiate(cgsGamesBrowserPrefab).GetOrAddComponent(); + + private CgsGamesBrowser _cgsGamesBrowser; + private CardGameEditorMenu CardGameEditor => _cardGameEditor ??= Instantiate(cardGameEditorMenuPrefab).GetOrAddComponent(); @@ -144,7 +150,7 @@ public void SelectGame(Toggle toggle, string gameId) [UsedImplicitly] public void ShowCgsGamesBrowser() { - Application.OpenURL(Tags.CgsGamesUrl); + CgsGamesBrowserMenu.Show(); } [UsedImplicitly] diff --git a/Assets/Scripts/Cgs/Menu/GamesManagementMenu.cs.meta b/Assets/Scripts/Cgs/Menu/GamesManagementMenu.cs.meta index 1125a897..6df3e0b0 100644 --- a/Assets/Scripts/Cgs/Menu/GamesManagementMenu.cs.meta +++ b/Assets/Scripts/Cgs/Menu/GamesManagementMenu.cs.meta @@ -4,12 +4,23 @@ MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: + - toggleGroup: {instanceID: 0} + - selectionContent: {instanceID: 0} + - selectionTemplate: {instanceID: 0} + - emptyText: {instanceID: 0} + - scrollRect: {instanceID: 0} + - cgsGamesBrowserPrefab: {fileID: 8069674180739615263, guid: fa45183b67fee27488df0bd07d3b60b5, + type: 3} - cardGameEditorMenuPrefab: {fileID: 7821632309527891152, guid: 5e7b999d6a486c7479e9f4d1cb76d27c, type: 3} - gameImportModalPrefab: {fileID: 5810182567772607080, guid: 864bd2a9f44369e488e6d6f6edc1582e, type: 3} - downloadMenuPrefab: {fileID: 2330282487462195437, guid: 2d4784779890ecb41954d3181de7ad9e, type: 3} + - browseButton: {instanceID: 0} + - newButton: {instanceID: 0} + - editButton: {instanceID: 0} + - syncButton: {instanceID: 0} executionOrder: 0 icon: {instanceID: 0} userData: diff --git a/Assets/Scripts/Cgs/Play/Multiplayer/CgsNetDiscovery.cs b/Assets/Scripts/Cgs/Play/Multiplayer/CgsNetDiscovery.cs index 9c65afad..b0a2402d 100644 --- a/Assets/Scripts/Cgs/Play/Multiplayer/CgsNetDiscovery.cs +++ b/Assets/Scripts/Cgs/Play/Multiplayer/CgsNetDiscovery.cs @@ -4,7 +4,6 @@ using System.Net; using Unity.Netcode; -using UnityEngine; namespace Cgs.Play.Multiplayer { diff --git a/Assets/Scripts/Cgs/Play/PlaySettings.cs b/Assets/Scripts/Cgs/Play/PlaySettings.cs index c93f2228..f441b6d2 100644 --- a/Assets/Scripts/Cgs/Play/PlaySettings.cs +++ b/Assets/Scripts/Cgs/Play/PlaySettings.cs @@ -14,6 +14,7 @@ public static class PlaySettings private const string PlayerPrefsDoubleClickToRollDice = "DoubleClickToRollDice"; private const string PlayerPrefsDoubleClickToViewStacks = "DoubleClickToViewStacks"; private const string PlayerPrefsStackViewerOverlap = "StackViewerOverlap"; + private const string PlayerPrefsShowActionsMenu = "ShowActionsMenu"; public static bool AutoStackCards { @@ -44,5 +45,11 @@ public static int StackViewerOverlap get => PlayerPrefs.GetInt(PlayerPrefsStackViewerOverlap, 1); set => PlayerPrefs.SetInt(PlayerPrefsStackViewerOverlap, value); } + + public static bool ShowActionsMenu + { + get => PlayerPrefs.GetInt(PlayerPrefsShowActionsMenu, 1) == 1; + set => PlayerPrefs.SetInt(PlayerPrefsShowActionsMenu, value ? 1 : 0); + } } } diff --git a/Assets/Scripts/Cgs/Play/PlaySettingsMenu.cs b/Assets/Scripts/Cgs/Play/PlaySettingsMenu.cs index 1788b921..88cbeb82 100644 --- a/Assets/Scripts/Cgs/Play/PlaySettingsMenu.cs +++ b/Assets/Scripts/Cgs/Play/PlaySettingsMenu.cs @@ -18,6 +18,7 @@ public class PlaySettingsMenu : Modal public Dropdown stackViewerOverlapDropdown; public Toggle doubleClickToRollDiceToggle; public InputField dieFaceCountInputField; + public Toggle showActionsMenuToggle; public override void Show() { @@ -27,6 +28,7 @@ public override void Show() stackViewerOverlapDropdown.value = PlaySettings.StackViewerOverlap; doubleClickToRollDiceToggle.isOn = PlaySettings.DoubleClickToRollDice; dieFaceCountInputField.text = PlaySettings.DieFaceCount.ToString(); + showActionsMenuToggle.isOn = PlaySettings.ShowActionsMenu; } private void Update() @@ -80,5 +82,11 @@ public void SetDieFaceCount(string dieFaceCount) if (int.TryParse(dieFaceCount, out var intValue)) PlaySettings.DieFaceCount = intValue; } + + [UsedImplicitly] + public void SetShowActionsMenu(bool showActionsMenu) + { + PlaySettings.ShowActionsMenu = showActionsMenu; + } } } diff --git a/Assets/Scripts/Cgs/Tags.cs b/Assets/Scripts/Cgs/Tags.cs index 6ef9c817..ae9c3356 100644 --- a/Assets/Scripts/Cgs/Tags.cs +++ b/Assets/Scripts/Cgs/Tags.cs @@ -12,8 +12,6 @@ public static class Tags public const string StandardPlayingCardsDirectoryName = "Standard Playing Cards@www.cardgamesimulator.com"; public const string CgsWebsite = "https://www.cardgamesimulator.com/"; - public const string CgsGamesUrl = "https://cgs.games/"; public const string CgsGamesBrowseUrl = "https://cgs.games/browse"; - public const string CgsGamesBrowseApiUrl = "https://cgs.games/api/browse"; } } diff --git a/Assets/Scripts/FinolDigital.Cgs.CardGameDef.Unity/CgsGame.cs b/Assets/Scripts/FinolDigital.Cgs.CardGameDef.Unity/CgsGame.cs new file mode 100644 index 00000000..d76aace9 --- /dev/null +++ b/Assets/Scripts/FinolDigital.Cgs.CardGameDef.Unity/CgsGame.cs @@ -0,0 +1,21 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +namespace FinolDigital.Cgs.CardGameDef.Unity +{ + public struct CgsGame + { + public string Username; + public string Slug; + public string Name; + public string BannerImageUrl; + public string AutoUpdateUrl; + public string Copyright; + + public override string ToString() + { + return $"{Name}\nCopyright of {Copyright} and Uploaded by {Username}"; + } + } +} diff --git a/Assets/Scripts/FinolDigital.Cgs.CardGameDef.Unity/CgsGame.cs.meta b/Assets/Scripts/FinolDigital.Cgs.CardGameDef.Unity/CgsGame.cs.meta new file mode 100644 index 00000000..af18ee1b --- /dev/null +++ b/Assets/Scripts/FinolDigital.Cgs.CardGameDef.Unity/CgsGame.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a9e4bf1084b4c7f4cb27b39d583b9dc4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/docs/pages/roadmap.md b/docs/pages/roadmap.md index fd11b586..7f7e4c02 100644 --- a/docs/pages/roadmap.md +++ b/docs/pages/roadmap.md @@ -4,19 +4,21 @@ permalink: roadmap.html # Roadmap -## What's New - v1.117 -- Cards Explorer: Add Games Management Menu button +## What's New - v1.118 +- Bug-Fix: Crashes +- Bug-Fix: Visibility of facedown cards +- Game-Play: Context Menu Positioning ## Sprint - Priority 1 -- Bug-Fix: Android/iOS/iPad crashes +- Bug-Fix: Loading more than 200 cards - Bug-Fix: macOS Mission Control freezes - Game-Play: Support for card back faces - Select backs folder in Game Editor Menu - Select back from dropdown in Card Creator Menu - Search backs in Card Search/Filter Menu - Game-Play: Animation for card and stack actions -- Game-Play: Name-Plates indicating player seats - Game-Play: Label which player is interacting with cards/playables +- Game-Play: Name-Plates indicating player seats - Game-Play: Display values on Card in Play Area - Game-Play: Counter system for players and cards (Dice grouping/parenting) - Game-Play: Support multiple card selection @@ -50,6 +52,7 @@ permalink: roadmap.html - Platforms: Full controller support (Steam) - Integration: Private Lobbies & Deep links to join multiplayer rooms (cgs.gg) - Platforms: Add Multiplayer and Developer Mode to Web browser +- Platforms: Android widgets - Accessibility: Add audio and sounds throughout the app - Accessibility: Tutorial Video for How-To-Play - 0:00 Intro (Name/Website)