Merge branch 'main' into DamianBranch

This commit is contained in:
2025-11-06 14:17:35 +01:00
82 changed files with 6737 additions and 11756 deletions

View File

@@ -14,79 +14,7 @@ MonoBehaviour:
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetGroup
m_GroupName: BlokkemonCards
m_GUID: 0d5d36d6da388314b92b9c6967d23f39
m_SerializeEntries:
- m_GUID: 1fe09914d65c6d2429e917359ed54122
m_Address: Assets/Data/Cards/Card_HR PimpSten (Copy).asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 20ad613524eea614aacfc7d87629dfdc
m_Address: Assets/Data/Cards/Card_Brosten (Copy).asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 2c9a605210e7f1b48bc66baef17f18cf
m_Address: Assets/Data/Cards/Card_Brosten (Copy) (Copy).asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 3e507a1198083f747bf8f14f1dfc9daa
m_Address: Assets/Data/Cards/Card_Mormor Marmor (Copy).asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 3f4654d849af5ef4d81e0bccacfe03e8
m_Address: Assets/Data/Cards/Card_Mormor Marmor (Copy) (Copy).asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 42b258acaccec1c4c8a271b34f5c0ba9
m_Address: Assets/Data/Cards/Card_HR PimpSten (Copy) (Copy).asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4b9c8b6ca63744a44acfe49ebe337619
m_Address: Assets/Data/Cards/Card_New Card 2.asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 91031de62f795884e8e2ccbaebeebf9b
m_Address: Assets/Data/Cards/Card_New Card.asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 935dc5e5a05e0d443b263cceb57df300
m_Address: Assets/Data/Cards/Card_New Card 4.asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: b7c519c4abc0edf4897168c699d9f250
m_Address: Assets/Data/Cards/Card_HRKvarts (Copy).asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: ba36d0f7b72437d46aef231a1ed79110
m_Address: Assets/Data/Cards/Card_New Card 3.asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: e1af518c607db864498329308e3dcc76
m_Address: Assets/Data/Cards/Card_HRKvarts (Copy) (Copy).asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
m_SerializeEntries: []
m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: 11da9bb90d9dd5848b4f7629415a6937, type: 2}
m_SchemaSet:

View File

@@ -24,6 +24,6 @@ MonoBehaviour:
- {fileID: 5034240524438268576, guid: adbb9bfd5489f3f4995966535ca5f24b, type: 3}
- {fileID: 2326026072467672024, guid: c8d9eb8c3ca524b4eb67f6364b455b87, type: 3}
- {fileID: 3528960956969533010, guid: 53eea3840d3cde34a9768b8773a3a7e8, type: 3}
- {fileID: 6895404274863911569, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
- {fileID: 9076822654798104907, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
- {fileID: 3863019143023165617, guid: 774e30e3f0b1d0d49bad0c2abf11038a, type: 3}
- {fileID: 5034240524438268576, guid: b15ba9d3d508ef244b0eeb76404dc9de, type: 3}

View File

@@ -12,26 +12,35 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a82f88f485b4410e9eb7c383b44557cf, type: 3}
m_Name: CardVisualConfig
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardVisualConfig
rarityColors:
rarityVisuals:
- rarity: 0
color: {r: 0.9528302, g: 0.5321085, b: 0.30113026, a: 1}
frame: {fileID: 2785675867010258551, guid: 58e298cfaf730814a8316c0596cbf0a0, type: 3}
overlay: {fileID: 0}
- rarity: 1
frame: {fileID: 3608157947740397923, guid: 51617678a03e65c40a1306cdeb33d30c, type: 3}
overlay: {fileID: 6144362121687729781, guid: b72b269b732c69a4ebd3fa1564e338ba, type: 3}
- rarity: 2
color: {r: 0.735849, g: 0.735849, b: 0.735849, a: 1}
- rarity: 4
color: {r: 1, g: 0.85694367, b: 0.0039215684, a: 1}
frame: {fileID: -1693298060938455423, guid: 98e781256598a844c955f322a651807e, type: 3}
overlay: {fileID: -3770539431085108897, guid: 5896d629ac597cd49b8f03037f0dbcb2, type: 3}
zoneVisuals:
- zone: 0
color: {r: 0.9150943, g: 0.41006586, b: 0.65010196, a: 1}
backgroundShape: {fileID: 8542402908941169558, guid: 84a9632f9bdc1ee4bab91cf4b764b5f7, type: 3}
- zone: 3
color: {r: 0.49056602, g: 0.3064167, b: 0.22908506, a: 1}
backgroundShape: {fileID: -1529071355430692878, guid: 84a9632f9bdc1ee4bab91cf4b764b5f7, type: 3}
- zone: 2
color: {r: 0.5695372, g: 0.8867924, b: 0.45594516, a: 1}
backgroundShape: {fileID: 1152548570994208632, guid: 84a9632f9bdc1ee4bab91cf4b764b5f7, type: 3}
background: {fileID: 8670586000075846323, guid: 2a09693b0a87b09498d682d25e8080b1, type: 3}
shapeNormal: {fileID: -555031247, guid: bc13c4091da05074ba208ec060326153, type: 3}
shapeRare: {fileID: -7781690445634620112, guid: 2049b6df7b55c9d43a65125944ed7c01, type: 3}
- zone: 1
color: {r: 0.36561054, g: 0.59123904, b: 0.9811321, a: 1}
backgroundShape: {fileID: 8542402908941169558, guid: 84a9632f9bdc1ee4bab91cf4b764b5f7, type: 3}
background: {fileID: 8670586000075846323, guid: 2a09693b0a87b09498d682d25e8080b1, type: 3}
shapeNormal: {fileID: -885559016, guid: a58017e7b840e654babc7465a400dc79, type: 3}
shapeRare: {fileID: -4123633659264056548, guid: f0acfac6598fd754d9cebe517674fc93, type: 3}
- zone: 2
background: {fileID: 8670586000075846323, guid: 2a09693b0a87b09498d682d25e8080b1, type: 3}
shapeNormal: {fileID: 412684597, guid: aa0c0c32fd1585a438555ffc5cde2a90, type: 3}
shapeRare: {fileID: 4758665976143856727, guid: cef2ffe5a4f771e488c8255a643396a1, type: 3}
- zone: 3
background: {fileID: 8670586000075846323, guid: 2a09693b0a87b09498d682d25e8080b1, type: 3}
shapeNormal: {fileID: -1617033473, guid: 91b8773f57580aa4587f68b5855d2bec, type: 3}
shapeRare: {fileID: 7781173432231136668, guid: b178c902d0ba24e41b157bea5d138997, type: 3}
- zone: 4
color: {r: 0.5943396, g: 0.5943396, b: 0.58592916, a: 1}
backgroundShape: {fileID: -1529071355430692878, guid: 84a9632f9bdc1ee4bab91cf4b764b5f7, type: 3}
background: {fileID: 8670586000075846323, guid: 2a09693b0a87b09498d682d25e8080b1, type: 3}
shapeNormal: {fileID: 545085061, guid: 0f156ba9342239c46aed04d6d76f63df, type: 3}
shapeRare: {fileID: -3226689649940064328, guid: 31176c1dad1528648b981c3f381538e6, type: 3}
legendaryBackground: {fileID: -2642905903075119301, guid: c293405722d536c4889a97d72085fece, type: 3}

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 2c9a605210e7f1b48bc66baef17f18cf
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,21 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_Brosten (Copy)
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: c04b7d9c-bb6b-470c-a97c-fcf3d06c0172
Name: Brosten
Description: Description goes here
Rarity: 2
Zone: 1
CardImage: {fileID: -6028342126936659889, guid: 88427f554aebb2a49a9bc9705bb0f7bf, type: 3}
CollectionIndex: 8

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 20ad613524eea614aacfc7d87629dfdc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -10,12 +10,14 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_Brosten (Copy) (Copy)
m_Name: Card_Brosten
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: 28b4b8b5-667c-49d0-9c4d-d9d513e9e689
Id: dc253a1d-23db-4610-b05f-d5a4bffeda77
Name: Brosten
Description: Description goes here
Rarity: 4
Zone: 1
CardImage: {fileID: -6028342126936659889, guid: 88427f554aebb2a49a9bc9705bb0f7bf, type: 3}
CollectionIndex: 8
UseCustomFileName: 0
CustomFileName:
Description: Description
Rarity: 1
Zone: 0
CardImage: {fileID: 716150661, guid: 88427f554aebb2a49a9bc9705bb0f7bf, type: 3}
CollectionIndex: 0

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 42b258acaccec1c4c8a271b34f5c0ba9
guid: ac75dd9d27a925f4c90bbc3b255820e2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

View File

@@ -1,21 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_HR PimpSten (Copy) (Copy)
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: 9bcf6a94-a61b-47ff-abb7-10e8d2b9e140
Name: HR PimpSten
Description: Description goes hereeee
Rarity: 4
Zone: 1
CardImage: {fileID: 2928974366146460655, guid: ab39d3c28640d3646ada092af9b639e6, type: 3}
CollectionIndex: 7

View File

@@ -1,21 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_HR PimpSten (Copy)
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: c2f63556-636d-4e05-bf97-332db4f5d4b5
Name: HR PimpSten
Description: Description goes hereeee
Rarity: 2
Zone: 1
CardImage: {fileID: 2928974366146460655, guid: ab39d3c28640d3646ada092af9b639e6, type: 3}
CollectionIndex: 7

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 1fe09914d65c6d2429e917359ed54122
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,21 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_HRKvarts (Copy) (Copy)
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: e032a426-91dd-4648-86b9-aed9b572e6a1
Name: HRKvarts
Description: Description goes here
Rarity: 4
Zone: 1
CardImage: {fileID: 7622336620039435694, guid: 57aacc442c45ede49af137c00df8f2da, type: 3}
CollectionIndex: 9

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: e1af518c607db864498329308e3dcc76
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,21 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_HRKvarts (Copy)
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: 7918bee9-1b3a-4731-af4b-b6a5b4e5150e
Name: HRKvarts
Description: Description goes here
Rarity: 2
Zone: 1
CardImage: {fileID: 7622336620039435694, guid: 57aacc442c45ede49af137c00df8f2da, type: 3}
CollectionIndex: 9

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: b7c519c4abc0edf4897168c699d9f250
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -10,12 +10,14 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_New Card 2
m_Name: Card_Marmormormor
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: 7ea4fa95-5327-439b-ab7f-94f2656281f2
Name: HR PimpSten
Description: Description goes hereeee
Id: b8a2dcea-8439-4f0a-91a9-e352b24443ad
Name: Marmormormor
UseCustomFileName: 0
CustomFileName:
Description: ' fsdfsdfsdfsdf'
Rarity: 0
Zone: 1
CardImage: {fileID: 2928974366146460655, guid: ab39d3c28640d3646ada092af9b639e6, type: 3}
CollectionIndex: 7
Zone: 0
CardImage: {fileID: -1694013536, guid: c28c2d55edc2fbc4baf57d2672c0c3df, type: 3}
CollectionIndex: 1

View File

@@ -1,21 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_Mormor Marmor (Copy) (Copy)
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: f7b0d422-a7fe-4ab4-a731-0ca83e5328d2
Name: Mormor Marmor
Description: Description goes here
Rarity: 4
Zone: 1
CardImage: {fileID: 8096915581896476643, guid: c28c2d55edc2fbc4baf57d2672c0c3df, type: 3}
CollectionIndex: 9

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 3f4654d849af5ef4d81e0bccacfe03e8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,21 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_Mormor Marmor (Copy)
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: 99e66b22-ea53-4d02-ae36-c9c9bf28c93c
Name: Mormor Marmor
Description: Description goes here
Rarity: 2
Zone: 1
CardImage: {fileID: 8096915581896476643, guid: c28c2d55edc2fbc4baf57d2672c0c3df, type: 3}
CollectionIndex: 9

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 3e507a1198083f747bf8f14f1dfc9daa
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 4b9c8b6ca63744a44acfe49ebe337619
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,21 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_New Card 3
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: 2848767a-e715-403f-a0a0-81cd54d1ab00
Name: Brosten
Description: Description goes here
Rarity: 0
Zone: 1
CardImage: {fileID: -6028342126936659889, guid: 88427f554aebb2a49a9bc9705bb0f7bf, type: 3}
CollectionIndex: 8

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: ba36d0f7b72437d46aef231a1ed79110
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,21 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_New Card 4
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: ec173e56-7759-46fe-9127-facdd91a460f
Name: Mormor Marmor
Description: Description goes here
Rarity: 0
Zone: 1
CardImage: {fileID: 8096915581896476643, guid: c28c2d55edc2fbc4baf57d2672c0c3df, type: 3}
CollectionIndex: 9

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 935dc5e5a05e0d443b263cceb57df300
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,21 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a80cc88c9884512b8b633110d838780, type: 3}
m_Name: Card_New Card
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Data.CardSystem.CardDefinition
Id: 2e271648-c71a-4be1-b9d3-2eb4a3c87243
Name: HRKvarts
Description: Description goes here
Rarity: 0
Zone: 1
CardImage: {fileID: 7622336620039435694, guid: 57aacc442c45ede49af137c00df8f2da, type: 3}
CollectionIndex: 9

File diff suppressed because it is too large Load Diff

View File

@@ -1,369 +1,369 @@
using UnityEditor;
using UnityEngine;
using AppleHills.Data.CardSystem;
using Data.CardSystem;
using Core;
using UI.CardSystem;
using UnityEngine.UI;
using System.Collections.Generic;
namespace Editor.CardSystem
{
/// <summary>
/// Editor window for testing the Card System in play mode.
/// Provides buttons to test core functionalities like adding booster packs, opening packs, and generating cards.
/// </summary>
public class CardSystemTesterWindow : EditorWindow
{
// Test Settings
private int boosterPacksToAdd = 3;
private int cardsToGenerate = 10;
private bool autoOpenPacksWhenAdded = false;
// Debug Info
private int currentBoosterCount;
private int totalCardsInCollection;
private string lastActionMessage = "";
// UI State
private Vector2 scrollPosition;
private CardAlbumUI cachedCardAlbumUI;
[MenuItem("AppleHills/Card System Tester")]
public static void ShowWindow()
{
var window = GetWindow<CardSystemTesterWindow>(false, "Card System Tester", true);
window.minSize = new Vector2(400, 500);
}
private void OnEnable()
{
EditorApplication.playModeStateChanged += OnPlayModeStateChanged;
}
private void OnDisable()
{
EditorApplication.playModeStateChanged -= OnPlayModeStateChanged;
}
private void OnPlayModeStateChanged(PlayModeStateChange state)
{
if (state == PlayModeStateChange.EnteredPlayMode)
{
cachedCardAlbumUI = null;
RefreshDebugInfo();
}
else if (state == PlayModeStateChange.ExitingPlayMode)
{
cachedCardAlbumUI = null;
lastActionMessage = "";
}
Repaint();
}
private void OnGUI()
{
scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
// Header
EditorGUILayout.Space(10);
EditorGUILayout.LabelField("Card System Tester", EditorStyles.boldLabel);
EditorGUILayout.HelpBox("This tool allows you to test the card system in play mode. " +
"Enter play mode to enable the testing functions.", MessageType.Info);
EditorGUILayout.Space(10);
// Test Settings Section
DrawTestSettings();
EditorGUILayout.Space(10);
// Debug Info Section
DrawDebugInfo();
EditorGUILayout.Space(10);
// Test Actions Section
DrawTestActions();
EditorGUILayout.EndScrollView();
}
private void DrawTestSettings()
{
EditorGUILayout.LabelField("Test Settings", EditorStyles.boldLabel);
EditorGUI.BeginDisabledGroup(!Application.isPlaying);
boosterPacksToAdd = EditorGUILayout.IntSlider("Booster Packs to Add", boosterPacksToAdd, 1, 10);
cardsToGenerate = EditorGUILayout.IntSlider("Cards to Generate", cardsToGenerate, 1, 100);
autoOpenPacksWhenAdded = EditorGUILayout.Toggle("Auto-Open Packs When Added", autoOpenPacksWhenAdded);
EditorGUI.EndDisabledGroup();
}
private void DrawDebugInfo()
{
EditorGUILayout.LabelField("Debug Info", EditorStyles.boldLabel);
if (Application.isPlaying)
{
EditorGUI.BeginDisabledGroup(true);
EditorGUILayout.IntField("Current Booster Count", currentBoosterCount);
EditorGUILayout.IntField("Total Cards in Collection", totalCardsInCollection);
EditorGUI.EndDisabledGroup();
if (!string.IsNullOrEmpty(lastActionMessage))
{
EditorGUILayout.Space(5);
EditorGUILayout.HelpBox(lastActionMessage, MessageType.None);
}
EditorGUILayout.Space(5);
if (GUILayout.Button("Refresh Debug Info"))
{
RefreshDebugInfo();
}
}
else
{
EditorGUILayout.HelpBox("Debug info available in play mode.", MessageType.Warning);
}
}
private void DrawTestActions()
{
EditorGUILayout.LabelField("Test Actions", EditorStyles.boldLabel);
if (!Application.isPlaying)
{
EditorGUILayout.HelpBox("Enter Play Mode to use these testing functions.", MessageType.Warning);
return;
}
// Booster Pack Actions
EditorGUILayout.Space(5);
EditorGUILayout.LabelField("Booster Pack Actions", EditorStyles.miniBoldLabel);
if (GUILayout.Button("Add Booster Packs", GUILayout.Height(30)))
{
AddBoosterPacks();
}
if (GUILayout.Button("Open Card Menu", GUILayout.Height(30)))
{
SimulateBackpackClick();
}
if (GUILayout.Button("Open Booster Pack", GUILayout.Height(30)))
{
OpenBoosterPack();
}
if (GUILayout.Button("Open Album View", GUILayout.Height(30)))
{
OpenAlbumView();
}
// Card Generation Actions
EditorGUILayout.Space(10);
EditorGUILayout.LabelField("Card Generation Actions", EditorStyles.miniBoldLabel);
if (GUILayout.Button("Generate Random Cards", GUILayout.Height(30)))
{
GenerateRandomCards();
}
EditorGUILayout.Space(5);
// Danger Zone
EditorGUILayout.Space(10);
EditorGUILayout.LabelField("Danger Zone", EditorStyles.miniBoldLabel);
GUI.backgroundColor = new Color(1f, 0.6f, 0.6f);
if (GUILayout.Button("Clear All Cards", GUILayout.Height(30)))
{
if (EditorUtility.DisplayDialog("Clear All Cards",
"Are you sure you want to clear all cards from the inventory? This cannot be undone in this play session.",
"Clear All", "Cancel"))
{
ClearAllCards();
}
}
GUI.backgroundColor = Color.white;
}
// Refresh the debug information
private void RefreshDebugInfo()
{
if (!Application.isPlaying)
return;
if (CardSystemManager.Instance != null)
{
currentBoosterCount = CardSystemManager.Instance.GetBoosterPackCount();
totalCardsInCollection = CardSystemManager.Instance.GetCardInventory().GetAllCards().Count;
Repaint();
}
}
private CardAlbumUI GetCardAlbumUI()
{
if (cachedCardAlbumUI == null)
{
cachedCardAlbumUI = Object.FindAnyObjectByType<CardAlbumUI>();
if (cachedCardAlbumUI == null)
{
lastActionMessage = "Error: No CardAlbumUI found in the scene!";
Debug.LogError("[CardSystemTesterWindow] " + lastActionMessage);
Repaint();
}
}
return cachedCardAlbumUI;
}
// Test Action Methods
private void AddBoosterPacks()
{
if (CardSystemManager.Instance != null)
{
CardSystemManager.Instance.AddBoosterPack(boosterPacksToAdd);
lastActionMessage = $"Added {boosterPacksToAdd} booster pack(s)";
Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
RefreshDebugInfo();
if (autoOpenPacksWhenAdded && GetCardAlbumUI() != null)
{
SimulateBackpackClick();
cachedCardAlbumUI.OpenBoosterPack();
}
}
else
{
lastActionMessage = "Error: CardSystemManager instance not found!";
Debug.LogError("[CardSystemTesterWindow] " + lastActionMessage);
Repaint();
}
}
private void SimulateBackpackClick()
{
CardAlbumUI cardAlbumUI = GetCardAlbumUI();
if (cardAlbumUI != null)
{
if (cardAlbumUI.BackpackIcon != null)
{
Button backpackButton = cardAlbumUI.BackpackIcon.GetComponent<Button>();
if (backpackButton != null)
{
backpackButton.onClick.Invoke();
lastActionMessage = "Opened card menu via backpack click";
Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
}
else
{
lastActionMessage = "Failed to find Button component on backpack icon";
Logging.Warning($"[CardSystemTesterWindow] {lastActionMessage}");
}
}
else
{
lastActionMessage = "BackpackIcon reference is null";
Logging.Warning($"[CardSystemTesterWindow] {lastActionMessage}");
}
Repaint();
}
}
private void OpenBoosterPack()
{
CardAlbumUI cardAlbumUI = GetCardAlbumUI();
if (cardAlbumUI != null)
{
SimulateBackpackClick();
cardAlbumUI.OpenBoosterPack();
lastActionMessage = "Opening booster pack";
Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
RefreshDebugInfo();
}
}
private void OpenAlbumView()
{
CardAlbumUI cardAlbumUI = GetCardAlbumUI();
if (cardAlbumUI != null)
{
SimulateBackpackClick();
cardAlbumUI.OpenAlbumView();
lastActionMessage = "Opening album view";
Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
Repaint();
}
}
private void GenerateRandomCards()
{
if (CardSystemManager.Instance != null)
{
int cardsAdded = 0;
List<CardDefinition> allDefinitions = CardSystemManager.Instance.GetAllCardDefinitions();
if (allDefinitions.Count == 0)
{
lastActionMessage = "Error: No card definitions available";
Logging.Warning($"[CardSystemTesterWindow] {lastActionMessage}");
Repaint();
return;
}
for (int i = 0; i < cardsToGenerate; i++)
{
// Get a random card definition
CardDefinition randomDef = allDefinitions[Random.Range(0, allDefinitions.Count)];
// Create a card data instance and add it to inventory
CardData newCard = randomDef.CreateCardData();
CardSystemManager.Instance.GetCardInventory().AddCard(newCard);
cardsAdded++;
}
lastActionMessage = $"Generated {cardsAdded} random cards";
Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
RefreshDebugInfo();
}
else
{
lastActionMessage = "Error: CardSystemManager instance not found!";
Debug.LogError("[CardSystemTesterWindow] " + lastActionMessage);
Repaint();
}
}
private void ClearAllCards()
{
if (CardSystemManager.Instance != null)
{
int count = CardSystemManager.Instance.GetCardInventory().GetAllCards().Count;
CardSystemManager.Instance.GetCardInventory().ClearAllCards();
lastActionMessage = $"Cleared {count} cards from inventory";
Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
RefreshDebugInfo();
}
else
{
lastActionMessage = "Error: CardSystemManager instance not found!";
Debug.LogError("[CardSystemTesterWindow] " + lastActionMessage);
Repaint();
}
}
}
}
// using UnityEditor;
// using UnityEngine;
// using AppleHills.Data.CardSystem;
// using Data.CardSystem;
// using Core;
// using UI.CardSystem;
// using UnityEngine.UI;
// using System.Collections.Generic;
//
// namespace Editor.CardSystem
// {
// /// <summary>
// /// Editor window for testing the Card System in play mode.
// /// Provides buttons to test core functionalities like adding booster packs, opening packs, and generating cards.
// /// </summary>
// public class CardSystemTesterWindow : EditorWindow
// {
// // Test Settings
// private int boosterPacksToAdd = 3;
// private int cardsToGenerate = 10;
// private bool autoOpenPacksWhenAdded = false;
//
// // Debug Info
// private int currentBoosterCount;
// private int totalCardsInCollection;
// private string lastActionMessage = "";
//
// // UI State
// private Vector2 scrollPosition;
// private CardAlbumUI cachedCardAlbumUI;
//
// [MenuItem("AppleHills/Card System Tester")]
// public static void ShowWindow()
// {
// var window = GetWindow<CardSystemTesterWindow>(false, "Card System Tester", true);
// window.minSize = new Vector2(400, 500);
// }
//
// private void OnEnable()
// {
// EditorApplication.playModeStateChanged += OnPlayModeStateChanged;
// }
//
// private void OnDisable()
// {
// EditorApplication.playModeStateChanged -= OnPlayModeStateChanged;
// }
//
// private void OnPlayModeStateChanged(PlayModeStateChange state)
// {
// if (state == PlayModeStateChange.EnteredPlayMode)
// {
// cachedCardAlbumUI = null;
// RefreshDebugInfo();
// }
// else if (state == PlayModeStateChange.ExitingPlayMode)
// {
// cachedCardAlbumUI = null;
// lastActionMessage = "";
// }
//
// Repaint();
// }
//
// private void OnGUI()
// {
// scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
//
// // Header
// EditorGUILayout.Space(10);
// EditorGUILayout.LabelField("Card System Tester", EditorStyles.boldLabel);
// EditorGUILayout.HelpBox("This tool allows you to test the card system in play mode. " +
// "Enter play mode to enable the testing functions.", MessageType.Info);
//
// EditorGUILayout.Space(10);
//
// // Test Settings Section
// DrawTestSettings();
//
// EditorGUILayout.Space(10);
//
// // Debug Info Section
// DrawDebugInfo();
//
// EditorGUILayout.Space(10);
//
// // Test Actions Section
// DrawTestActions();
//
// EditorGUILayout.EndScrollView();
// }
//
// private void DrawTestSettings()
// {
// EditorGUILayout.LabelField("Test Settings", EditorStyles.boldLabel);
//
// EditorGUI.BeginDisabledGroup(!Application.isPlaying);
//
// boosterPacksToAdd = EditorGUILayout.IntSlider("Booster Packs to Add", boosterPacksToAdd, 1, 10);
// cardsToGenerate = EditorGUILayout.IntSlider("Cards to Generate", cardsToGenerate, 1, 100);
// autoOpenPacksWhenAdded = EditorGUILayout.Toggle("Auto-Open Packs When Added", autoOpenPacksWhenAdded);
//
// EditorGUI.EndDisabledGroup();
// }
//
// private void DrawDebugInfo()
// {
// EditorGUILayout.LabelField("Debug Info", EditorStyles.boldLabel);
//
// if (Application.isPlaying)
// {
// EditorGUI.BeginDisabledGroup(true);
// EditorGUILayout.IntField("Current Booster Count", currentBoosterCount);
// EditorGUILayout.IntField("Total Cards in Collection", totalCardsInCollection);
// EditorGUI.EndDisabledGroup();
//
// if (!string.IsNullOrEmpty(lastActionMessage))
// {
// EditorGUILayout.Space(5);
// EditorGUILayout.HelpBox(lastActionMessage, MessageType.None);
// }
//
// EditorGUILayout.Space(5);
// if (GUILayout.Button("Refresh Debug Info"))
// {
// RefreshDebugInfo();
// }
// }
// else
// {
// EditorGUILayout.HelpBox("Debug info available in play mode.", MessageType.Warning);
// }
// }
//
// private void DrawTestActions()
// {
// EditorGUILayout.LabelField("Test Actions", EditorStyles.boldLabel);
//
// if (!Application.isPlaying)
// {
// EditorGUILayout.HelpBox("Enter Play Mode to use these testing functions.", MessageType.Warning);
// return;
// }
//
// // Booster Pack Actions
// EditorGUILayout.Space(5);
// EditorGUILayout.LabelField("Booster Pack Actions", EditorStyles.miniBoldLabel);
//
// if (GUILayout.Button("Add Booster Packs", GUILayout.Height(30)))
// {
// AddBoosterPacks();
// }
//
// if (GUILayout.Button("Open Card Menu", GUILayout.Height(30)))
// {
// SimulateBackpackClick();
// }
//
// if (GUILayout.Button("Open Booster Pack", GUILayout.Height(30)))
// {
// OpenBoosterPack();
// }
//
// if (GUILayout.Button("Open Album View", GUILayout.Height(30)))
// {
// OpenAlbumView();
// }
//
// // Card Generation Actions
// EditorGUILayout.Space(10);
// EditorGUILayout.LabelField("Card Generation Actions", EditorStyles.miniBoldLabel);
//
// if (GUILayout.Button("Generate Random Cards", GUILayout.Height(30)))
// {
// GenerateRandomCards();
// }
//
// EditorGUILayout.Space(5);
//
// // Danger Zone
// EditorGUILayout.Space(10);
// EditorGUILayout.LabelField("Danger Zone", EditorStyles.miniBoldLabel);
//
// GUI.backgroundColor = new Color(1f, 0.6f, 0.6f);
// if (GUILayout.Button("Clear All Cards", GUILayout.Height(30)))
// {
// if (EditorUtility.DisplayDialog("Clear All Cards",
// "Are you sure you want to clear all cards from the inventory? This cannot be undone in this play session.",
// "Clear All", "Cancel"))
// {
// ClearAllCards();
// }
// }
// GUI.backgroundColor = Color.white;
// }
//
// // Refresh the debug information
// private void RefreshDebugInfo()
// {
// if (!Application.isPlaying)
// return;
//
// if (CardSystemManager.Instance != null)
// {
// currentBoosterCount = CardSystemManager.Instance.GetBoosterPackCount();
// totalCardsInCollection = CardSystemManager.Instance.GetCardInventory().GetAllCards().Count;
// Repaint();
// }
// }
//
// private CardAlbumUI GetCardAlbumUI()
// {
// if (cachedCardAlbumUI == null)
// {
// cachedCardAlbumUI = Object.FindAnyObjectByType<CardAlbumUI>();
//
// if (cachedCardAlbumUI == null)
// {
// lastActionMessage = "Error: No CardAlbumUI found in the scene!";
// Debug.LogError("[CardSystemTesterWindow] " + lastActionMessage);
// Repaint();
// }
// }
//
// return cachedCardAlbumUI;
// }
//
// // Test Action Methods
//
// private void AddBoosterPacks()
// {
// if (CardSystemManager.Instance != null)
// {
// CardSystemManager.Instance.AddBoosterPack(boosterPacksToAdd);
// lastActionMessage = $"Added {boosterPacksToAdd} booster pack(s)";
// Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
// RefreshDebugInfo();
//
// if (autoOpenPacksWhenAdded && GetCardAlbumUI() != null)
// {
// SimulateBackpackClick();
// cachedCardAlbumUI.OpenBoosterPack();
// }
// }
// else
// {
// lastActionMessage = "Error: CardSystemManager instance not found!";
// Debug.LogError("[CardSystemTesterWindow] " + lastActionMessage);
// Repaint();
// }
// }
//
// private void SimulateBackpackClick()
// {
// CardAlbumUI cardAlbumUI = GetCardAlbumUI();
//
// if (cardAlbumUI != null)
// {
// if (cardAlbumUI.BackpackIcon != null)
// {
// Button backpackButton = cardAlbumUI.BackpackIcon.GetComponent<Button>();
// if (backpackButton != null)
// {
// backpackButton.onClick.Invoke();
// lastActionMessage = "Opened card menu via backpack click";
// Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
// }
// else
// {
// lastActionMessage = "Failed to find Button component on backpack icon";
// Logging.Warning($"[CardSystemTesterWindow] {lastActionMessage}");
// }
// }
// else
// {
// lastActionMessage = "BackpackIcon reference is null";
// Logging.Warning($"[CardSystemTesterWindow] {lastActionMessage}");
// }
//
// Repaint();
// }
// }
//
// private void OpenBoosterPack()
// {
// CardAlbumUI cardAlbumUI = GetCardAlbumUI();
//
// if (cardAlbumUI != null)
// {
// SimulateBackpackClick();
// cardAlbumUI.OpenBoosterPack();
// lastActionMessage = "Opening booster pack";
// Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
// RefreshDebugInfo();
// }
// }
//
// private void OpenAlbumView()
// {
// CardAlbumUI cardAlbumUI = GetCardAlbumUI();
//
// if (cardAlbumUI != null)
// {
// SimulateBackpackClick();
// cardAlbumUI.OpenAlbumView();
// lastActionMessage = "Opening album view";
// Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
// Repaint();
// }
// }
//
// private void GenerateRandomCards()
// {
// if (CardSystemManager.Instance != null)
// {
// int cardsAdded = 0;
// List<CardDefinition> allDefinitions = CardSystemManager.Instance.GetAllCardDefinitions();
//
// if (allDefinitions.Count == 0)
// {
// lastActionMessage = "Error: No card definitions available";
// Logging.Warning($"[CardSystemTesterWindow] {lastActionMessage}");
// Repaint();
// return;
// }
//
// for (int i = 0; i < cardsToGenerate; i++)
// {
// // Get a random card definition
// CardDefinition randomDef = allDefinitions[Random.Range(0, allDefinitions.Count)];
//
// // Create a card data instance and add it to inventory
// CardData newCard = randomDef.CreateCardData();
// CardSystemManager.Instance.GetCardInventory().AddCard(newCard);
// cardsAdded++;
// }
//
// lastActionMessage = $"Generated {cardsAdded} random cards";
// Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
// RefreshDebugInfo();
// }
// else
// {
// lastActionMessage = "Error: CardSystemManager instance not found!";
// Debug.LogError("[CardSystemTesterWindow] " + lastActionMessage);
// Repaint();
// }
// }
//
// private void ClearAllCards()
// {
// if (CardSystemManager.Instance != null)
// {
// int count = CardSystemManager.Instance.GetCardInventory().GetAllCards().Count;
// CardSystemManager.Instance.GetCardInventory().ClearAllCards();
// lastActionMessage = $"Cleared {count} cards from inventory";
// Logging.Debug($"[CardSystemTesterWindow] {lastActionMessage}");
// RefreshDebugInfo();
// }
// else
// {
// lastActionMessage = "Error: CardSystemManager instance not found!";
// Debug.LogError("[CardSystemTesterWindow] " + lastActionMessage);
// Repaint();
// }
// }
// }
// }
//

View File

@@ -0,0 +1,16 @@
{
"name": "NewAssembly",
"rootNamespace": "",
"references": [
"GUID:75469ad4d38634e559750d17036d5f7c"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 00a9eeae1396ffb488487b1555414c39
PrefabImporter:
guid: 01e2ec214c3a77746b63e6bed18fb3f5
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:

View File

@@ -0,0 +1,18 @@
{
"name": "BookCurlProEditor",
"rootNamespace": "",
"references": [
"GUID:01e2ec214c3a77746b63e6bed18fb3f5"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 06de8e223a669fe48b043983963d1e6a
PrefabImporter:
guid: ebbec1b2d3e78164aab82a7197b80c57
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:

View File

@@ -2,8 +2,7 @@
using UnityEngine.UI;
using UnityEditor;
using UnityEditorInternal;
using System;
using BookCurlPro;
namespace BookCurlPro.BookEditor
{
[CustomEditor(typeof(BookPro))]

View File

@@ -1,7 +1,6 @@
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
using System.Collections;
using System;
#if ENABLE_INPUT_SYSTEM
using UnityEngine.InputSystem;

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -0,0 +1,195 @@
fileFormatVersion: 2
guid: 1ba1f8cf73f79214190f1432fe1e3bc6
TextureImporter:
internalIDToNameTable:
- first:
213: -4354454609415314374
second: tmp_book_icon_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: tmp_book_icon_0
rect:
serializedVersion: 2
x: 1
y: 1
width: 241
height: 239
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: a34ec378a9ed193c0800000000000000
internalID: -4354454609415314374
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
tmp_book_icon_0: -4354454609415314374
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,5 +1,126 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3328334673711213789
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3465647010035704199}
- component: {fileID: 3206273881999762061}
- component: {fileID: 6792061560225254614}
- component: {fileID: 1594910153298508566}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3465647010035704199
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3328334673711213789}
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: 7756731416335055241}
m_Father: {fileID: 1697265395936148565}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: 0, y: -54}
m_SizeDelta: {x: 581.541, y: 115.2408}
m_Pivot: {x: 0.5, y: 1}
--- !u!222 &3206273881999762061
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3328334673711213789}
m_CullTransparentMesh: 1
--- !u!114 &6792061560225254614
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3328334673711213789}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
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: 8052574294374310945, guid: aba32b1063027b54cbe0699bd0103717, type: 3}
m_Type: 0
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!114 &1594910153298508566
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3328334673711213789}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 6792061560225254614}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &4910663499278793308
GameObject:
m_ObjectHideFlags: 0
@@ -35,7 +156,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 257, y: -337}
m_AnchoredPosition: {x: 227, y: -309}
m_SizeDelta: {x: 120, y: 120}
m_Pivot: {x: 0, y: 1}
--- !u!222 &4495982133955726756
@@ -264,6 +385,142 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &6632512895207974269
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7756731416335055241}
- component: {fileID: 6275195555367720142}
- component: {fileID: 8447015834684879930}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7756731416335055241
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6632512895207974269}
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: 3465647010035704199}
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: -50, y: -50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6275195555367720142
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6632512895207974269}
m_CullTransparentMesh: 1
--- !u!114 &8447015834684879930
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6632512895207974269}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
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_text: Open Booster Packs
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4281479730
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 57.75
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7689033351772245041
GameObject:
m_ObjectHideFlags: 0
@@ -478,22 +735,14 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 2088943967680250180}
m_Modifications:
- target: {fileID: 11577427564027410, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
- target: {fileID: 245714044254827964, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11577427564027410, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
- target: {fileID: 245714044254827964, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 245714044254827964, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 1
objectReference: {fileID: 0}
- target: {fileID: 245714044254827964, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 1
objectReference: {fileID: 0}
- target: {fileID: 354607600035887648, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
@@ -532,127 +781,63 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 940172958036390185, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: currentPaper
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1117709548777479279, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 1117709548777479279, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.x
value: 0.96
objectReference: {fileID: 0}
- target: {fileID: 1117709548777479279, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.y
value: 0.81
objectReference: {fileID: 0}
- target: {fileID: 1117709548777479279, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMin.x
value: 0.04
objectReference: {fileID: 0}
- target: {fileID: 1117709548777479279, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMin.y
value: 0.13
objectReference: {fileID: 0}
- target: {fileID: 1117709548777479279, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1117709548777479279, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1117709548777479279, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1117709548777479279, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1196435096259057923, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AspectRatio
value: 5.746085
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2002372344993479961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2002372344993479961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2002372344993479961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2002372344993479961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2002372344993479961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1041129013250623720, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1814392261770930961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2002372344993479961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2002372344993479961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
- target: {fileID: 2764143497267929515, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2002372344993479961, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -0.000025914596
objectReference: {fileID: 0}
- target: {fileID: 3004106929897164530, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
@@ -662,85 +847,21 @@ PrefabInstance:
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3649526799188479339, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3649526799188479339, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3950004379569958527, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3950004379569958527, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4372742364198110318, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4372742364198110318, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4444088510920270135, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4444088510920270135, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4464833982826303632, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4464833982826303632, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4504035233751891846, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4504035233751891846, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4595147288479534988, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
- target: {fileID: 4472203203099481641, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4595147288479534988, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4801661792485082946, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4801661792485082946, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4818168286279510523, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4836143839825264370, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: -0.000025914596
objectReference: {fileID: 0}
- target: {fileID: 5175586549487575510, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0.00003512056
objectReference: {fileID: 0}
- target: {fileID: 5175586549487575510, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -0.000025914596
objectReference: {fileID: 0}
- target: {fileID: 5243065822555536692, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.y
@@ -768,19 +889,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 5248277040230199727, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0.00003512056
objectReference: {fileID: 0}
- target: {fileID: 5248277040230199727, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5740864369558768540, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6083477732306885333, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AspectRatio
value: 1.4193511
value: -0.000025914596
objectReference: {fileID: 0}
- target: {fileID: 6118397063523629647, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
@@ -790,86 +899,6 @@ PrefabInstance:
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6174691196803258491, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6174691196803258491, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6333213924381321352, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6333213924381321352, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6425296795242219645, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6500041249873438682, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6623259642858367936, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6623259642858367936, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6623259642858367936, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6623259642858367936, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6854224722747443595, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7164214386813950394, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7302660959231301708, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7370060547230906347, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7407772544495401238, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7407772544495401238, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7465267902288428017, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7465267902288428017, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7465267902288428017, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7502896730768181988, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AspectRatio
value: 1.4193512
objectReference: {fileID: 0}
- target: {fileID: 7565359468273541417, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_AnchorMax.y
value: 0
@@ -918,26 +947,10 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8025248462678211127, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Name
value: ScrapbookBackgroundImage
objectReference: {fileID: 0}
- target: {fileID: 8047149162982385873, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8047149162982385873, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8104842792958891196, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Name
value: ScrapbookCanvas
objectReference: {fileID: 0}
- target: {fileID: 8347663446715227053, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8368757913024266016, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
@@ -948,11 +961,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 8735060468896104800, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Alpha
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8735060468896104800, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_BlocksRaycasts
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9009119031401934516, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_Pivot.x
@@ -986,18 +999,6 @@ PrefabInstance:
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9009119031401934516, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_LocalScale.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9009119031401934516, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_LocalScale.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9009119031401934516, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_LocalScale.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9009119031401934516, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_LocalPosition.x
value: 0
@@ -1046,17 +1047,12 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9128493599379962314, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9182295536600641219, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: 4595147288479534988, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
insertIndex: -1
addedObject: {fileID: 3465647010035704199}
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
--- !u!114 &330412323780564451 stripped
@@ -1070,6 +1066,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 35bbf9999c1f06348866e3deff9bdbab, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::BookCurlPro.AutoFlip
--- !u!224 &1697265395936148565 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 4595147288479534988, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
m_PrefabInstance: {fileID: 2902811845053789145}
m_PrefabAsset: {fileID: 0}
--- !u!224 &6146861504845471085 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 9009119031401934516, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}

File diff suppressed because it is too large Load Diff

View File

@@ -1,334 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3555924788298046233
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2510839793683184596}
- component: {fileID: 7931090856607470176}
- component: {fileID: 3867938905670777662}
m_Layer: 5
m_Name: NotificationDot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2510839793683184596
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3555924788298046233}
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: 8243838592031101330}
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 &7931090856607470176
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3555924788298046233}
m_CullTransparentMesh: 1
--- !u!114 &3867938905670777662
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3555924788298046233}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
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: 1454986794490068504, guid: dad47d8bcf29e4742803088801ae4b04, type: 3}
m_Type: 0
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 &3813704348964656314
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8243838592031101330}
m_Layer: 5
m_Name: Container
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8243838592031101330
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3813704348964656314}
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: 2510839793683184596}
- {fileID: 912809337432025300}
m_Father: {fileID: 4399514539281523652}
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!1 &4367103374191057909
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 912809337432025300}
- component: {fileID: 2674835159736628855}
- component: {fileID: 7140808185011848511}
m_Layer: 5
m_Name: BoosterCount
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &912809337432025300
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4367103374191057909}
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: 8243838592031101330}
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 &2674835159736628855
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4367103374191057909}
m_CullTransparentMesh: 1
--- !u!114 &7140808185011848511
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4367103374191057909}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
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_text: 1
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 40
m_fontSizeBase: 40
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 1
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6686144552275602124
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4399514539281523652}
- component: {fileID: 7701049314552813552}
- component: {fileID: 6728421751561708195}
m_Layer: 5
m_Name: BoosterNotifications
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4399514539281523652
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6686144552275602124}
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: 8243838592031101330}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 37.5, y: 37.5}
m_SizeDelta: {x: 75, y: 75}
m_Pivot: {x: 1, y: 1}
--- !u!114 &7701049314552813552
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6686144552275602124}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ed8cced1478640229c5a61e3c6bd42df, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.UI.CardSystem.BoosterNotificationDot
dotBackground: {fileID: 3813704348964656314}
countText: {fileID: 7140808185011848511}
hideWhenZero: 1
useAnimation: 1
textPrefix:
textSuffix:
textColor: {r: 1, g: 1, b: 1, a: 1}
useTween: 1
pulseDuration: 0.3
pulseScale: 1.2
animator: {fileID: 6728421751561708195}
animationTrigger: Update
--- !u!95 &6728421751561708195
Animator:
serializedVersion: 7
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6686144552275602124}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 0}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_AnimatePhysics: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0

File diff suppressed because it is too large Load Diff

View File

@@ -65,7 +65,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 2785675867010258551, guid: 58e298cfaf730814a8316c0596cbf0a0, type: 3}
m_Sprite: {fileID: -1693298060938455423, guid: 98e781256598a844c955f322a651807e, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -109,7 +109,6 @@ RectTransform:
- {fileID: 701288322681682632}
- {fileID: 3358104539393755438}
- {fileID: 5403705610400999619}
- {fileID: 790099756778783334}
m_Father: {fileID: 3108957999325520329}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -145,7 +144,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 8670586000075846323, guid: 2a09693b0a87b09498d682d25e8080b1, type: 3}
m_Sprite: {fileID: -2642905903075119301, guid: c293405722d536c4889a97d72085fece, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -235,7 +234,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: -1694013536, guid: c28c2d55edc2fbc4baf57d2672c0c3df, type: 3}
m_Sprite: {fileID: 716150661, guid: 88427f554aebb2a49a9bc9705bb0f7bf, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -291,7 +290,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1802458852284665438}
m_Father: {fileID: 7619421269260494372}
m_Father: {fileID: 701288322681682632}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.07, y: 0.06}
m_AnchorMax: {x: 0.93, y: 0.27}
@@ -381,6 +380,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4210468743547155963}
- {fileID: 790099756778783334}
m_Father: {fileID: 7619421269260494372}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -403,7 +403,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4798100034153273729}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
@@ -416,7 +416,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 2139176427, guid: 2876a4a9ee4ac0147a40b9aef4f5735d, type: 3}
m_Sprite: {fileID: -7781690445634620112, guid: 2049b6df7b55c9d43a65125944ed7c01, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -435,7 +435,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 3108957999325520329}
- component: {fileID: 3415270300443107702}
- component: {fileID: 693510968212398562}
m_Layer: 5
m_Name: Card
m_TagString: Untagged
@@ -461,31 +461,33 @@ RectTransform:
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: 675, y: 900}
m_SizeDelta: {x: 200, y: 2}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!223 &3415270300443107702
Canvas:
--- !u!114 &693510968212398562
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5533787515014034956}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
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: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 72cb26621865420aa763a66c06eb7f6d, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::UI.CardSystem.CardDisplay
cardNameText: {fileID: 7441149886460635393}
cardImage: {fileID: 1081413904764417069}
frameImage: {fileID: 796420825557574687}
overlayImage: {fileID: 3019720862977059694}
backgroundImage: {fileID: 3477072926370298145}
zoneShapeImage: {fileID: 3408254326204982967}
cardData:
Id: fc2c42ee-d801-41c6-9987-0f094a7b2edf
DefinitionId: dc253a1d-23db-4610-b05f-d5a4bffeda77
Rarity: 2
CopiesOwned: 1
visualConfig: {fileID: 11400000, guid: 473a9bc98f6f6684e8023126fc557a88, type: 2}
editorCardDefinition: {fileID: 11400000, guid: ac75dd9d27a925f4c90bbc3b255820e2, type: 2}
--- !u!1 &6526396462000724448
GameObject:
m_ObjectHideFlags: 0
@@ -551,7 +553,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 6144362121687729781, guid: b72b269b732c69a4ebd3fa1564e338ba, type: 3}
m_Sprite: {fileID: -3770539431085108897, guid: 5896d629ac597cd49b8f03037f0dbcb2, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -596,8 +598,8 @@ RectTransform:
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_AnchoredPosition: {x: 2.2666, y: 5.6664}
m_SizeDelta: {x: 0, y: -18.1326}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8948373462880649785
CanvasRenderer:
@@ -627,7 +629,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Long Card Name
m_text: My Test Card
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: ee27431114888c5418c7465f5d4a90bf, type: 2}
m_sharedMaterial: {fileID: -3877009864442004118, guid: ee27431114888c5418c7465f5d4a90bf, type: 2}
@@ -654,10 +656,10 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 0.95663
m_fontSize: 0.1
m_fontSizeBase: 0.95663
m_fontWeight: 400
m_enableAutoSizing: 0
m_enableAutoSizing: 1
m_fontSizeMin: 0.1
m_fontSizeMax: 80
m_fontStyle: 1

View File

@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 840f3d8a936b39a41b5896328a692005
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -12,7 +12,7 @@ GameObject:
- component: {fileID: 8318669147161080742}
- component: {fileID: 5069851050693410091}
m_Layer: 5
m_Name: DCardCanvas
m_Name: Card_WithCanvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -92,6 +92,14 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 6092374155348651304}
m_Modifications:
- target: {fileID: 790099756778783334, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1802458852284665438, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2233823152869352954, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SortingLayer
value: 32709
@@ -122,11 +130,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SizeDelta.x
value: 0
value: 400
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: 600
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_LocalPosition.x
@@ -224,6 +232,22 @@ PrefabInstance:
propertyPath: m_HorizontalFit
value: 2
objectReference: {fileID: 0}
- target: {fileID: 7619421269260494372, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7619421269260494372, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7619421269260494372, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7619421269260494372, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8586733118747829166, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_PreferredWidth
value: 675

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 43be0f1cce1e5ae4d86def9da1fe2822
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,697 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1674595570562273386
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8321041088571283042}
- component: {fileID: 8657710833814654092}
- component: {fileID: 3062587662617271504}
- component: {fileID: 773682364924707625}
- component: {fileID: 5465547774692166910}
- component: {fileID: 2506092559548033437}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8321041088571283042
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1674595570562273386}
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: 1
m_Children:
- {fileID: 7987423280633120294}
- {fileID: 6467154550771149323}
- {fileID: 5853287755371765300}
m_Father: {fileID: 2699789555794789249}
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 &8657710833814654092
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1674595570562273386}
m_CullTransparentMesh: 1
--- !u!114 &3062587662617271504
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1674595570562273386}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
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: -2642905903075119301, guid: c293405722d536c4889a97d72085fece, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1.9
--- !u!114 &773682364924707625
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1674595570562273386}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 86710e43de46f6f4bac7c8e50813a599, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.AspectRatioFitter
m_AspectMode: 2
m_AspectRatio: 0.75
--- !u!223 &5465547774692166910
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1674595570562273386}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
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: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &2506092559548033437
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1674595570562273386}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!1 &2060536854119323360
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8124520331884430719}
- component: {fileID: 2165315952716078155}
- component: {fileID: 2550939788652313610}
m_Layer: 0
m_Name: NameText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8124520331884430719
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2060536854119323360}
m_LocalRotation: {x: -0, y: -0, z: 0.15619579, w: 0.9877261}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7987423280633120294}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 17.972}
m_AnchorMin: {x: 0.1, y: 0.1}
m_AnchorMax: {x: 0.9, y: 0.9}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2165315952716078155
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2060536854119323360}
m_CullTransparentMesh: 1
--- !u!114 &2550939788652313610
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2060536854119323360}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
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_text: Test example card 3
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 4aca0db6ec111b5418bdc747168f9474, type: 2}
m_sharedMaterial: {fileID: -1441574381962284772, guid: 4aca0db6ec111b5418bdc747168f9474, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 62.7
m_fontSizeBase: 15
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &2421709636016798578
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7987423280633120294}
- component: {fileID: 8745186166470585342}
- component: {fileID: 353314911414134125}
m_Layer: 0
m_Name: NameBackground
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7987423280633120294
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2421709636016798578}
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: 1
m_Children:
- {fileID: 8124520331884430719}
m_Father: {fileID: 8321041088571283042}
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: -380}
m_SizeDelta: {x: 521, y: 161}
m_Pivot: {x: 0.5, y: 0}
--- !u!222 &8745186166470585342
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2421709636016798578}
m_CullTransparentMesh: 1
--- !u!114 &353314911414134125
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2421709636016798578}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
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: -3310850967021205615, guid: bf14f631f4b34e74d83c20a1dd671422, type: 3}
m_Type: 0
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 &3326706725254864107
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2699789555794789249}
- component: {fileID: 8725212443281664752}
- component: {fileID: 3914488700080302779}
- component: {fileID: 6599324117435394003}
m_Layer: 5
m_Name: SIngleCardDisplayUI
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2699789555794789249
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3326706725254864107}
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: 8321041088571283042}
m_Father: {fileID: 0}
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: 23.0607}
m_SizeDelta: {x: 698, y: 900}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8725212443281664752
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3326706725254864107}
m_CullTransparentMesh: 1
--- !u!114 &3914488700080302779
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3326706725254864107}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0}
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: 1168924690279934439, guid: ef48d0f74df973948b8a0ffd35cb980e, type: 3}
m_Type: 0
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!114 &6599324117435394003
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3326706725254864107}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: aed7c581bdb84200a05dd8a7df409ab0, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.UI.CardSystem.CardUIElement
cardNameText: {fileID: 2550939788652313610}
cardImage: {fileID: 959067373316088928}
frameImage: {fileID: 1665411369613789579}
backgroundImage: {fileID: 3062587662617271504}
backgroundShape: {fileID: 8871089254192903045}
cardDefinition: {fileID: 11400000, guid: 28dbfbd7a6b2cd84b8274bd1126b220b, type: 2}
cardData:
Id: aca05c10-f25d-4636-95bf-8497c841b95a
DefinitionId: ee1e2aec-bdb6-4c68-8d7a-061c7f5e8583
Rarity: 2
CopiesOwned: 1
visualConfig: {fileID: 11400000, guid: 473a9bc98f6f6684e8023126fc557a88, type: 2}
--- !u!1 &3429746996164215956
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5853287755371765300}
- component: {fileID: 8909872439431770690}
- component: {fileID: 8871089254192903045}
- component: {fileID: 3888758318642584746}
m_Layer: 5
m_Name: BackgroundShape
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5853287755371765300
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3429746996164215956}
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: 1376284209458560831}
m_Father: {fileID: 8321041088571283042}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.1, y: 0.3}
m_AnchorMax: {x: 0.9, y: 0.9}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8909872439431770690
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3429746996164215956}
m_CullTransparentMesh: 1
--- !u!114 &8871089254192903045
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3429746996164215956}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
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: 1182931454153362743, guid: 6abc7d4ad9ecc194ba2358d657afb7ef, type: 3}
m_Type: 0
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!114 &3888758318642584746
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3429746996164215956}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 86710e43de46f6f4bac7c8e50813a599, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.AspectRatioFitter
m_AspectMode: 1
m_AspectRatio: 1
--- !u!1 &5412331388939213537
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1376284209458560831}
- component: {fileID: 9097459168520965074}
- component: {fileID: 959067373316088928}
m_Layer: 5
m_Name: Portrait
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1376284209458560831
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5412331388939213537}
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: 5853287755371765300}
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: 593, y: 576}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9097459168520965074
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5412331388939213537}
m_CullTransparentMesh: 1
--- !u!114 &959067373316088928
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5412331388939213537}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
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: -1694013536, guid: c28c2d55edc2fbc4baf57d2672c0c3df, type: 3}
m_Type: 0
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 &5760001742287037279
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6467154550771149323}
- component: {fileID: 1731110110200268733}
- component: {fileID: 1665411369613789579}
m_Layer: 5
m_Name: BorderFrame
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6467154550771149323
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5760001742287037279}
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: 8321041088571283042}
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: 675, y: 900}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1731110110200268733
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5760001742287037279}
m_CullTransparentMesh: 1
--- !u!114 &1665411369613789579
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5760001742287037279}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
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: -5982761598017616961, guid: 69bf9bb654ffbcf49b64322174a8d389, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2.5

View File

@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 594aad71e4281174da8fb4f47a8d19b0
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d638a1b00d4814b4991b7b61450a7aab
guid: 4684df63af6398f4f9f624a35023f8d2
PrefabImporter:
externalObjects: {}
userData:

View File

@@ -696,7 +696,7 @@ GameObject:
- component: {fileID: 6892135660635252742}
- component: {fileID: 4728145940848048248}
m_Layer: 0
m_Name: ScrapBookSpine
m_Name: ScrapbookBackgroundImage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -783,7 +783,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 9009119031401934516}
- component: {fileID: 8952525623137932580}
- component: {fileID: 8054267005327878439}
m_Layer: 0
m_Name: Scrapbook
@@ -801,7 +800,7 @@ RectTransform:
m_GameObject: {fileID: 8104842792958891196}
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_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2002372344993479961}
@@ -813,29 +812,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!223 &8952525623137932580
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8104842792958891196}
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: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &8054267005327878439
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -1010,19 +986,19 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1712632483266053997, guid: e75d8fea6a39a9f49ac66c3fdaa1c53a, type: 3}
propertyPath: m_AnchorMax.x
value: 1
value: 0.96
objectReference: {fileID: 0}
- target: {fileID: 1712632483266053997, guid: e75d8fea6a39a9f49ac66c3fdaa1c53a, type: 3}
propertyPath: m_AnchorMax.y
value: 1
value: 0.81
objectReference: {fileID: 0}
- target: {fileID: 1712632483266053997, guid: e75d8fea6a39a9f49ac66c3fdaa1c53a, type: 3}
propertyPath: m_AnchorMin.x
value: 0
value: 0.04
objectReference: {fileID: 0}
- target: {fileID: 1712632483266053997, guid: e75d8fea6a39a9f49ac66c3fdaa1c53a, type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 0.13
objectReference: {fileID: 0}
- target: {fileID: 1712632483266053997, guid: e75d8fea6a39a9f49ac66c3fdaa1c53a, type: 3}
propertyPath: m_SizeDelta.x

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -148,7 +148,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 6c59c766505c4342983594dbe19f3db0, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.Tests.CardSystemTester
cardAlbumUI: {fileID: 1148731766}
cardAlbumUI: {fileID: 0}
boosterPacksToAdd: 3
cardsToGenerate: 10
autoOpenPacksWhenAdded: 0
@@ -170,7 +170,7 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &305924151
--- !u!1001 &445623521
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@@ -178,286 +178,247 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 983415425082270079, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 983415425082270079, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 983415425082270079, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.x
value: 1300
objectReference: {fileID: 0}
- target: {fileID: 983415425082270079, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.y
value: -450
objectReference: {fileID: 0}
- target: {fileID: 1593702389427837575, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1804752920503555062, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 986705326607357273, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1804752920503555062, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 986705326607357273, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1804752920503555062, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1804752920503555062, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1936850923066780126, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 986705326607357273, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.x
value: 341.5
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1936850923066780126, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_SizeDelta.y
value: 150
objectReference: {fileID: 0}
- target: {fileID: 2570593642998705886, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2570593642998705886, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2570593642998705886, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.x
value: 325
objectReference: {fileID: 0}
- target: {fileID: 2570593642998705886, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.y
value: -75
objectReference: {fileID: 0}
- target: {fileID: 3195101190817619953, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3195101190817619953, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3195101190817619953, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.x
value: 75
objectReference: {fileID: 0}
- target: {fileID: 3195101190817619953, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.y
value: -75
objectReference: {fileID: 0}
- target: {fileID: 3946857190585013200, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3946857190585013200, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3946857190585013200, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_SizeDelta.x
value: 300
objectReference: {fileID: 0}
- target: {fileID: 3946857190585013200, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 986705326607357273, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3946857190585013200, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.y
value: -220
objectReference: {fileID: 0}
- target: {fileID: 4062459998181038721, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_Name
value: LevelConfirmMenu
objectReference: {fileID: 0}
- target: {fileID: 4062459998181038721, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_IsActive
- target: {fileID: 986705326607357273, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4665108827297585533, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AspectRatio
value: 0.001
objectReference: {fileID: 0}
- target: {fileID: 4841071245403604065, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4841071245403604065, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4841071245403604065, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.x
value: 75
objectReference: {fileID: 0}
- target: {fileID: 4841071245403604065, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 986705326607357273, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.y
value: -75
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5003708969225410361, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_SizeDelta.x
value: 1700
objectReference: {fileID: 0}
- target: {fileID: 5003708969225410361, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_SizeDelta.y
value: 900
objectReference: {fileID: 0}
- target: {fileID: 5003708969225410361, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0.0002746582
objectReference: {fileID: 0}
- target: {fileID: 5275008271445494810, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_SizeDelta.x
value: 400
objectReference: {fileID: 0}
- target: {fileID: 5275008271445494810, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_SizeDelta.y
value: 150
objectReference: {fileID: 0}
- target: {fileID: 5315106633118420968, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_SizeDelta.x
value: 150
objectReference: {fileID: 0}
- target: {fileID: 5315106633118420968, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_SizeDelta.y
value: 150
objectReference: {fileID: 0}
- target: {fileID: 5334678823793530471, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 1013222998564726555, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMax.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5334678823793530471, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 1013222998564726555, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMin.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5334678823793530471, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.x
value: 400
objectReference: {fileID: 0}
- target: {fileID: 5334678823793530471, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.y
value: -450
objectReference: {fileID: 0}
- target: {fileID: 5620538142629867345, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5620538142629867345, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5620538142629867345, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.x
value: 75
objectReference: {fileID: 0}
- target: {fileID: 5620538142629867345, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.y
value: -75
objectReference: {fileID: 0}
- target: {fileID: 5992029148489394405, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 1013222998564726555, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.x
value: 450
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7086790971941574277, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 1013222998564726555, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1013222998564726555, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1013222998564726555, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3283099424197577028, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3283099424197577028, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3283099424197577028, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3283099424197577028, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3283099424197577028, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3283099424197577028, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7104076737882304566, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7727649523464928408, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7727649523464928408, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7727649523464928408, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7727649523464928408, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7727649523464928408, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7727649523464928408, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7837783635706916021, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7837783635706916021, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7837783635706916021, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7837783635706916021, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7837783635706916021, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7837783635706916021, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_Pivot.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_LocalPosition.x
value: -28.8398
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7086790971941574277, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_LocalPosition.y
value: -37.90449
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7086790971941574277, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7086790971941574277, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7086790971941574277, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7086790971941574277, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7086790971941574277, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7086790971941574277, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7086790971941574277, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7086790971941574277, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8113036759791843642, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7194927419615479525, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8962991431592255329, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8962991431592255329, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8962991431592255329, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.x
value: 0.45000002
objectReference: {fileID: 0}
- target: {fileID: 8787466095535248061, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8787466095535248061, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMin.y
- target: {fileID: 8962991431592255329, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8787466095535248061, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8962991431592255329, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8787466095535248061, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
- target: {fileID: 8962991431592255329, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9220948749313234647, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMax.y
value: 1
- target: {fileID: 9076822654798104907, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_Name
value: ScrapBookMenu
objectReference: {fileID: 0}
- target: {fileID: 9220948749313234647, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9220948749313234647, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.x
value: 266.5
objectReference: {fileID: 0}
- target: {fileID: 9220948749313234647, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
propertyPath: m_AnchoredPosition.y
value: -75
- target: {fileID: 9116743700651247977, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
--- !u!114 &1148731766 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 2276827791912418824, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
m_PrefabInstance: {fileID: 7454556111239468018}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe5ff32f529d4f24a2064ee1dfa07758, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::AppleHills.UI.CardSystem.CardAlbumUI
m_SourcePrefab: {fileID: 100100000, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
--- !u!1 &1860325688
GameObject:
m_ObjectHideFlags: 0
@@ -595,112 +556,90 @@ MonoBehaviour:
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
m_Version: 2
--- !u!1001 &7454556111239468018
PrefabInstance:
--- !u!1 &2067824740
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2067824743}
- component: {fileID: 2067824742}
- component: {fileID: 2067824741}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &2067824741
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2067824740}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.UI.InputSystemUIInputModule
m_SendPointerHoverToParent: 1
m_MoveRepeatDelay: 0.5
m_MoveRepeatRate: 0.1
m_XRTrackingOrigin: {fileID: 0}
m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_PointAction: {fileID: -1654692200621890270, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_MoveAction: {fileID: -8784545083839296357, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_SubmitAction: {fileID: 392368643174621059, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_CancelAction: {fileID: 7727032971491509709, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_LeftClickAction: {fileID: 3001919216989983466, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_MiddleClickAction: {fileID: -2185481485913320682, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_RightClickAction: {fileID: -4090225696740746782, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_ScrollWheelAction: {fileID: 6240969308177333660, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_TrackedDevicePositionAction: {fileID: 6564999863303420839, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_TrackedDeviceOrientationAction: {fileID: 7970375526676320489, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_DeselectOnBackgroundClick: 1
m_PointerBehavior: 0
m_CursorLockBehavior: 0
m_ScrollDeltaPerTick: 6
--- !u!114 &2067824742
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2067824740}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.EventSystems.EventSystem
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &2067824743
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2067824740}
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 6895404274863911569, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_Name
value: CardSystem
objectReference: {fileID: 0}
- target: {fileID: 6895404274863911569, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_Pivot.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7586531588264964688, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 840f3d8a936b39a41b5896328a692005, type: 3}
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 7454556111239468018}
- {fileID: 1860325691}
- {fileID: 205824280}
- {fileID: 305924151}
- {fileID: 2067824743}
- {fileID: 445623521}

View File

@@ -10,7 +10,8 @@
"Unity.TextMeshPro",
"OptimizedRope",
"Unity.Cinemachine",
"AudioSourceEvents"
"AudioSourceEvents",
"NewAssembly"
],
"includePlatforms": [],
"excludePlatforms": [],

View File

@@ -22,15 +22,6 @@ namespace AppleHills.Data.CardSystem
public CardZone Zone => _definition?.Zone ?? CardZone.AppleHills;
public int CollectionIndex => _definition?.CollectionIndex ?? 0;
public Sprite CardImage => _definition?.CardImage;
// Derived properties
public Color BackgroundColor => _definition?.GetBackgroundColor() ?? Color.white;
// Get frame shape based on rarity
public string GetFrameShapeName()
{
return $"Frame_{Rarity}";
}
// Default constructor
public CardData()
@@ -97,11 +88,9 @@ namespace AppleHills.Data.CardSystem
// Enums for card attributes
public enum CardRarity
{
Common = 0,
Uncommon = 1,
Rare = 2,
Epic = 3,
Legendary = 4
Normal = 0,
Rare = 1,
Legendary = 2
}
public enum CardZone

View File

@@ -16,6 +16,13 @@ namespace AppleHills.Data.CardSystem
[Header("Basic Info")]
public string Name;
[Tooltip("Use a custom file name instead of the card name")]
public bool UseCustomFileName = false;
[Tooltip("Custom file name (only used if UseCustomFileName is true)")]
public string CustomFileName = "";
[TextArea(3, 5)]
public string Description;
public CardRarity Rarity;
@@ -34,29 +41,6 @@ namespace AppleHills.Data.CardSystem
{
return new CardData(this);
}
/// <summary>
/// Gets the background color for this card based on its zone
/// </summary>
public Color GetBackgroundColor()
{
// Colors based on zone
switch (Zone)
{
case CardZone.AppleHills:
return new Color(0.8f, 0.9f, 0.8f); // Light green
case CardZone.Quarry:
return new Color(0.85f, 0.8f, 0.7f); // Sandy brown
case CardZone.Forest:
return new Color(0.6f, 0.8f, 0.6f); // Forest green
case CardZone.Mountain:
return new Color(0.7f, 0.7f, 0.9f); // Bluish
case CardZone.Beach:
return new Color(0.9f, 0.85f, 0.7f); // Sandy yellow
default:
return Color.white;
}
}
public override bool Equals(object obj)
{

View File

@@ -259,14 +259,12 @@ namespace Data.CardSystem
/// </summary>
private CardRarity DetermineRandomRarity()
{
// Simple weighted random - can be adjusted for better distribution
// Weighted random for 3 rarities
float rand = UnityEngine.Random.value;
if (rand < 0.6f) return CardRarity.Common;
if (rand < 0.85f) return CardRarity.Uncommon;
if (rand < 0.95f) return CardRarity.Rare;
if (rand < 0.99f) return CardRarity.Epic;
return CardRarity.Legendary;
if (rand < 0.70f) return CardRarity.Normal; // 70% chance
if (rand < 0.95f) return CardRarity.Rare; // 25% chance
return CardRarity.Legendary; // 5% chance
}
/// <summary>

View File

@@ -7,37 +7,47 @@ namespace AppleHills.Data.CardSystem
{
/// <summary>
/// ScriptableObject containing visual configuration for card display
/// Maps card rarities to colors and zones to colors/shapes
/// Maps card rarities to frames/overlays and zones to backgrounds/shapes
/// </summary>
[CreateAssetMenu(fileName = "CardVisualConfig", menuName = "AppleHills/Card System/Visual Config")]
public class CardVisualConfig : ScriptableObject
{
[Serializable]
public class RarityColorMapping
public class RarityVisualMapping
{
public CardRarity rarity;
public Color color = Color.white;
[Tooltip("Frame image for this rarity")]
public Sprite frame;
[Tooltip("Overlay image for this rarity (can be null)")]
public Sprite overlay;
}
[Serializable]
public class ZoneVisualMapping
{
public CardZone zone;
public Color color = Color.white;
public Sprite backgroundShape;
[Tooltip("Background image for this zone")]
public Sprite background;
[Tooltip("Shape sprite for Normal rarity cards in this zone")]
public Sprite shapeNormal;
[Tooltip("Shape sprite for Rare rarity cards in this zone")]
public Sprite shapeRare;
}
[Header("Rarity Configuration")]
[Tooltip("Color mappings for different card rarities")]
[SerializeField] private List<RarityColorMapping> rarityColors = new List<RarityColorMapping>();
[Tooltip("Visual mappings for different card rarities (frames and overlays)")]
[SerializeField] private List<RarityVisualMapping> rarityVisuals = new List<RarityVisualMapping>();
[Header("Zone Configuration")]
[Tooltip("Visual mappings for different card zones")]
[Tooltip("Visual mappings for different card zones (backgrounds and shapes)")]
[SerializeField] private List<ZoneVisualMapping> zoneVisuals = new List<ZoneVisualMapping>();
private Dictionary<CardRarity, Color> _rarityColorLookup;
private Dictionary<CardZone, Color> _zoneColorLookup;
private Dictionary<CardZone, Sprite> _zoneShapeLookup;
[Header("Legendary Override")]
[Tooltip("Background used for all Legendary cards, regardless of zone")]
[SerializeField] private Sprite legendaryBackground;
private Dictionary<CardRarity, RarityVisualMapping> _rarityLookup;
private Dictionary<CardZone, ZoneVisualMapping> _zoneLookup;
/// <summary>
/// Initialize the lookup dictionaries when the asset is loaded
@@ -52,81 +62,94 @@ namespace AppleHills.Data.CardSystem
/// </summary>
private void InitializeLookups()
{
// Build rarity color lookup
_rarityColorLookup = new Dictionary<CardRarity, Color>();
foreach (var mapping in rarityColors)
// Build rarity visual lookup
_rarityLookup = new Dictionary<CardRarity, RarityVisualMapping>();
foreach (var mapping in rarityVisuals)
{
_rarityColorLookup[mapping.rarity] = mapping.color;
_rarityLookup[mapping.rarity] = mapping;
}
// Build zone color and shape lookups
_zoneColorLookup = new Dictionary<CardZone, Color>();
_zoneShapeLookup = new Dictionary<CardZone, Sprite>();
// Build zone visual lookup
_zoneLookup = new Dictionary<CardZone, ZoneVisualMapping>();
foreach (var mapping in zoneVisuals)
{
_zoneColorLookup[mapping.zone] = mapping.color;
_zoneShapeLookup[mapping.zone] = mapping.backgroundShape;
_zoneLookup[mapping.zone] = mapping;
}
}
/// <summary>
/// Get the color for a specific card rarity
/// Get the frame sprite for a specific card rarity
/// </summary>
public Color GetRarityColor(CardRarity rarity)
public Sprite GetRarityFrame(CardRarity rarity)
{
// Initialize lookups if needed
if (_rarityColorLookup == null)
if (_rarityLookup == null) InitializeLookups();
if (_rarityLookup.TryGetValue(rarity, out RarityVisualMapping mapping))
{
InitializeLookups();
return mapping.frame;
}
// Return the color if found, otherwise white
if (_rarityColorLookup.TryGetValue(rarity, out Color color))
{
return color;
}
Logging.Warning($"[CardVisualConfig] No color mapping found for rarity {rarity}, using default");
return Color.white;
Logging.Warning($"[CardVisualConfig] No frame mapping found for rarity {rarity}");
return null;
}
/// <summary>
/// Get the color for a specific card zone
/// Get the overlay sprite for a specific card rarity (can be null)
/// </summary>
public Color GetZoneColor(CardZone zone)
public Sprite GetRarityOverlay(CardRarity rarity)
{
// Initialize lookups if needed
if (_zoneColorLookup == null)
if (_rarityLookup == null) InitializeLookups();
if (_rarityLookup.TryGetValue(rarity, out RarityVisualMapping mapping))
{
InitializeLookups();
return mapping.overlay;
}
// Return the color if found, otherwise white
if (_zoneColorLookup.TryGetValue(zone, out Color color))
{
return color;
}
Logging.Warning($"[CardVisualConfig] No color mapping found for zone {zone}, using default");
return Color.white;
return null;
}
/// <summary>
/// Get the background shape sprite for a specific zone
/// Get the background sprite for a card based on zone and rarity
/// Legendary cards always use the legendary background override
/// </summary>
public Sprite GetZoneShape(CardZone zone)
public Sprite GetBackground(CardZone zone, CardRarity rarity)
{
// Initialize lookups if needed
if (_zoneShapeLookup == null)
if (_zoneLookup == null) InitializeLookups();
// Legendary cards use special background
if (rarity == CardRarity.Legendary)
{
InitializeLookups();
return legendaryBackground;
}
// Return the sprite if found, otherwise null
if (_zoneShapeLookup.TryGetValue(zone, out Sprite sprite))
// Normal and Rare cards use zone background
if (_zoneLookup.TryGetValue(zone, out ZoneVisualMapping mapping))
{
return sprite;
return mapping.background;
}
Logging.Warning($"[CardVisualConfig] No background mapping found for zone {zone}");
return null;
}
/// <summary>
/// Get the shape sprite for a card based on zone and rarity
/// Legendary cards don't display shapes (returns null)
/// </summary>
public Sprite GetZoneShape(CardZone zone, CardRarity rarity)
{
if (_zoneLookup == null) InitializeLookups();
// Legendary cards don't have shapes
if (rarity == CardRarity.Legendary)
{
return null;
}
if (_zoneLookup.TryGetValue(zone, out ZoneVisualMapping mapping))
{
// Return shape based on rarity
return rarity == CardRarity.Rare ? mapping.shapeRare : mapping.shapeNormal;
}
Logging.Warning($"[CardVisualConfig] No shape mapping found for zone {zone}");
@@ -135,47 +158,26 @@ namespace AppleHills.Data.CardSystem
#if UNITY_EDITOR
/// <summary>
/// Editor-only utility to reset the config with default values
/// Editor-only utility to initialize the config with default structure
/// </summary>
public void ResetWithDefaults()
public void InitializeDefaults()
{
// Clear existing mappings
rarityColors.Clear();
rarityVisuals.Clear();
zoneVisuals.Clear();
// Add default rarity colors
rarityColors.Add(new RarityColorMapping { rarity = CardRarity.Common, color = Color.gray });
rarityColors.Add(new RarityColorMapping { rarity = CardRarity.Uncommon, color = Color.green });
rarityColors.Add(new RarityColorMapping { rarity = CardRarity.Rare, color = Color.blue });
rarityColors.Add(new RarityColorMapping { rarity = CardRarity.Epic, color = new Color(0.5f, 0, 0.5f) });
rarityColors.Add(new RarityColorMapping { rarity = CardRarity.Legendary, color = Color.yellow });
// Add entries for all rarities
foreach (CardRarity rarity in Enum.GetValues(typeof(CardRarity)))
{
rarityVisuals.Add(new RarityVisualMapping { rarity = rarity });
}
// Add entries for all zones
foreach (CardZone zone in Enum.GetValues(typeof(CardZone)))
{
zoneVisuals.Add(new ZoneVisualMapping { zone = zone });
}
// Add default zone colors
zoneVisuals.Add(new ZoneVisualMapping {
zone = CardZone.AppleHills,
color = new Color(0.8f, 0.9f, 0.8f)
});
zoneVisuals.Add(new ZoneVisualMapping {
zone = CardZone.Quarry,
color = new Color(0.85f, 0.8f, 0.7f)
});
zoneVisuals.Add(new ZoneVisualMapping {
zone = CardZone.Forest,
color = new Color(0.6f, 0.8f, 0.6f)
});
zoneVisuals.Add(new ZoneVisualMapping {
zone = CardZone.Mountain,
color = new Color(0.7f, 0.7f, 0.9f)
});
zoneVisuals.Add(new ZoneVisualMapping {
zone = CardZone.Beach,
color = new Color(0.9f, 0.85f, 0.7f)
});
// Initialize the lookups
InitializeLookups();
}
@@ -193,9 +195,9 @@ namespace AppleHills.Data.CardSystem
CardVisualConfig config = (CardVisualConfig)target;
UnityEditor.EditorGUILayout.Space();
if (GUILayout.Button("Reset with Defaults"))
if (GUILayout.Button("Initialize Default Structure"))
{
config.ResetWithDefaults();
config.InitializeDefaults();
UnityEditor.EditorUtility.SetDirty(config);
}
}

View File

@@ -1,4 +1,5 @@
using UnityEngine;
/*
using UnityEngine;
using AppleHills.Data.CardSystem;
using System.Collections.Generic;
using UnityEditor;
@@ -15,8 +16,8 @@ namespace AppleHills.Tests
/// </summary>
public class CardSystemTester : MonoBehaviour
{
[Header("References")]
[SerializeField] private CardAlbumUI cardAlbumUI;
// [Header("References")]
[SerializeField] private GameObject cardAlbumUI;
[Header("Test Settings")]
[SerializeField] [Range(1, 10)] private int boosterPacksToAdd = 3;
@@ -30,13 +31,13 @@ namespace AppleHills.Tests
private void Awake()
{
// Auto-find references if needed
if (cardAlbumUI == null)
cardAlbumUI = FindAnyObjectByType<CardAlbumUI>();
// Log missing references
if (cardAlbumUI == null)
Debug.LogError("CardSystemTester: No CardAlbumUI found in the scene!");
// // Auto-find references if needed
// if (cardAlbumUI == null)
// cardAlbumUI = FindAnyObjectByType<CardAlbumUI>();
//
// // Log missing references
// if (cardAlbumUI == null)
// Debug.LogError("CardSystemTester: No CardAlbumUI found in the scene!");
}
private void Start()
@@ -249,3 +250,4 @@ public class ReadOnlyDrawer : PropertyDrawer
}
}
#endif
*/

View File

@@ -1,9 +1,4 @@
using System.Collections.Generic;
using AppleHills.Data.CardSystem;
using Core;
using Data.CardSystem;
using Pixelplacement;
using TMPro;
using Pixelplacement;
using UI.Core;
using UnityEngine;
using UnityEngine.UI;
@@ -15,259 +10,60 @@ namespace UI.CardSystem
/// </summary>
public class AlbumViewPage : UIPage
{
[Header("Album UI Elements")]
[SerializeField] private GridLayoutGroup albumGrid;
[SerializeField] private GameObject cardPrefab;
[Header("Filter UI")]
[SerializeField] private TMP_Dropdown zoneFilterDropdown;
[SerializeField] private TMP_Dropdown rarityFilterDropdown;
[SerializeField] private Button resetFiltersButton;
[SerializeField] private CanvasGroup canvasGroup;
[Header("Navigation")]
[SerializeField] private Button backButton;
// Runtime references
private CardSystemManager _cardManager;
private List<CardUIElement> _displayedCards = new List<CardUIElement>();
[SerializeField] private Button exitButton;
[SerializeField] private BookCurlPro.BookPro book;
private void Awake()
{
_cardManager = CardSystemManager.Instance;
// Make sure we have a CanvasGroup for transitions
if (canvasGroup == null)
canvasGroup = GetComponent<CanvasGroup>();
if (canvasGroup == null)
canvasGroup = gameObject.AddComponent<CanvasGroup>();
// Set up back button
if (backButton != null)
// Set up exit button
if (exitButton != null)
{
backButton.onClick.AddListener(OnBackButtonClicked);
exitButton.onClick.AddListener(OnExitButtonClicked);
}
// UI pages should start disabled
gameObject.SetActive(false);
}
private void OnDestroy()
{
if (exitButton != null)
{
exitButton.onClick.RemoveListener(OnExitButtonClicked);
}
}
/// <summary>
/// Sets up the album when the page becomes active
/// </summary>
public override void TransitionIn()
private void OnExitButtonClicked()
{
base.TransitionIn();
// Initialize the album when the page becomes active
InitializeAlbum();
}
/// <summary>
/// Initializes the album with the player's collection
/// </summary>
private void InitializeAlbum()
{
// Clear any previous setup
ClearAlbum();
// Setup filter UI
InitializeFilters();
// Get all collected cards
List<CardData> collectedCards = _cardManager.GetAllCollectedCards();
// If there are cards to display, create UI elements for them
if (collectedCards.Count > 0)
if (book != null && book.CurrentPaper != 1)
{
// Create card UI elements
DisplayCards(collectedCards);
}
}
/// <summary>
/// Creates UI elements for the player's collected cards
/// </summary>
private void DisplayCards(List<CardData> cards)
{
if (albumGrid == null || cardPrefab == null) return;
// Sort cards by collection index
cards.Sort((a, b) => a.CollectionIndex.CompareTo(b.CollectionIndex));
// Create card UI elements
foreach (var cardData in cards)
{
GameObject cardObj = Instantiate(cardPrefab, albumGrid.transform);
// Configure the card UI with the card data
CardUIElement cardUI = cardObj.GetComponent<CardUIElement>();
if (cardUI != null)
// Not on page 0, flip to page 0 first
BookCurlPro.AutoFlip autoFlip = book.GetComponent<BookCurlPro.AutoFlip>();
if (autoFlip == null)
{
cardUI.SetupCard(cardData);
_displayedCards.Add(cardUI);
}
}
}
/// <summary>
/// Clears all card UI elements from the album
/// </summary>
private void ClearAlbum()
{
foreach (var card in _displayedCards)
{
if (card != null && card.gameObject != null)
Destroy(card.gameObject);
}
_displayedCards.Clear();
}
/// <summary>
/// Initializes filter dropdowns
/// </summary>
private void InitializeFilters()
{
// Setup zone filter dropdown
if (zoneFilterDropdown != null)
{
zoneFilterDropdown.ClearOptions();
// Add "All Zones" option
List<string> zoneOptions = new List<string>() { "All Zones" };
// Add options for each zone
foreach (CardZone zone in System.Enum.GetValues(typeof(CardZone)))
{
zoneOptions.Add(zone.ToString());
autoFlip = book.gameObject.AddComponent<BookCurlPro.AutoFlip>();
}
zoneFilterDropdown.AddOptions(zoneOptions);
zoneFilterDropdown.onValueChanged.AddListener(OnFilterChanged);
}
// Setup rarity filter dropdown
if (rarityFilterDropdown != null)
{
rarityFilterDropdown.ClearOptions();
// Add "All Rarities" option
List<string> rarityOptions = new List<string>() { "All Rarities" };
// Add options for each rarity
foreach (CardRarity rarity in System.Enum.GetValues(typeof(CardRarity)))
{
rarityOptions.Add(rarity.ToString());
}
rarityFilterDropdown.AddOptions(rarityOptions);
rarityFilterDropdown.onValueChanged.AddListener(OnFilterChanged);
}
// Setup reset filters button
if (resetFiltersButton != null)
{
resetFiltersButton.onClick.AddListener(OnResetFiltersClicked);
}
}
/// <summary>
/// Handles changes to the filter dropdowns
/// </summary>
private void OnFilterChanged(int value)
{
ApplyFilters();
}
/// <summary>
/// Resets all filters to their default values
/// </summary>
private void OnResetFiltersClicked()
{
if (zoneFilterDropdown != null)
zoneFilterDropdown.value = 0;
if (rarityFilterDropdown != null)
rarityFilterDropdown.value = 0;
ApplyFilters();
}
/// <summary>
/// Applies the current filter selections to the displayed cards
/// </summary>
private void ApplyFilters()
{
// Clear current cards
ClearAlbum();
// Get selected filters
CardZone? selectedZone = null;
CardRarity? selectedRarity = null;
// Get zone filter value
if (zoneFilterDropdown != null && zoneFilterDropdown.value > 0)
{
selectedZone = (CardZone)(zoneFilterDropdown.value - 1);
}
// Get rarity filter value
if (rarityFilterDropdown != null && rarityFilterDropdown.value > 0)
{
selectedRarity = (CardRarity)(rarityFilterDropdown.value - 1);
}
// Get filtered cards
List<CardData> filteredCards = GetFilteredCards(selectedZone, selectedRarity);
// Create card UI elements for the filtered cards
DisplayCards(filteredCards);
Logging.Debug($"[AlbumViewPage] Applied filters. Showing {filteredCards.Count} cards.");
}
/// <summary>
/// Gets cards filtered by zone and/or rarity
/// </summary>
private List<CardData> GetFilteredCards(CardZone? zone, CardRarity? rarity)
{
List<CardData> result;
// Get all collected cards
if (zone == null && rarity == null)
{
// No filters, return all cards
result = _cardManager.GetAllCollectedCards();
}
else if (zone != null && rarity != null)
{
// Both filters, get cards by zone and rarity
result = _cardManager.GetCardsByZoneAndRarity(zone.Value, rarity.Value);
}
else if (zone != null)
{
// Only zone filter
result = _cardManager.GetCardsByZone(zone.Value);
autoFlip.enabled = true;
autoFlip.StartFlipping(1);
}
else
{
// Only rarity filter
result = _cardManager.GetCardsByRarity(rarity.Value);
}
return result;
}
/// <summary>
/// Handles click on the back button
/// </summary>
private void OnBackButtonClicked()
{
// Use the UIPageController to go back to the previous page
UIPageController pageController = UIPageController.Instance;
if (pageController != null)
{
pageController.PopPage();
// Already on page 0 or no book reference, exit
if (UIPageController.Instance != null)
{
UIPageController.Instance.PopPage();
}
}
}
protected override void DoTransitionIn(System.Action onComplete)
{
// Simple fade in animation
@@ -282,7 +78,7 @@ namespace UI.CardSystem
onComplete?.Invoke();
}
}
protected override void DoTransitionOut(System.Action onComplete)
{
// Simple fade out animation
@@ -296,42 +92,5 @@ namespace UI.CardSystem
onComplete?.Invoke();
}
}
private void OnDestroy()
{
// Clean up button listeners
if (backButton != null)
{
backButton.onClick.RemoveListener(OnBackButtonClicked);
}
if (zoneFilterDropdown != null)
{
zoneFilterDropdown.onValueChanged.RemoveListener(OnFilterChanged);
}
if (rarityFilterDropdown != null)
{
rarityFilterDropdown.onValueChanged.RemoveListener(OnFilterChanged);
}
if (resetFiltersButton != null)
{
resetFiltersButton.onClick.RemoveListener(OnResetFiltersClicked);
}
}
private void OnEnable()
{
if (_cardManager == null)
{
_cardManager = CardSystemManager.Instance;
}
}
public void ExitAlbum()
{
UIPageController.Instance.PopPage();
}
}
}

View File

@@ -0,0 +1,128 @@
using System;
using BookCurlPro;
using UnityEngine;
using UnityEngine.UI;
using Tween = Pixelplacement.Tween;
namespace UI.CardSystem
{
/// <summary>
/// Tab button for navigating to specific pages in the card album book.
/// Coordinates with other tabs via static events for visual feedback.
/// </summary>
[RequireComponent(typeof(Button))]
public class BookTabButton : MonoBehaviour
{
[Header("Book Reference")]
[SerializeField] private BookPro book;
[Header("Tab Configuration")]
[SerializeField] private int targetPage;
[Header("Visual Settings")]
[SerializeField] private bool enableScaling = true;
[SerializeField] private float selectedScale = 2.0f;
[SerializeField] private float normalScale = 1.0f;
[SerializeField] private float scaleTransitionDuration = 0.2f;
private Button button;
private RectTransform rectTransform;
private Vector2 originalSize;
// Static dispatcher for coordinating all tabs
private static event Action<BookTabButton> OnTabClicked;
private void Awake()
{
// Get required components
button = GetComponent<Button>();
rectTransform = GetComponent<RectTransform>();
// Cache original size
originalSize = rectTransform.sizeDelta;
// Register button click
button.onClick.AddListener(OnButtonClicked);
// Subscribe to static tab event
OnTabClicked += OnAnyTabClicked;
}
private void OnDestroy()
{
// Cleanup listeners
if (button != null)
{
button.onClick.RemoveListener(OnButtonClicked);
}
OnTabClicked -= OnAnyTabClicked;
}
private void OnButtonClicked()
{
if (book == null)
{
Debug.LogWarning($"[BookTabButton] No BookPro reference assigned on {gameObject.name}");
return;
}
// Notify all tabs that this one was clicked
OnTabClicked?.Invoke(this);
// Flip to target page using AutoFlip
BookCurlPro.AutoFlip autoFlip = book.GetComponent<BookCurlPro.AutoFlip>();
if (autoFlip == null)
{
autoFlip = book.gameObject.AddComponent<BookCurlPro.AutoFlip>();
}
autoFlip.enabled = true;
autoFlip.StartFlipping(targetPage);
}
private void OnAnyTabClicked(BookTabButton clickedTab)
{
// Skip scaling if disabled
if (!enableScaling) return;
// Scale this tab based on whether it was clicked
if (clickedTab == this)
{
SetScale(selectedScale);
}
else
{
SetScale(normalScale);
}
}
private void SetScale(float targetScale)
{
Vector2 targetSize = originalSize * targetScale;
// Use Pixelplacement Tween for smooth size change
Tween.Value(rectTransform.sizeDelta, targetSize,
(Vector2 value) => rectTransform.sizeDelta = value,
scaleTransitionDuration, 0f, Tween.EaseInOut);
}
// Public method to programmatically trigger this tab
public void ActivateTab()
{
OnButtonClicked();
}
#if UNITY_EDITOR
private void OnValidate()
{
// Ensure target page is non-negative
if (targetPage < 0)
{
targetPage = 0;
}
}
#endif
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ff50caabb55742bc8d24a6ddffeda815
timeCreated: 1762385754

View File

@@ -1,186 +0,0 @@
using Pixelplacement;
using Pixelplacement.TweenSystem;
using TMPro;
using UnityEngine;
namespace UI.CardSystem
{
/// <summary>
/// Manages a notification dot that displays a count (e.g., booster packs)
/// Can be reused across different UI elements that need to show numeric notifications
/// </summary>
public class BoosterNotificationDot : MonoBehaviour
{
[Header("UI References")]
[SerializeField] private GameObject dotBackground;
[SerializeField] private TextMeshProUGUI countText;
[Header("Settings")]
[SerializeField] private bool hideWhenZero = true;
[SerializeField] private bool useAnimation = false;
[SerializeField] private string textPrefix = "";
[SerializeField] private string textSuffix = "";
[SerializeField] private Color textColor = Color.white;
[Header("Animation")]
[SerializeField] private bool useTween = true;
[SerializeField] private float pulseDuration = 0.3f;
[SerializeField] private float pulseScale = 1.2f;
// Optional animator reference
[SerializeField] private Animator animator;
[SerializeField] private string animationTrigger = "Update";
// Current count value
private int _currentCount;
private Vector3 _originalScale;
private TweenBase _activeTween;
private void Awake()
{
// Store original scale for pulse animation
if (dotBackground != null)
{
_originalScale = dotBackground.transform.localScale;
}
// Apply text color
if (countText != null)
{
countText.color = textColor;
}
// Initial setup based on current count
SetCount(_currentCount);
}
/// <summary>
/// Sets the count displayed on the notification dot
/// Also handles visibility based on settings
/// </summary>
public void SetCount(int count)
{
bool countChanged = count != _currentCount;
_currentCount = count;
// Update text
if (countText != null)
{
countText.text = textPrefix + count.ToString() + textSuffix;
}
// Handle visibility
if (hideWhenZero)
{
SetVisibility(count > 0);
}
// Play animation if value changed and animation is enabled
if (countChanged && count > 0)
{
if (useAnimation)
{
Animate();
}
}
}
/// <summary>
/// Gets the current count value
/// </summary>
public int GetCount()
{
return _currentCount;
}
/// <summary>
/// Set text formatting options
/// </summary>
public void SetFormatting(string prefix, string suffix, Color color)
{
textPrefix = prefix;
textSuffix = suffix;
textColor = color;
if (countText != null)
{
countText.color = color;
// Update text with new formatting
countText.text = textPrefix + _currentCount.ToString() + textSuffix;
}
}
/// <summary>
/// Explicitly control the notification dot visibility
/// </summary>
public void SetVisibility(bool isVisible)
{
if (dotBackground != null)
{
dotBackground.SetActive(isVisible);
}
if (countText != null)
{
countText.gameObject.SetActive(isVisible);
}
}
/// <summary>
/// Show the notification dot
/// </summary>
public void Show()
{
SetVisibility(true);
}
/// <summary>
/// Hide the notification dot
/// </summary>
public void Hide()
{
SetVisibility(false);
}
/// <summary>
/// Play animation manually - either using Animator or Tween
/// </summary>
public void Animate()
{
if (useAnimation)
{
if (animator != null)
{
animator.SetTrigger(animationTrigger);
}
else if (useTween && dotBackground != null)
{
// Cancel any existing tweens on this transform
_activeTween.Cancel();
// Reset to original scale
dotBackground.transform.localScale = _originalScale;
// Pulse animation using Tween
_activeTween = Tween.LocalScale(dotBackground.transform,
_originalScale * pulseScale,
pulseDuration/2,
0,
Tween.EaseOut,
Tween.LoopType.None,
null,
() => {
// Scale back to original size
Tween.LocalScale(dotBackground.transform,
_originalScale,
pulseDuration/2,
0,
Tween.EaseIn);
},
obeyTimescale: false);
}
}
}
}
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: ed8cced1478640229c5a61e3c6bd42df
timeCreated: 1760710148

View File

@@ -1,626 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using AppleHills.Data.CardSystem;
using Core;
using Data.CardSystem;
using Pixelplacement;
using UI.Core;
using UnityEngine;
using UnityEngine.UI;
namespace UI.CardSystem
{
/// <summary>
/// UI page for opening booster packs and displaying the cards obtained.
/// </summary>
public class BoosterOpeningPage : UIPage
{
[Header("UI Elements")]
[SerializeField] private GameObject boosterPackObject;
[SerializeField] private RectTransform cardRevealContainer; // This should have a HorizontalLayoutGroup component with pre-populated card backs
[SerializeField] private GameObject cardPrefab;
[SerializeField] private Button openBoosterButton;
[SerializeField] private Button continueButton;
[SerializeField] private CanvasGroup canvasGroup;
[Header("Navigation")]
[SerializeField] private Button backButton;
[Header("Animation Settings")]
[SerializeField] private float cardRevealDelay = 0.3f;
[SerializeField] private float flipAnimationDuration = 0.5f;
// State tracking
private enum OpeningState
{
BoosterReady,
CardBacksVisible,
CardsRevealing,
CardsRevealed,
MovingToBackpack,
Completed
}
private OpeningState _currentState = OpeningState.BoosterReady;
private List<CardUIElement> _revealedCards = new List<CardUIElement>();
private List<Button> _cardBackButtons = new List<Button>();
private List<CardData> _boosterCards = new List<CardData>();
private int _revealedCardCount = 0;
private CardSystemManager _cardManager;
private CardAlbumUI _cardAlbumUI;
private Coroutine _moveToBackpackCoroutine;
private void Awake()
{
_cardManager = CardSystemManager.Instance;
_cardAlbumUI = FindFirstObjectByType<CardAlbumUI>();
// Set up button listeners
if (openBoosterButton != null)
{
openBoosterButton.onClick.AddListener(OnOpenBoosterClicked);
}
if (continueButton != null)
{
continueButton.onClick.AddListener(OnContinueClicked);
continueButton.gameObject.SetActive(false);
}
// Set up back button
if (backButton != null)
{
backButton.onClick.AddListener(OnBackButtonClicked);
}
// Make sure we have a CanvasGroup for transitions
if (canvasGroup == null)
canvasGroup = GetComponent<CanvasGroup>();
if (canvasGroup == null)
canvasGroup = gameObject.AddComponent<CanvasGroup>();
// Cache card back buttons from container
CacheCardBackButtons();
// Initially hide all card backs
HideAllCardBacks();
}
/// <summary>
/// Cache all card back buttons from the container
/// </summary>
private void CacheCardBackButtons()
{
_cardBackButtons.Clear();
if (cardRevealContainer != null)
{
// Get all buttons in the container (these are our card backs)
Button[] buttonsInContainer = cardRevealContainer.GetComponentsInChildren<Button>(true);
_cardBackButtons.AddRange(buttonsInContainer);
Debug.Log($"[BoosterOpeningPage] Found {_cardBackButtons.Count} card back buttons in container");
}
else
{
Debug.LogError("[BoosterOpeningPage] Card reveal container is null, can't find card backs!");
}
}
/// <summary>
/// Hides all card backs in the container
/// </summary>
private void HideAllCardBacks()
{
foreach (var cardBack in _cardBackButtons)
{
if (cardBack != null && cardBack.gameObject != null)
{
cardBack.gameObject.SetActive(false);
}
}
}
private void OnDestroy()
{
// Clean up button listeners
if (openBoosterButton != null)
{
openBoosterButton.onClick.RemoveListener(OnOpenBoosterClicked);
}
if (continueButton != null)
{
continueButton.onClick.RemoveListener(OnContinueClicked);
}
if (backButton != null)
{
backButton.onClick.RemoveListener(OnBackButtonClicked);
}
// Stop any running coroutines
if (_moveToBackpackCoroutine != null)
StopCoroutine(_moveToBackpackCoroutine);
}
/// <summary>
/// Handles click on the back button
/// </summary>
private void OnBackButtonClicked()
{
// Don't allow going back during animations or card reveals
if (_currentState == OpeningState.CardsRevealing ||
_currentState == OpeningState.MovingToBackpack)
{
return;
}
// Use the UIPageController to go back to the previous page
UIPageController pageController = UIPageController.Instance;
if (pageController != null)
{
pageController.PopPage();
}
}
/// <summary>
/// Resets the page to its initial state when it becomes active
/// </summary>
public override void TransitionIn()
{
base.TransitionIn();
ResetState();
}
/// <summary>
/// Resets the state of the booster opening process
/// </summary>
private void ResetState()
{
// Clear any previously revealed cards
foreach (var card in _revealedCards)
{
if (card != null && card.gameObject != null)
Destroy(card.gameObject);
}
_revealedCards.Clear();
// Re-cache card backs in case they changed
CacheCardBackButtons();
// Reset all card backs - both visibility and scale
foreach (var cardBack in _cardBackButtons)
{
if (cardBack != null && cardBack.gameObject != null)
{
cardBack.gameObject.SetActive(false);
cardBack.transform.localScale = Vector3.one; // Reset scale
cardBack.transform.localRotation = Quaternion.identity; // Reset rotation
}
}
// Reset state
_currentState = OpeningState.BoosterReady;
_revealedCardCount = 0;
_boosterCards.Clear();
// Show booster pack, show open button, hide continue button
if (boosterPackObject != null)
{
boosterPackObject.SetActive(true);
boosterPackObject.transform.localScale = Vector3.one; // Reset scale
boosterPackObject.transform.localRotation = Quaternion.identity; // Reset rotation
}
if (openBoosterButton != null)
{
openBoosterButton.gameObject.SetActive(true);
}
if (continueButton != null)
{
continueButton.gameObject.SetActive(false);
continueButton.transform.localScale = Vector3.one; // Reset scale
}
// Make back button visible
if (backButton != null)
{
backButton.gameObject.SetActive(true);
}
Debug.Log("[BoosterOpeningPage] State reset complete, all scales and rotations reset to defaults");
}
/// <summary>
/// Handles click on the booster pack to open it
/// </summary>
private void OnOpenBoosterClicked()
{
if (_currentState != OpeningState.BoosterReady) return;
_currentState = OpeningState.CardBacksVisible;
// Open the booster pack and get the cards
_boosterCards = _cardManager.OpenBoosterPack();
if (_boosterCards.Count > 0)
{
// Hide the booster pack and open button
if (boosterPackObject != null)
{
// Animate the booster pack opening
Tween.LocalScale(boosterPackObject.transform, Vector3.zero, 0.3f, 0f, Tween.EaseInBack, Tween.LoopType.None, null, () => {
boosterPackObject.SetActive(false);
}, obeyTimescale: false);
}
if (openBoosterButton != null)
{
openBoosterButton.gameObject.SetActive(false);
}
// Show card backs first
StartCoroutine(ShowCardBacks());
}
else
{
Logging.Warning("[BoosterOpeningPage] No cards were obtained from the booster pack.");
UIPageController.Instance.PopPage();
}
}
/// <summary>
/// Shows card backs in the reveal positions
/// </summary>
private IEnumerator ShowCardBacks()
{
// Wait a short delay before showing card backs
yield return new WaitForSeconds(0.5f);
// Check if we have proper container setup
if (cardRevealContainer == null)
{
Debug.LogError("[BoosterOpeningPage] Card reveal container is null!");
yield break;
}
// Check if we found any card backs
if (_cardBackButtons.Count == 0)
{
Debug.LogError("[BoosterOpeningPage] No card back buttons found in container!");
yield break;
}
// Determine how many cards to show based on the booster cards and available card backs
int cardsToShow = Mathf.Min(_boosterCards.Count, _cardBackButtons.Count);
// Activate and animate the card backs
for (int i = 0; i < cardsToShow; i++)
{
Button cardBack = _cardBackButtons[i];
if (cardBack == null) continue;
GameObject cardBackObj = cardBack.gameObject;
// Ensure the card back is active
cardBackObj.SetActive(true);
// Store the index for later reference when clicked
int cardIndex = i;
// Configure the button
cardBack.onClick.RemoveAllListeners(); // Clear any previous listeners
cardBack.onClick.AddListener(() => OnCardBackClicked(cardIndex));
// Set initial scale to zero for animation
cardBackObj.transform.localScale = Vector3.zero;
Debug.Log($"[BoosterOpeningPage] Card back {i} activated");
// Play reveal animation using Pixelplacement.Tween
Tween.LocalScale(cardBackObj.transform, Vector3.one, 0.5f, 0f, Tween.EaseOutBack, obeyTimescale: false);
// Wait for animation delay
yield return new WaitForSeconds(cardRevealDelay);
}
// Update state
_currentState = OpeningState.CardBacksVisible;
Debug.Log($"[BoosterOpeningPage] All {cardsToShow} card backs should now be visible");
}
/// <summary>
/// Handles click on a card back to reveal the card
/// </summary>
private void OnCardBackClicked(int cardIndex)
{
Logging.Debug($"[BoosterOpeningPage] Card back clicked at index {cardIndex}");
// Only respond to clicks when in the appropriate state
if (_currentState != OpeningState.CardBacksVisible)
{
Logging.Warning($"[BoosterOpeningPage] Card clicked in wrong state: {_currentState}");
return;
}
// Ensure the index is valid
if (cardIndex < 0 || cardIndex >= _boosterCards.Count || cardIndex >= _cardBackButtons.Count)
{
Debug.LogError($"[BoosterOpeningPage] Invalid card index: {cardIndex}");
return;
}
// Get the card data and card back
CardData cardData = _boosterCards[cardIndex];
Button cardBack = _cardBackButtons[cardIndex];
// Start the reveal animation for this specific card
StartCoroutine(RevealCard(cardIndex, cardData, cardBack.gameObject));
}
/// <summary>
/// Reveals an individual card with animation
/// </summary>
private IEnumerator RevealCard(int cardIndex, CardData cardData, GameObject cardBack)
{
if (cardBack == null)
yield break;
// Start flip animation
Transform cardBackTransform = cardBack.transform;
// Step 1: Flip the card 90 degrees (showing the edge)
Tween.LocalRotation(cardBackTransform, new Vector3(0, 90, 0), flipAnimationDuration * 0.5f, 0, obeyTimescale: false);
// Wait for half the flip duration
yield return new WaitForSeconds(flipAnimationDuration * 0.5f);
// Step 2: Hide the card back and show the actual card
cardBack.SetActive(false);
// Instantiate the card prefab at the same position
if (cardPrefab != null)
{
// Instantiate the card in the same parent as the card back and at the same position
GameObject cardObj = Instantiate(cardPrefab, cardBack.transform.parent);
cardObj.transform.SetSiblingIndex(cardBackTransform.GetSiblingIndex()); // Keep the same order in hierarchy
cardObj.transform.position = cardBackTransform.position; // Same world position
// Set initial rotation to continue the flip animation
cardObj.transform.localRotation = Quaternion.Euler(0, 90, 0);
// Configure the card UI with the card data
CardUIElement cardUI = cardObj.GetComponent<CardUIElement>();
if (cardUI != null)
{
cardUI.SetupCard(cardData);
_revealedCards.Add(cardUI);
// Play special effects based on card rarity
PlayRevealEffect(cardObj, cardData.Rarity);
}
// Step 3: Finish the flip animation (from 90 degrees to 0)
Tween.LocalRotation(cardObj.transform, Vector3.zero, flipAnimationDuration * 0.5f, 0, obeyTimescale: false);
// Increment counter of revealed cards
_revealedCardCount++;
// Update state if all cards are revealed
if (_revealedCardCount >= _boosterCards.Count)
{
_currentState = OpeningState.CardsRevealed;
// Show continue button after a short delay
StartCoroutine(ShowContinueButton());
}
}
}
/// <summary>
/// Plays reveal effect for a card based on its rarity
/// </summary>
private void PlayRevealEffect(GameObject cardObject, CardRarity rarity)
{
// Add visual effect based on rarity
if (rarity >= CardRarity.Rare)
{
// For rare cards and above, add a particle effect
var particleSystem = cardObject.GetComponentInChildren<ParticleSystem>();
if (particleSystem != null)
{
particleSystem.Play();
}
// Scale up and down for emphasis
Transform cardTransform = cardObject.transform;
Vector3 originalScale = cardTransform.localScale;
// Sequence: Scale up slightly, then back to normal
Tween.LocalScale(cardTransform, originalScale * 1.2f, 0.2f, 0.1f, Tween.EaseOutBack, obeyTimescale: false);
Tween.LocalScale(cardTransform, originalScale, 0.15f, 0.3f, Tween.EaseIn, obeyTimescale: false);
// Play sound effect based on rarity (if available)
// This would require audio source components to be set up
}
}
/// <summary>
/// Shows the continue button after all cards are revealed
/// </summary>
private IEnumerator ShowContinueButton()
{
// Wait for a moment to let the user see all cards
yield return new WaitForSeconds(1.0f);
if (continueButton != null)
{
// Show the continue button with a nice animation
continueButton.gameObject.SetActive(true);
continueButton.transform.localScale = Vector3.zero;
Tween.LocalScale(continueButton.transform, Vector3.one, 0.3f, 0f, Tween.EaseOutBack, obeyTimescale: false);
}
}
/// <summary>
/// Handles click on the continue button
/// </summary>
private void OnContinueClicked()
{
if (_currentState != OpeningState.CardsRevealed) return;
_currentState = OpeningState.MovingToBackpack;
// Hide continue button
if (continueButton != null)
{
continueButton.gameObject.SetActive(false);
}
// Hide back button during transition
if (backButton != null)
{
backButton.gameObject.SetActive(false);
}
// Start animation to move cards to backpack
_moveToBackpackCoroutine = StartCoroutine(MoveCardsToBackpack());
}
/// <summary>
/// Animates cards moving to the backpack icon
/// </summary>
private IEnumerator MoveCardsToBackpack()
{
// Find the backpack button GameObject
GameObject backpackButton = null;
Transform backpackTransform = null;
if (_cardAlbumUI != null && _cardAlbumUI.BackpackIcon != null)
{
// Get the backpack icon
GameObject backpackIcon = _cardAlbumUI.BackpackIcon;
backpackTransform = backpackIcon.transform;
// Find the parent button that controls visibility
backpackButton = backpackIcon.transform.parent.gameObject;
// Make sure the backpack button is visible for the animation
if (backpackButton != null)
{
backpackButton.SetActive(true);
Debug.Log("[BoosterOpeningPage] Made backpack button visible for animation");
}
}
if (backpackTransform == null)
{
// If no backpack is found, just return to the menu
UIPageController.Instance.PopPage();
yield break;
}
// Speed up the animation by reducing the delay
float animationDuration = 0.3f; // Faster animation duration
float cardDelay = 0.15f; // Even shorter delay between cards
// Move each card to the backpack with slight delay between cards
for (int i = 0; i < _revealedCards.Count; i++)
{
CardUIElement card = _revealedCards[i];
if (card != null)
{
// Get the world position of the backpack
Vector3 backpackWorldPos = backpackTransform.position;
// Convert to local space of the card's parent for Tween
Vector3 targetPos = card.transform.parent.InverseTransformPoint(backpackWorldPos);
// Start the move animation - ensure no cancellation between animations
Tween.LocalPosition(card.transform, targetPos, animationDuration, cardDelay * i, Tween.EaseInOut, obeyTimescale: false);
Tween.LocalScale(card.transform, Vector3.zero, animationDuration, cardDelay * i, Tween.EaseIn, obeyTimescale: false);
Debug.Log($"[BoosterOpeningPage] Starting animation for card {i}");
}
// Only wait after starting each animation (don't wait after the last one)
if (i < _revealedCards.Count - 1)
{
yield return new WaitForSeconds(cardDelay);
}
}
// Calculate total animation time and wait for it to complete
float totalAnimationTime = cardDelay * (_revealedCards.Count - 1) + animationDuration;
yield return new WaitForSeconds(totalAnimationTime + 0.1f); // Small buffer to ensure animations complete
// The backpack visibility will be handled by CardAlbumUI's OnPageChanged after popping this page
// We don't need to explicitly hide it here as the system will handle it properly
// Update state
_currentState = OpeningState.Completed;
// Return to the menu
UIPageController.Instance.PopPage();
}
/// <summary>
/// Override for transition in animation using Pixelplacement.Tween
/// </summary>
protected override void DoTransitionIn(System.Action onComplete)
{
// Simple fade in animation
if (canvasGroup != null)
{
canvasGroup.alpha = 0f;
Tween.Value(0f, 1f, (value) => canvasGroup.alpha = value, transitionDuration, 0f, Tween.EaseInOut, Tween.LoopType.None, null, onComplete, obeyTimescale: false);
}
else
{
// Fallback if no CanvasGroup
onComplete?.Invoke();
}
}
/// <summary>
/// Override for transition out animation using Pixelplacement.Tween
/// </summary>
protected override void DoTransitionOut(System.Action onComplete)
{
// Simple fade out animation
if (canvasGroup != null)
{
Tween.Value(canvasGroup.alpha, 0f, (value) => canvasGroup.alpha = value, transitionDuration, 0f, Tween.EaseInOut, Tween.LoopType.None, null, onComplete, obeyTimescale: false);
}
else
{
// Fallback if no CanvasGroup
onComplete?.Invoke();
}
}
/// <summary>
/// OnEnable override to ensure proper initialization
/// </summary>
private void OnEnable()
{
if (_cardManager == null)
{
_cardManager = CardSystemManager.Instance;
}
if (_cardAlbumUI == null)
{
_cardAlbumUI = FindFirstObjectByType<CardAlbumUI>();
}
// Re-cache card backs in case they changed while disabled
CacheCardBackButtons();
}
}
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: f64698442ba344e0a466ee3c530797c7
timeCreated: 1759923862

View File

@@ -0,0 +1,72 @@
using UI.Core;
using UnityEngine;
using UnityEngine.UI;
namespace UI.CardSystem
{
/// <summary>
/// Opens the card album view when the button is pressed.
/// Attach this to a top-level GameObject in the scene.
/// </summary>
public class CardAlbumOpener : MonoBehaviour
{
[Header("References")]
[SerializeField] private Button openAlbumButton;
[SerializeField] private AlbumViewPage albumViewPage;
private void Awake()
{
if (openAlbumButton != null)
{
openAlbumButton.onClick.AddListener(OnOpenAlbumClicked);
}
}
private void Start()
{
if (UIPageController.Instance != null)
{
UIPageController.Instance.OnPageChanged += OnPageChanged;
}
}
private void OnDisable()
{
if (UIPageController.Instance != null)
{
UIPageController.Instance.OnPageChanged -= OnPageChanged;
}
}
private void OnDestroy()
{
if (openAlbumButton != null)
{
openAlbumButton.onClick.RemoveListener(OnOpenAlbumClicked);
}
}
private void OnOpenAlbumClicked()
{
if (openAlbumButton != null)
{
openAlbumButton.gameObject.SetActive(false);
}
if (albumViewPage != null && UIPageController.Instance != null)
{
UIPageController.Instance.PushPage(albumViewPage);
}
}
private void OnPageChanged(UIPage currentPage)
{
// If the album page is no longer active, show the button again
if (currentPage != albumViewPage && openAlbumButton != null)
{
openAlbumButton.gameObject.SetActive(true);
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 4b3b63118ebc48d6b8f28cd69d96191e
timeCreated: 1762384087

View File

@@ -1,340 +0,0 @@
using AppleHills.Data.CardSystem;
using Bootstrap;
using Core;
using Data.CardSystem;
using Pixelplacement;
using UI.Core;
using UnityEngine;
using UnityEngine.UI;
namespace UI.CardSystem
{
/// <summary>
/// Main UI controller for the card album system.
/// Manages the backpack icon and navigation between card system pages.
/// </summary>
public class CardAlbumUI : MonoBehaviour
{
[Header("UI References")]
[SerializeField] private GameObject backpackIcon;
[SerializeField] private UIPage mainMenuPage;
[SerializeField] private UIPage albumViewPage;
[SerializeField] private UIPage boosterOpeningPage;
[Header("UI Elements")]
[SerializeField] private Button backpackButton;
[SerializeField] private BoosterNotificationDot boosterNotificationDot;
[Header("Notification Settings")]
[SerializeField] private AudioSource notificationSound;
// Public property to access the backpack icon for animations
public GameObject BackpackIcon => backpackIcon;
private UIPageController PageController => UIPageController.Instance;
private CardSystemManager _cardManager;
private bool _hasUnseenCards;
private void Awake()
{
// Set up backpack button
if (backpackButton != null)
{
backpackButton.onClick.AddListener(OnBackpackButtonClicked);
}
// Hide notification dot initially
if (boosterNotificationDot != null)
boosterNotificationDot.gameObject.SetActive(false);
// Register for post-boot initialization
BootCompletionService.RegisterInitAction(InitializePostBoot);
}
private void InitializePostBoot()
{
// Initially show only the backpack icon
ShowOnlyBackpackIcon();
// Initialize pages and hide them
InitializePages();
// React to global UI hide/show events (top-page only) by toggling this GameObject
if (UIPageController.Instance != null)
{
UIPageController.Instance.OnAllUIHidden += HandleAllUIHidden;
UIPageController.Instance.OnAllUIShown += HandleAllUIShown;
}
}
private void Start()
{
// Get card manager
_cardManager = CardSystemManager.Instance;
// Subscribe to events
if (_cardManager != null)
{
_cardManager.OnBoosterCountChanged += UpdateBoosterCount;
_cardManager.OnBoosterOpened += HandleBoosterOpened;
_cardManager.OnCardCollected += HandleCardCollected;
_cardManager.OnCardRarityUpgraded += HandleCardRarityUpgraded;
// Initialize UI with current values
UpdateBoosterCount(_cardManager.GetBoosterPackCount());
}
}
private void OnDestroy()
{
// Unsubscribe from events
if (_cardManager != null)
{
_cardManager.OnBoosterCountChanged -= UpdateBoosterCount;
_cardManager.OnBoosterOpened -= HandleBoosterOpened;
_cardManager.OnCardCollected -= HandleCardCollected;
_cardManager.OnCardRarityUpgraded -= HandleCardRarityUpgraded;
}
// Clean up button listeners
if (backpackButton != null)
{
backpackButton.onClick.RemoveListener(OnBackpackButtonClicked);
}
// Unsubscribe from page controller events
if (PageController != null)
{
PageController.OnPageChanged -= OnPageChanged;
}
// Unsubscribe from global UI hide/show events
if (UIPageController.Instance != null)
{
UIPageController.Instance.OnAllUIHidden -= HandleAllUIHidden;
UIPageController.Instance.OnAllUIShown -= HandleAllUIShown;
}
}
/// <summary>
/// Initializes all UI pages and sets them up with proper callbacks
/// </summary>
private void InitializePages()
{
// Ensure all pages are inactive at start
if (mainMenuPage != null)
{
mainMenuPage.gameObject.SetActive(false);
}
if (albumViewPage != null)
{
albumViewPage.gameObject.SetActive(false);
}
if (boosterOpeningPage != null)
{
boosterOpeningPage.gameObject.SetActive(false);
}
// Set up page changed callback
if (PageController != null)
{
PageController.OnPageChanged += OnPageChanged;
}
}
/// <summary>
/// Handles click on the backpack icon
/// </summary>
private void OnBackpackButtonClicked()
{
// Play button sound if available
if (notificationSound != null)
notificationSound.Play();
PageController.PushPage(mainMenuPage);
// Clear notification for unseen cards when opening menu
if (_hasUnseenCards)
{
_hasUnseenCards = false;
}
// Hide the backpack button when entering menu
if (backpackButton != null)
{
backpackButton.gameObject.SetActive(false);
}
GameManager.Instance.RequestPause(this);
}
/// <summary>
/// Handles changes to the current page
/// </summary>
private void OnPageChanged(UIPage newPage)
{
// Hide/show backpack icon based on current page
if (newPage == null)
{
ShowOnlyBackpackIcon();
GameManager.Instance.ReleasePause(this);
}
else
{
// Check if any page in the stack has "Card" or "Album" in the name
bool hasCardOrAlbumPage = false;
if (PageController != null && PageController.PageStack != null)
{
foreach (var page in PageController.PageStack)
{
if (page != null && page.PageName != null)
{
if (page.PageName.Contains("Card") || page.PageName.Contains("Album"))
{
hasCardOrAlbumPage = true;
break;
}
}
}
}
// Hide backpack button if there's a card/album page in the stack
if (backpackButton != null)
{
backpackButton.gameObject.SetActive(!hasCardOrAlbumPage);
}
}
// Update menu if it's the main menu page
if (newPage == mainMenuPage && mainMenuPage is CardMenuPage menuPage)
{
// Force UI refresh when returning to main menu
menuPage.RefreshUI();
}
}
/// <summary>
/// Shows only the backpack icon, hiding all other UI elements
/// </summary>
private void ShowOnlyBackpackIcon()
{
if (backpackButton != null)
{
backpackButton.gameObject.SetActive(true);
// Update notification visibility based on booster count
bool hasBooters = _cardManager != null && _cardManager.GetBoosterPackCount() > 0;
// Show notification dot if there are boosters or unseen cards
if (boosterNotificationDot != null)
{
boosterNotificationDot.gameObject.SetActive(hasBooters || _hasUnseenCards);
}
}
}
/// <summary>
/// Opens the album view page
/// </summary>
public void OpenAlbumView()
{
PageController.PushPage(albumViewPage);
}
/// <summary>
/// Opens the booster opening page if boosters are available
/// </summary>
public void OpenBoosterPack()
{
if (_cardManager != null && _cardManager.GetBoosterPackCount() > 0)
{
PageController.PushPage(boosterOpeningPage);
}
else
{
Logging.Debug("[CardAlbumUI] No booster packs available");
}
}
/// <summary>
/// Updates the booster count display
/// </summary>
private void UpdateBoosterCount(int count)
{
if (boosterNotificationDot != null)
{
boosterNotificationDot.SetCount(count);
// Animate the notification dot for feedback
boosterNotificationDot.transform.localScale = Vector3.one * 1.2f;
Tween.LocalScale(boosterNotificationDot.transform, Vector3.one, 0.3f, 0f, obeyTimescale: false);
// Update visibility based on count
UpdateBoosterVisibility();
}
}
/// <summary>
/// Updates the visibility of the booster notification dot based on current state
/// </summary>
private void UpdateBoosterVisibility()
{
if (boosterNotificationDot != null)
{
// Show dot if there are boosters or unseen cards
bool hasBooters = _cardManager != null && _cardManager.GetBoosterPackCount() > 0;
boosterNotificationDot.gameObject.SetActive(hasBooters || _hasUnseenCards);
}
}
/// <summary>
/// Handles event when a booster pack is opened
/// </summary>
private void HandleBoosterOpened(System.Collections.Generic.List<CardData> cards)
{
Logging.Debug($"[CardAlbumUI] Booster opened with {cards.Count} cards");
// The booster opening page handles the UI for this event
}
/// <summary>
/// Handles event when a new card is collected
/// </summary>
private void HandleCardCollected(CardData card)
{
// If we're not in the album view or booster opening view,
// show a notification dot on the backpack
if (PageController.CurrentPage != albumViewPage &&
PageController.CurrentPage != boosterOpeningPage)
{
_hasUnseenCards = true;
UpdateBoosterVisibility();
}
Logging.Debug($"[CardAlbumUI] New card collected: {card.Name}");
}
/// <summary>
/// Handles event when a card is upgraded to a higher rarity
/// </summary>
private void HandleCardRarityUpgraded(CardData card)
{
// Just log the upgrade event without showing a notification
Logging.Debug($"[CardAlbumUI] Card upgraded: {card.Name} to {card.Rarity}");
}
// Handlers for UI controller hide/show events — toggle this GameObject active state
private void HandleAllUIHidden()
{
// Ensure UI returns to backpack-only state before deactivating so we don't leave the game paused
ShowOnlyBackpackIcon();
backpackButton.gameObject.SetActive(false);
}
private void HandleAllUIShown()
{
backpackButton.gameObject.SetActive(true);
}
}
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: fe5ff32f529d4f24a2064ee1dfa07758
timeCreated: 1759923763

View File

@@ -0,0 +1,303 @@
using System;
using AppleHills.Data.CardSystem;
using Core;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
#if UNITY_EDITOR
using UnityEditor;
#endif
namespace UI.CardSystem
{
/// <summary>
/// Displays a single card using the new visual system with frames, overlays, backgrounds, and zone shapes.
/// </summary>
public class CardDisplay : MonoBehaviour
{
[Header("UI Elements")]
[SerializeField] private TextMeshProUGUI cardNameText;
[SerializeField] private Image cardImage;
[SerializeField] private Image frameImage;
[SerializeField] private Image overlayImage;
[SerializeField] private Image backgroundImage;
[SerializeField] private Image zoneShapeImage;
[Header("Card Data")]
[SerializeField] private CardData cardData;
[Header("Visual Settings")]
[SerializeField] private CardVisualConfig visualConfig;
#if UNITY_EDITOR
[Header("Editor Tools")]
[SerializeField] private CardDefinition editorCardDefinition;
#endif
// Events
public event Action<CardDisplay> OnCardClicked;
/// <summary>
/// Sets up the card display with the given card data
/// </summary>
public void SetupCard(CardData data)
{
if (data == null)
{
Logging.Warning("[CardDisplay] Attempted to setup card with null data");
return;
}
cardData = data;
UpdateCardVisuals();
}
/// <summary>
/// Updates all visual elements based on current card data
/// </summary>
private void UpdateCardVisuals()
{
if (cardData == null)
{
ClearCard();
return;
}
if (visualConfig == null)
{
Logging.Warning("[CardDisplay] No CardVisualConfig assigned. Visuals may not display correctly.");
}
// Update text
UpdateCardName();
// Update main card image
UpdateCardImage();
// Update rarity-based visuals (frame and overlay)
UpdateRarityVisuals();
// Update zone-based visuals (background and shape)
UpdateZoneVisuals();
Logging.Debug($"[CardDisplay] Updated visuals for card: {cardData.Name} (Rarity: {cardData.Rarity}, Zone: {cardData.Zone})");
}
/// <summary>
/// Updates the card name text
/// </summary>
private void UpdateCardName()
{
if (cardNameText != null)
{
cardNameText.text = cardData.Name ?? "Unknown Card";
}
}
/// <summary>
/// Updates the main card image
/// </summary>
private void UpdateCardImage()
{
if (cardImage != null)
{
if (cardData.CardImage != null)
{
cardImage.sprite = cardData.CardImage;
cardImage.enabled = true;
}
else
{
cardImage.sprite = null;
cardImage.enabled = false;
}
}
}
/// <summary>
/// Updates frame and overlay based on card rarity
/// </summary>
private void UpdateRarityVisuals()
{
if (visualConfig == null) return;
// Update frame
if (frameImage != null)
{
Sprite frameSprite = visualConfig.GetRarityFrame(cardData.Rarity);
if (frameSprite != null)
{
frameImage.sprite = frameSprite;
frameImage.enabled = true;
}
else
{
frameImage.enabled = false;
}
}
// Update overlay (can be null for some rarities)
if (overlayImage != null)
{
Sprite overlaySprite = visualConfig.GetRarityOverlay(cardData.Rarity);
if (overlaySprite != null)
{
overlayImage.sprite = overlaySprite;
overlayImage.enabled = true;
}
else
{
overlayImage.enabled = false;
}
}
}
/// <summary>
/// Updates background and zone shape based on card zone and rarity
/// Special handling for Legendary cards
/// </summary>
private void UpdateZoneVisuals()
{
if (visualConfig == null) return;
// Update background
// Legendary cards get special background, others get zone background
if (backgroundImage != null)
{
Sprite bgSprite = visualConfig.GetBackground(cardData.Zone, cardData.Rarity);
if (bgSprite != null)
{
backgroundImage.sprite = bgSprite;
backgroundImage.enabled = true;
}
else
{
backgroundImage.enabled = false;
}
}
// Update zone shape
// Legendary cards don't show shapes
if (zoneShapeImage != null)
{
Sprite shapeSprite = visualConfig.GetZoneShape(cardData.Zone, cardData.Rarity);
if (shapeSprite != null)
{
zoneShapeImage.sprite = shapeSprite;
zoneShapeImage.enabled = true;
}
else
{
zoneShapeImage.enabled = false;
}
}
}
/// <summary>
/// Clears all visual elements
/// </summary>
private void ClearCard()
{
if (cardNameText != null) cardNameText.text = "";
if (cardImage != null) cardImage.enabled = false;
if (frameImage != null) frameImage.enabled = false;
if (overlayImage != null) overlayImage.enabled = false;
if (backgroundImage != null) backgroundImage.enabled = false;
if (zoneShapeImage != null) zoneShapeImage.enabled = false;
}
/// <summary>
/// Called when the card is clicked
/// </summary>
public void OnClick()
{
OnCardClicked?.Invoke(this);
}
/// <summary>
/// Returns the card data associated with this display
/// </summary>
public CardData GetCardData()
{
return cardData;
}
/// <summary>
/// Updates the visual config reference
/// </summary>
public void SetVisualConfig(CardVisualConfig config)
{
visualConfig = config;
if (cardData != null)
{
UpdateCardVisuals();
}
}
#if UNITY_EDITOR
/// <summary>
/// Editor-only: Creates card data from the assigned definition and displays it
/// </summary>
public void PreviewFromDefinition()
{
if (editorCardDefinition == null)
{
Logging.Warning("[CardDisplay] Cannot preview: No card definition assigned in editor");
return;
}
cardData = editorCardDefinition.CreateCardData();
UpdateCardVisuals();
Logging.Debug($"[CardDisplay] Previewing card from definition: {cardData.Name}");
}
/// <summary>
/// Editor-only: Clears the preview
/// </summary>
public void ClearPreview()
{
cardData = null;
ClearCard();
Logging.Debug("[CardDisplay] Preview cleared");
}
#endif
}
#if UNITY_EDITOR
[CustomEditor(typeof(CardDisplay))]
public class CardDisplayEditor : Editor
{
public override void OnInspectorGUI()
{
DrawDefaultInspector();
CardDisplay display = (CardDisplay)target;
EditorGUILayout.Space();
EditorGUILayout.LabelField("Editor Preview Tools", EditorStyles.boldLabel);
EditorGUILayout.BeginHorizontal();
if (GUILayout.Button("Preview Card"))
{
display.PreviewFromDefinition();
EditorUtility.SetDirty(display);
}
if (GUILayout.Button("Clear Preview"))
{
display.ClearPreview();
EditorUtility.SetDirty(display);
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.Space();
EditorGUILayout.HelpBox(
"Assign a Card Definition in 'Editor Tools' section, then click 'Preview Card' to see how it will look at runtime.",
MessageType.Info
);
}
}
#endif
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 72cb26621865420aa763a66c06eb7f6d
timeCreated: 1762380447

View File

@@ -1,204 +0,0 @@
using Core;
using Data.CardSystem;
using Pixelplacement;
using UI.Core;
using UnityEngine;
using UnityEngine.UI;
namespace UI.CardSystem
{
/// <summary>
/// UI page for the main menu of the card system.
/// Shows options to open boosters, view album, etc.
/// </summary>
public class CardMenuPage : UIPage
{
[Header("Menu Options")]
[SerializeField] private Button openBoosterButton;
[SerializeField] private Button viewAlbumButton;
[SerializeField] private Button changeClothesButton;
[SerializeField] private Button backButton; // Added back button field
[Header("UI Elements")]
[SerializeField] private BoosterNotificationDot boosterNotificationDot; // Changed to BoosterNotificationDot
[SerializeField] private CanvasGroup canvasGroup;
private CardAlbumUI _cardAlbumUI;
private CardSystemManager _cardManager;
private void Awake()
{
// Get references
_cardAlbumUI = FindAnyObjectByType<CardAlbumUI>();
_cardManager = CardSystemManager.Instance;
// Make sure we have a CanvasGroup
if (canvasGroup == null)
canvasGroup = GetComponent<CanvasGroup>();
if (canvasGroup == null)
canvasGroup = gameObject.AddComponent<CanvasGroup>();
// Set up button listeners
if (openBoosterButton != null)
{
openBoosterButton.onClick.AddListener(OnOpenBoosterClicked);
}
if (viewAlbumButton != null)
{
viewAlbumButton.onClick.AddListener(OnViewAlbumClicked);
}
if (changeClothesButton != null)
{
changeClothesButton.onClick.AddListener(OnChangeClothesClicked);
// Disable "Coming Soon" feature
changeClothesButton.interactable = false;
}
if (backButton != null) // Set up back button listener
{
backButton.onClick.AddListener(OnBackButtonClicked);
}
}
private void OnEnable()
{
UpdateUI();
}
private void OnDestroy()
{
// Clean up button listeners
if (openBoosterButton != null)
{
openBoosterButton.onClick.RemoveListener(OnOpenBoosterClicked);
}
if (viewAlbumButton != null)
{
viewAlbumButton.onClick.RemoveListener(OnViewAlbumClicked);
}
if (changeClothesButton != null)
{
changeClothesButton.onClick.RemoveListener(OnChangeClothesClicked);
}
if (backButton != null) // Clean up back button listener
{
backButton.onClick.RemoveListener(OnBackButtonClicked);
}
}
/// <summary>
/// Public method to refresh UI state when returning to this page
/// </summary>
public void RefreshUI()
{
UpdateUI();
}
/// <summary>
/// Updates the UI elements based on current state
/// </summary>
private void UpdateUI()
{
if (_cardManager == null) return;
int boosterCount = _cardManager.GetBoosterPackCount();
// Update booster count text using the notification dot
if (boosterNotificationDot != null)
{
boosterNotificationDot.SetCount(boosterCount);
}
// Enable/disable open booster button based on availability
if (openBoosterButton != null)
{
openBoosterButton.interactable = boosterCount > 0;
}
}
/// <summary>
/// Handles click on the Open Booster button
/// </summary>
private void OnOpenBoosterClicked()
{
if (_cardAlbumUI != null)
{
_cardAlbumUI.OpenBoosterPack();
}
}
/// <summary>
/// Handles click on the View Album button
/// </summary>
private void OnViewAlbumClicked()
{
if (_cardAlbumUI != null)
{
_cardAlbumUI.OpenAlbumView();
}
}
/// <summary>
/// Handles click on the Change Clothes button (coming soon)
/// </summary>
private void OnChangeClothesClicked()
{
Logging.Debug("[CardMenuPage] Change Clothes feature coming soon!");
// No implementation yet - "Coming soon" feature
}
/// <summary>
/// Handles click on the Back button
/// </summary>
private void OnBackButtonClicked()
{
// Use the UIPageController to pop this page
// This will hide the card menu and return to the game
if (UIPageController.Instance != null)
{
UIPageController.Instance.PopPage();
Logging.Debug("[CardMenuPage] Exiting card menu back to game");
}
}
/// <summary>
/// Override for transition in animation using Pixelplacement.Tween
/// </summary>
protected override void DoTransitionIn(System.Action onComplete)
{
// Simple fade in animation
if (canvasGroup != null)
{
canvasGroup.alpha = 0f;
Tween.Value(0f, 1f, (value) => canvasGroup.alpha = value, transitionDuration, 0f, Tween.EaseInOut, Tween.LoopType.None, null, onComplete, obeyTimescale: false);
}
else
{
// Fallback if no CanvasGroup
onComplete?.Invoke();
}
}
/// <summary>
/// Override for transition out animation using Pixelplacement.Tween
/// </summary>
protected override void DoTransitionOut(System.Action onComplete)
{
// Simple fade out animation
if (canvasGroup != null)
{
Tween.Value(canvasGroup.alpha, 0f, (value) => canvasGroup.alpha = value, transitionDuration, 0f, Tween.EaseInOut, Tween.LoopType.None, null, onComplete, obeyTimescale: false);
}
else
{
// Fallback if no CanvasGroup
onComplete?.Invoke();
}
}
}
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: a81af156ae284925a1f004d08f0bb364
timeCreated: 1759923823

View File

@@ -1,87 +0,0 @@
using Bootstrap;
using Core;
using UnityEngine;
// TODO: Yeet this class
namespace UI.CardSystem
{
/// <summary>
/// One-off helper that shows/hides the Card System root based on scene loads.
/// Attach this to your Card System root GameObject. It subscribes to SceneManagerService.SceneLoadCompleted
/// and applies visibility: hidden in "StartingScene" (configurable), visible in all other gameplay scenes.
/// </summary>
public class CardSystemSceneVisibility : MonoBehaviour
{
[Header("Target Root")]
[Tooltip("The GameObject to show/hide. Defaults to this GameObject if not assigned.")]
[SerializeField] private GameObject targetRoot;
private void Awake()
{
if (targetRoot == null)
targetRoot = gameObject;
// Defer subscription to after boot so SceneManagerService is guaranteed ready.
BootCompletionService.RegisterInitAction(InitializePostBoot, priority: 95, name: "CardSystem Scene Visibility Init");
}
private void InitializePostBoot()
{
var sceneSvc = SceneManagerService.Instance;
if (sceneSvc == null)
{
Debug.LogWarning("[CardSystemSceneVisibility] SceneManagerService.Instance is null post-boot.");
return;
}
// Subscribe to scene load completion notifications
sceneSvc.SceneLoadCompleted += OnSceneLoaded;
// Apply initial state based on current gameplay scene
ApplyVisibility(sceneSvc.CurrentGameplayScene);
}
private void OnDestroy()
{
var sceneSvc = SceneManagerService.Instance;
if (sceneSvc != null)
{
sceneSvc.SceneLoadCompleted -= OnSceneLoaded;
}
}
private void OnSceneLoaded(string sceneName)
{
ApplyVisibility(sceneName);
}
private void ApplyVisibility(string sceneName)
{
// TODO: Implement actual visibility logic based on sceneName
SetActiveSafe(true);
// if (targetRoot == null)
// return;
//
// if (string.IsNullOrEmpty(sceneName))
// return;
//
// if (hideInBootstrapScene && sceneName == "BootstrapScene")
// {
// SetActiveSafe(false);
// return;
// }
//
// bool shouldShow = sceneName != startingSceneName;
// SetActiveSafe(shouldShow);
}
private void SetActiveSafe(bool active)
{
if (targetRoot.activeSelf != active)
{
targetRoot.SetActive(active);
}
}
}
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: bd47485d27c34e138bbc5fbd894a3dea
timeCreated: 1761053493

View File

@@ -1,253 +0,0 @@
using System;
using AppleHills.Data.CardSystem;
using Core;
using TMPro;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
namespace UI.CardSystem
{
/// <summary>
/// Handles displaying and interacting with a single card in the UI.
/// </summary>
public class CardUIElement : MonoBehaviour
{
[Header("UI Elements")]
[SerializeField] private TextMeshProUGUI cardNameText;
[SerializeField] private Image cardImage;
[SerializeField] private Image frameImage;
[SerializeField] private Image backgroundImage;
[SerializeField] private Image backgroundShape;
[Header("Card Data")]
[SerializeField] private CardDefinition cardDefinition;
[SerializeField] private CardData cardData;
[Header("Visual Settings")]
[SerializeField] private CardVisualConfig visualConfig;
// Events
public event Action<CardUIElement> OnCardClicked;
/// <summary>
/// Sets up the card UI with the given card data
/// </summary>
public void SetupCard(CardData cardData)
{
Logging.Debug($"[CardUIElement] Setting up card with data: {cardData}");
this.cardData = cardData;
if (cardData == null)
{
Debug.LogError("[CardUIElement] Attempted to setup card with null data");
return;
}
UpdateCardVisuals();
}
/// <summary>
/// Updates the card visuals based on the current card data
/// </summary>
private void UpdateCardVisuals()
{
if (cardData == null) return;
// Set basic text information
if (cardNameText != null) cardNameText.text = cardData.Name;
// Set the card image
if (cardImage != null)
{
if (cardData.CardImage != null)
{
cardImage.sprite = cardData.CardImage;
cardImage.enabled = true;
}
else
{
cardImage.sprite = null;
cardImage.enabled = false;
// Don't log warnings for missing images - this is expected for new cards
// and causes console spam in the editor
}
}
// Update frame color based on rarity
UpdateFrameByRarity(cardData.Rarity);
// Update background color and shape based on zone
UpdateBackgroundByZone(cardData.Zone);
}
/// <summary>
/// Updates the frame color based on card rarity
/// </summary>
private void UpdateFrameByRarity(CardRarity rarity)
{
if (frameImage == null) return;
// Get color from config if available, otherwise use default colors
Color frameColor = visualConfig != null
? visualConfig.GetRarityColor(rarity)
: GetDefaultRarityColor(rarity);
frameImage.color = frameColor;
}
/// <summary>
/// Updates the background color and shape based on card zone
/// </summary>
private void UpdateBackgroundByZone(CardZone zone)
{
// Update background color
if (backgroundImage != null)
{
Color bgColor = visualConfig != null
? visualConfig.GetZoneColor(zone)
: GetDefaultZoneColor(zone);
backgroundImage.color = bgColor;
}
// Update background shape
if (backgroundShape != null && visualConfig != null)
{
Sprite shapeSprite = visualConfig.GetZoneShape(zone);
if (shapeSprite != null)
{
backgroundShape.sprite = shapeSprite;
backgroundShape.gameObject.SetActive(true);
}
else
{
backgroundShape.gameObject.SetActive(false);
}
}
}
/// <summary>
/// Returns default color for rarity if no config is available
/// </summary>
private Color GetDefaultRarityColor(CardRarity rarity)
{
switch (rarity)
{
case CardRarity.Common:
return Color.gray;
case CardRarity.Uncommon:
return Color.green;
case CardRarity.Rare:
return Color.blue;
case CardRarity.Epic:
return new Color(0.5f, 0, 0.5f); // Purple
case CardRarity.Legendary:
return Color.yellow;
default:
return Color.white;
}
}
/// <summary>
/// Returns default color for zone if no config is available
/// </summary>
private Color GetDefaultZoneColor(CardZone zone)
{
// Default zone colors from CardDefinition
switch (zone)
{
case CardZone.AppleHills:
return new Color(0.8f, 0.9f, 0.8f); // Light green
case CardZone.Quarry:
return new Color(0.85f, 0.8f, 0.7f); // Sandy brown
case CardZone.Forest:
return new Color(0.6f, 0.8f, 0.6f); // Forest green
case CardZone.Mountain:
return new Color(0.7f, 0.7f, 0.9f); // Bluish
case CardZone.Beach:
return new Color(0.9f, 0.85f, 0.7f); // Sandy yellow
default:
return Color.white;
}
}
/// <summary>
/// Called when the card is clicked
/// </summary>
public void OnClick()
{
OnCardClicked?.Invoke(this);
}
/// <summary>
/// Returns the card data associated with this UI element
/// </summary>
public CardData GetCardData()
{
return cardData;
}
// Animation methods that can be called from UI events
/// <summary>
/// Called when the card is revealed from a booster pack
/// </summary>
public void OnShowAnimation()
{
// Stub for card reveal animation
Logging.Debug($"[CardUIElement] Showing card: {cardData?.Name}");
// Could add animation code or call Animation Trigger here
}
/// <summary>
/// Called when the card moves to the backpack after being revealed
/// </summary>
public void OnMoveToBackpackAnimation()
{
// Stub for animation when card moves to backpack
Logging.Debug($"[CardUIElement] Moving card to backpack: {cardData?.Name}");
// Could add animation code or call Animation Trigger here
}
#if UNITY_EDITOR
/// <summary>
/// Create card data from definition and update the UI
/// </summary>
public void CreateFromDefinition()
{
if (cardDefinition == null)
{
Logging.Warning("[CardUIElement] Cannot create card data: No card definition assigned");
return;
}
cardData = cardDefinition.CreateCardData();
UpdateCardVisuals();
Logging.Debug($"[CardUIElement] Created card from definition: {cardData.Name}");
}
#endif
}
#if UNITY_EDITOR
[CustomEditor(typeof(CardUIElement))]
public class CardUIElementEditor : UnityEditor.Editor
{
public override void OnInspectorGUI()
{
DrawDefaultInspector();
CardUIElement cardUI = (CardUIElement)target;
EditorGUILayout.Space();
if (GUILayout.Button("Create From Definition"))
{
cardUI.CreateFromDefinition();
EditorUtility.SetDirty(cardUI);
}
}
}
#endif
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: aed7c581bdb84200a05dd8a7df409ab0
timeCreated: 1759923795