Working minigame?

This commit is contained in:
Michal Pikulski
2025-11-19 14:54:33 +01:00
parent 359e0e35bd
commit 90c09e28df
64 changed files with 9948 additions and 1473 deletions

View File

@@ -63,18 +63,6 @@ MonoBehaviour:
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4f4ec75013bc276429c2f4fa52d165e0
m_Address: Assets/Data/Cards/Card_New Card.asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 53996921ed2094948aa317efe4ca6630
m_Address: Assets/Data/Cards/Card_New Card.asset
m_ReadOnly: 0
m_SerializedLabels:
- BlokkemonCard
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 73d54071304571647b3238a799d9781f
m_Address: Assets/Data/Cards/Card_New Card.asset
m_ReadOnly: 0

View File

@@ -20,6 +20,11 @@ MonoBehaviour:
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 9d4a355954ae0a544a9c2a8281bc4bee
m_Address: Settings/CardSortingSettings
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: d28c589c05c122f449a8b34e696cda53
m_Address: Puzzles/Quarry
m_ReadOnly: 0

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8e78bf67b6dbe484a9550a8689254162
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,17 @@
%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: 2e69a2167710437798b1980126d5a4f6, type: 3}
m_Name: ExampleGarbageItem
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.Data.GarbageItemDefinition
itemId: ExampleGarbageItem
displayName: Battlefield 6
sprite: {fileID: 3452939858483483321, guid: 07aae524a464bd44fbb2abd932615899, type: 3}

View File

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

View File

@@ -19,3 +19,5 @@ MonoBehaviour:
requiredOrientation: 1
- sceneName: DivingForPictures
requiredOrientation: 0
- sceneName: CardQualityControl
requiredOrientation: 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

View File

@@ -0,0 +1,195 @@
fileFormatVersion: 2
guid: 07aae524a464bd44fbb2abd932615899
TextureImporter:
internalIDToNameTable:
- first:
213: 3452939858483483321
second: battlefield6_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: battlefield6_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 349
height: 350
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 9b212bfb18e4bef20800000000000000
internalID: 3452939858483483321
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
battlefield6_0: 3452939858483483321
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6e713c98b120a7047acba325b8f5687b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,662 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1384381902454720507
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8730990344497138252}
- component: {fileID: 2127389269465269351}
- component: {fileID: 5587534902400065439}
- component: {fileID: 7928211723630959765}
- component: {fileID: 6730564746972857952}
- component: {fileID: 6189457089612025521}
m_Layer: 0
m_Name: SortableCard
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8730990344497138252
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.03, y: 0.03, z: 0.03}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1832493617040022640}
- {fileID: 3435345339851500234}
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: 0}
m_SizeDelta: {x: 200, y: 270}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2127389269465269351
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9b3db9ce867c4df884411fb3da8fd80a, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.Core.SortableItem
moveSpeed: 50
smoothMovement: 0
snapDuration: 0.3
visual: {fileID: 0}
isSelectable: 1
selectionOffset: 50
context: {fileID: 0}
stateMachine: {fileID: 0}
initialState: OnConveyorState
--- !u!114 &5587534902400065439
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9a9c60767eef4a3090d8bf70ee87340f, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.Core.SortableItemContext
cardDisplay: {fileID: 942985408699919073}
garbageVisual: {fileID: 0}
animator: {fileID: 7928211723630959765}
visualTransform: {fileID: 3435345339851500234}
--- !u!114 &7928211723630959765
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5eacab725f4346d091696042b9cd2a82, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::UI.CardSystem.StateMachine.CardAnimator
--- !u!223 &6730564746972857952
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
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: -1132846201
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &6189457089612025521
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!1 &1524887561224457495
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4915963048385449277}
- component: {fileID: 2636359196694958052}
m_Layer: 0
m_Name: FellOffConveyorState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4915963048385449277
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1524887561224457495}
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: 1832493617040022640}
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: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2636359196694958052
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1524887561224457495}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 619a38624dcf48b19913bd4e1ac28625, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.FellOffConveyorState
--- !u!1 &4127399957670380340
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1832493617040022640}
- component: {fileID: 8945307576217044656}
- component: {fileID: 8645082511974305963}
m_Layer: 0
m_Name: SortingStateMachine
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1832493617040022640
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4127399957670380340}
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: 3313403483268767269}
- {fileID: 2639445114329646364}
- {fileID: 6846791113334578555}
- {fileID: 9068178704258338862}
- {fileID: 4915963048385449277}
- {fileID: 8379092957690634087}
m_Father: {fileID: 8730990344497138252}
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: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &8945307576217044656
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4127399957670380340}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 55938fb1577dd4ad3af7e994048c86f6, type: 3}
m_Name:
m_EditorClassIdentifier: PixelplacementAssembly::Pixelplacement.Initialization
--- !u!114 &8645082511974305963
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4127399957670380340}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 87ed5616041a4d878f452a8741e1eeab, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::UI.CardSystem.StateMachine.CardStateMachine
defaultState: {fileID: 0}
currentState: {fileID: 0}
_unityEventsFolded: 0
verbose: 0
allowReentry: 0
returnToDefaultOnDisable: 1
OnStateExited:
m_PersistentCalls:
m_Calls: []
OnStateEntered:
m_PersistentCalls:
m_Calls: []
OnFirstStateEntered:
m_PersistentCalls:
m_Calls: []
OnFirstStateExited:
m_PersistentCalls:
m_Calls: []
OnLastStateEntered:
m_PersistentCalls:
m_Calls: []
OnLastStateExited:
m_PersistentCalls:
m_Calls: []
customSaveId:
--- !u!1 &5278071270215530147
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6846791113334578555}
- component: {fileID: 6984415130404958205}
m_Layer: 0
m_Name: SortedCorrectlyState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6846791113334578555
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5278071270215530147}
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: 1832493617040022640}
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: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &6984415130404958205
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5278071270215530147}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f3ed2e6fb0814273926c33a178bdf42b, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.SortedCorrectlyState
--- !u!1 &5979039784013227400
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9068178704258338862}
- component: {fileID: 4385886365713563158}
m_Layer: 0
m_Name: SortedIncorrectlyState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &9068178704258338862
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5979039784013227400}
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: 1832493617040022640}
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: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &4385886365713563158
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5979039784013227400}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: edef0fb846be4fd99d396ea27dca1e4f, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.SortedIncorrectlyState
--- !u!1 &6327696013805378735
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3313403483268767269}
- component: {fileID: 1092557656867638961}
m_Layer: 0
m_Name: OnConveyorState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3313403483268767269
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6327696013805378735}
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: 1832493617040022640}
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: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1092557656867638961
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6327696013805378735}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 17d2ba6f5aec4b698247b082734cad8f, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.OnConveyorState
--- !u!1 &7284206288927199055
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2639445114329646364}
- component: {fileID: 3159056251950411054}
m_Layer: 0
m_Name: BeingDraggedState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2639445114329646364
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7284206288927199055}
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: 1832493617040022640}
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: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &3159056251950411054
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7284206288927199055}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 015c0740240748c8901c9304490cb80d, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.BeingDraggedState
--- !u!1 &7496445430129834038
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8379092957690634087}
- component: {fileID: 6205288184969541608}
m_Layer: 0
m_Name: DroppedOnFloorState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8379092957690634087
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7496445430129834038}
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: 1832493617040022640}
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: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &6205288184969541608
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7496445430129834038}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b384e4988bf549f2b6e70d1ff0fa4bcd, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.DroppedOnFloorState
--- !u!1001 &327057115485850371
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 8730990344497138252}
m_Modifications:
- target: {fileID: 790099756778783334, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 790099756778783334, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0.8335571
objectReference: {fileID: 0}
- target: {fileID: 790099756778783334, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_AnchoredPosition.y
value: -0.06774902
objectReference: {fileID: 0}
- target: {fileID: 1802458852284665438, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4210468743547155963, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5533787515014034956, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_Name
value: Card
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}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
--- !u!114 &942985408699919073 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 693510968212398562, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
m_PrefabInstance: {fileID: 327057115485850371}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 72cb26621865420aa763a66c06eb7f6d, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::UI.CardSystem.CardDisplay
--- !u!224 &3435345339851500234 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3108957999325520329, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
m_PrefabInstance: {fileID: 327057115485850371}
m_PrefabAsset: {fileID: 0}

View File

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

View File

@@ -0,0 +1,602 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1384381902454720507
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8730990344497138252}
- component: {fileID: 2127389269465269351}
- component: {fileID: 5587534902400065439}
- component: {fileID: 7928211723630959765}
- component: {fileID: 6730564746972857952}
- component: {fileID: 6189457089612025521}
m_Layer: 0
m_Name: SortableGarbage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8730990344497138252
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.03, y: 0.03, z: 0.03}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1832493617040022640}
- {fileID: 8626179209158889260}
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: 0}
m_SizeDelta: {x: 200, y: 270}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2127389269465269351
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9b3db9ce867c4df884411fb3da8fd80a, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.Core.SortableItem
moveSpeed: 50
smoothMovement: 0
snapDuration: 0.3
visual: {fileID: 0}
isSelectable: 1
selectionOffset: 50
context: {fileID: 0}
stateMachine: {fileID: 0}
initialState: OnConveyorState
--- !u!114 &5587534902400065439
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9a9c60767eef4a3090d8bf70ee87340f, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.Core.SortableItemContext
cardDisplay: {fileID: 0}
garbageVisual: {fileID: 581410895551808339}
animator: {fileID: 7928211723630959765}
visualTransform: {fileID: 8626179209158889260}
--- !u!114 &7928211723630959765
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5eacab725f4346d091696042b9cd2a82, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::UI.CardSystem.StateMachine.CardAnimator
--- !u!223 &6730564746972857952
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
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: -1132846201
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &6189457089612025521
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1384381902454720507}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!1 &3963317030246886356
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8626179209158889260}
- component: {fileID: 581410895551808339}
- component: {fileID: 9061673992343081870}
- component: {fileID: 2391223799317068879}
m_Layer: 0
m_Name: Visual
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8626179209158889260
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3963317030246886356}
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: 8730990344497138252}
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: 200, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &581410895551808339
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3963317030246886356}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b707770fc3a6448ea0dcd1b2fbf41e00, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.Core.GarbageVisual
spriteRenderer: {fileID: 2391223799317068879}
--- !u!222 &9061673992343081870
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3963317030246886356}
m_CullTransparentMesh: 1
--- !u!114 &2391223799317068879
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3963317030246886356}
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: 3452939858483483321, guid: 07aae524a464bd44fbb2abd932615899, 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 &4127399957670380340
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1832493617040022640}
- component: {fileID: 8945307576217044656}
- component: {fileID: 8645082511974305963}
m_Layer: 0
m_Name: SortingStateMachine
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1832493617040022640
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4127399957670380340}
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: 3313403483268767269}
- {fileID: 2639445114329646364}
- {fileID: 6286864144870698111}
- {fileID: 6932285083475453639}
- {fileID: 1605142575474884226}
- {fileID: 2742122570286299997}
m_Father: {fileID: 8730990344497138252}
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: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &8945307576217044656
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4127399957670380340}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 55938fb1577dd4ad3af7e994048c86f6, type: 3}
m_Name:
m_EditorClassIdentifier: PixelplacementAssembly::Pixelplacement.Initialization
--- !u!114 &8645082511974305963
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4127399957670380340}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 87ed5616041a4d878f452a8741e1eeab, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::UI.CardSystem.StateMachine.CardStateMachine
defaultState: {fileID: 0}
currentState: {fileID: 0}
_unityEventsFolded: 0
verbose: 0
allowReentry: 0
returnToDefaultOnDisable: 1
OnStateExited:
m_PersistentCalls:
m_Calls: []
OnStateEntered:
m_PersistentCalls:
m_Calls: []
OnFirstStateEntered:
m_PersistentCalls:
m_Calls: []
OnFirstStateExited:
m_PersistentCalls:
m_Calls: []
OnLastStateEntered:
m_PersistentCalls:
m_Calls: []
OnLastStateExited:
m_PersistentCalls:
m_Calls: []
customSaveId:
--- !u!1 &4665976863542359759
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6932285083475453639}
- component: {fileID: 4451229561143278730}
m_Layer: 0
m_Name: SortedIncorrectlyState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6932285083475453639
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4665976863542359759}
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: 1832493617040022640}
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.00091552734, y: 0.0006713867}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &4451229561143278730
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4665976863542359759}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: edef0fb846be4fd99d396ea27dca1e4f, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.SortedIncorrectlyState
--- !u!1 &5724403781907577170
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2742122570286299997}
- component: {fileID: 4800484645399462961}
m_Layer: 0
m_Name: DroppedOnFloorState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2742122570286299997
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5724403781907577170}
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: 1832493617040022640}
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.00091552734, y: 0.0006713867}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &4800484645399462961
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5724403781907577170}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b384e4988bf549f2b6e70d1ff0fa4bcd, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.DroppedOnFloorState
--- !u!1 &6327696013805378735
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3313403483268767269}
- component: {fileID: 1092557656867638961}
m_Layer: 0
m_Name: OnConveyorState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3313403483268767269
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6327696013805378735}
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: 1832493617040022640}
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: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1092557656867638961
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6327696013805378735}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 17d2ba6f5aec4b698247b082734cad8f, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.OnConveyorState
--- !u!1 &6370853208446123222
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6286864144870698111}
- component: {fileID: 8997831685923851135}
m_Layer: 0
m_Name: SortedCorrectlyState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6286864144870698111
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6370853208446123222}
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: 1832493617040022640}
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.00091552734, y: 0.0006713867}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &8997831685923851135
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6370853208446123222}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f3ed2e6fb0814273926c33a178bdf42b, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.SortedCorrectlyState
--- !u!1 &7284206288927199055
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2639445114329646364}
- component: {fileID: 3159056251950411054}
m_Layer: 0
m_Name: BeingDraggedState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2639445114329646364
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7284206288927199055}
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: 1832493617040022640}
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: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &3159056251950411054
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7284206288927199055}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 015c0740240748c8901c9304490cb80d, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.BeingDraggedState
--- !u!1 &9016465332917481836
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1605142575474884226}
- component: {fileID: 8865404769901428854}
m_Layer: 0
m_Name: FellOffConveyorState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1605142575474884226
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9016465332917481836}
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: 1832493617040022640}
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.00091552734, y: 0.0006713867}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &8865404769901428854
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9016465332917481836}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 619a38624dcf48b19913bd4e1ac28625, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.StateMachine.States.FellOffConveyorState

View File

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

View File

@@ -0,0 +1,265 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &558342595185239558
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5117288307080929430}
- component: {fileID: 3934371481972522631}
m_Layer: 0
m_Name: SortingBox
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5117288307080929430
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 558342595185239558}
serializedVersion: 2
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: 6518373398422451678}
- {fileID: 9217432009376634151}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3934371481972522631
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 558342595185239558}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a25b1c9a82b540c8ac0d6c016849f561, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.Core.SortingBox
slotIndex: -1
isLocked: 0
hideImageOnPlay: 0
filterByType: 0
allowedTypeNames: []
occupantSizeMode: 0
occupantScale: {x: 1, y: 1, z: 1}
scaleTransitionDuration: 0.3
boxType: 0
boxSprite: {fileID: 0}
--- !u!1 &6923066319076554151
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6518373398422451678}
- component: {fileID: 1395181864555928322}
m_Layer: 0
m_Name: SpriteVisual
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6518373398422451678
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6923066319076554151}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 3, y: 3, z: 3}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 5117288307080929430}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &1395181864555928322
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6923066319076554151}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: -1132846201
m_SortingLayer: 1
m_SortingOrder: 0
m_Sprite: {fileID: -7843813406500067289, guid: bd1c641e7bfe53145820bb64b08f8fc8, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 2, y: 3}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &8952044779537201808
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9217432009376634151}
- component: {fileID: 648444132027869173}
- component: {fileID: 782368896286959756}
- component: {fileID: 5156931632607827063}
- component: {fileID: 1900348448078271703}
m_Layer: 0
m_Name: CanvasHitbox
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &9217432009376634151
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8952044779537201808}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.08, y: 0.08, z: 0.08}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 5117288307080929430}
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.22, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!223 &648444132027869173
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8952044779537201808}
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: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: -1132846201
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &782368896286959756
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8952044779537201808}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!222 &5156931632607827063
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8952044779537201808}
m_CullTransparentMesh: 1
--- !u!114 &1900348448078271703
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8952044779537201808}
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.003921569}
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: 0}
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

View File

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

View File

@@ -0,0 +1,75 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &4783960465046462854
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 558342595185239558, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_Name
value: SortingBox_Legend
objectReference: {fileID: 0}
- target: {fileID: 1395181864555928322, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_Color.b
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1395181864555928322, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_Color.g
value: 0.99722207
objectReference: {fileID: 0}
- target: {fileID: 1395181864555928322, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_Color.r
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3934371481972522631, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: boxType
value: 2
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.x
value: 6.47801
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.y
value: 1.71442
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}

View File

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

View File

@@ -0,0 +1,59 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &4800178131179840808
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 558342595185239558, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_Name
value: SortingBox Variant
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.x
value: 6.47801
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.y
value: 1.71442
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}

View File

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

View File

@@ -0,0 +1,75 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &8300740829714082025
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 558342595185239558, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_Name
value: SortingBox_Rare
objectReference: {fileID: 0}
- target: {fileID: 1395181864555928322, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_Color.b
value: 0.09333682
objectReference: {fileID: 0}
- target: {fileID: 1395181864555928322, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_Color.g
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1395181864555928322, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_Color.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3934371481972522631, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: boxType
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.x
value: 6.47801
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.y
value: 1.71442
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}

View File

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

View File

@@ -0,0 +1,87 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &3512625870166755645
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 558342595185239558, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_Name
value: SortingBox_Trash
objectReference: {fileID: 0}
- target: {fileID: 1395181864555928322, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: -3078401260823067384, guid: 6a9067e93704c28459a07abe13595616, type: 3}
- target: {fileID: 3934371481972522631, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: boxType
value: 3
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.x
value: 14.85
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5117288307080929430, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6518373398422451678, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalScale.x
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 6518373398422451678, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalScale.y
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 6518373398422451678, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalScale.z
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 6518373398422451678, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.x
value: -0.3
objectReference: {fileID: 0}
- target: {fileID: 6518373398422451678, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}
propertyPath: m_LocalPosition.y
value: -2.2
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 30642bab8eeeb344bbc5773058a20a3c, type: 3}

View File

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

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 34a2a2685e8779945b25deb59024695d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,527 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &97040762695298152
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3193587684358315289}
- component: {fileID: 6535475175108777945}
- component: {fileID: 4139981089598238079}
m_Layer: 5
m_Name: ScoreDisplay
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3193587684358315289
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 97040762695298152}
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: 8952171418799244803}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 200, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6535475175108777945
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 97040762695298152}
m_CullTransparentMesh: 1
--- !u!114 &4139981089598238079
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 97040762695298152}
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: 0000
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: 100
m_fontSizeBase: 100
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 1
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
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 &129287496044486005
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8294328820939081367}
- component: {fileID: 6186147173729892847}
- component: {fileID: 1929638711813240478}
m_Layer: 5
m_Name: AccuracyDisplay
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8294328820939081367
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 129287496044486005}
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: 8952171418799244803}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 200, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6186147173729892847
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 129287496044486005}
m_CullTransparentMesh: 1
--- !u!114 &1929638711813240478
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 129287496044486005}
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: 0%
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: 100
m_fontSizeBase: 100
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 1
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
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 &2204255282719587443
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8952171418799244803}
- component: {fileID: 3416581373676611538}
m_Layer: 5
m_Name: ScoresLayoutGroup
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8952171418799244803
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2204255282719587443}
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: 4881154979794857029}
- {fileID: 3193587684358315289}
- {fileID: 8294328820939081367}
m_Father: {fileID: 707190640386266950}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 150}
m_Pivot: {x: 0.5, y: 1}
--- !u!114 &3416581373676611538
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2204255282719587443}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 4
m_Spacing: 150
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &5517642253100401386
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4881154979794857029}
- component: {fileID: 6941393494789352809}
- component: {fileID: 1653089319504497253}
m_Layer: 5
m_Name: TimerDisplay
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4881154979794857029
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5517642253100401386}
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: 8952171418799244803}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 200, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6941393494789352809
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5517642253100401386}
m_CullTransparentMesh: 1
--- !u!114 &1653089319504497253
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5517642253100401386}
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: 2:00
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: 100
m_fontSizeBase: 100
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 1
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
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 &7537653696112211670
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 707190640386266950}
- component: {fileID: 5556944003491708754}
m_Layer: 5
m_Name: MinigameHUD
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &707190640386266950
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7537653696112211670}
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: 8952171418799244803}
m_Father: {fileID: 0}
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!114 &5556944003491708754
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7537653696112211670}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: aa656e03d5384a9eae31fab73b6fe5e2, type: 3}
m_Name:
m_EditorClassIdentifier: AppleHillsScripts::Minigames.CardSorting.UI.SortingGameHUD
timerText: {fileID: 1653089319504497253}
scoreText: {fileID: 4139981089598238079}
accuracyText: {fileID: 1929638711813240478}

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -1023,7 +1023,7 @@ 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: 200, y: 270}
m_SizeDelta: {x: 20, y: 270}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &5882185627204126092
MonoBehaviour:
@@ -1367,6 +1367,10 @@ PrefabInstance:
propertyPath: m_Name
value: CardDisplay
objectReference: {fileID: 0}
- target: {fileID: 7441149886460635393, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_fontSize
value: 0.1
objectReference: {fileID: 0}
- target: {fileID: 7619421269260494372, guid: 6d6e64f153ccde149bede8e82351d3c4, type: 3}
propertyPath: m_AnchorMax.x
value: 0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"TestSuite":"","Date":0,"Player":{"Development":false,"ScreenWidth":0,"ScreenHeight":0,"ScreenRefreshRate":0,"Fullscreen":false,"Vsync":0,"AntiAliasing":0,"Batchmode":false,"RenderThreadingMode":"MultiThreaded","GpuSkinning":false,"Platform":"","ColorSpace":"","AnisotropicFiltering":"","BlendWeights":"","GraphicsApi":"","ScriptingBackend":"IL2CPP","AndroidTargetSdkVersion":"AndroidApiLevelAuto","AndroidBuildSystem":"Gradle","BuildTarget":"Android","StereoRenderingPath":"MultiPass"},"Hardware":{"OperatingSystem":"","DeviceModel":"","DeviceName":"","ProcessorType":"","ProcessorCount":0,"GraphicsDeviceName":"","SystemMemorySizeMB":0},"Editor":{"Version":"6000.2.6f1","Branch":"6000.2/staging","Changeset":"cc51a95c0300","Date":1758053328},"Dependencies":["com.coplaydev.unity-mcp@6.3.0","com.moolt.packages.net@0.0.3","com.unity.2d.sprite@1.0.0","com.unity.2d.spriteshape@12.0.1","com.unity.addressables@2.7.3","com.unity.addressables.android@1.0.7","com.unity.cinemachine@3.1.4","com.unity.device-simulator.devices@1.0.0","com.unity.feature.2d@2.0.1","com.unity.film-internal-utilities@0.18.4-preview","com.unity.graphtoolkit@0.4.0-exp.2","com.unity.ide.rider@3.0.38","com.unity.ide.visualstudio@2.0.23","com.unity.inputsystem@1.14.2","com.unity.multiplayer.center@1.0.0","com.unity.render-pipelines.universal@17.2.0","com.unity.timeline@1.8.9","com.unity.ugui@2.0.0","com.unity.modules.accessibility@1.0.0","com.unity.modules.ai@1.0.0","com.unity.modules.androidjni@1.0.0","com.unity.modules.animation@1.0.0","com.unity.modules.assetbundle@1.0.0","com.unity.modules.audio@1.0.0","com.unity.modules.cloth@1.0.0","com.unity.modules.director@1.0.0","com.unity.modules.imageconversion@1.0.0","com.unity.modules.imgui@1.0.0","com.unity.modules.jsonserialize@1.0.0","com.unity.modules.particlesystem@1.0.0","com.unity.modules.physics@1.0.0","com.unity.modules.physics2d@1.0.0","com.unity.modules.screencapture@1.0.0","com.unity.modules.terrain@1.0.0","com.unity.modules.terrainphysics@1.0.0","com.unity.modules.tilemap@1.0.0","com.unity.modules.ui@1.0.0","com.unity.modules.uielements@1.0.0","com.unity.modules.umbra@1.0.0","com.unity.modules.unityanalytics@1.0.0","com.unity.modules.unitywebrequest@1.0.0","com.unity.modules.unitywebrequestassetbundle@1.0.0","com.unity.modules.unitywebrequestaudio@1.0.0","com.unity.modules.unitywebrequesttexture@1.0.0","com.unity.modules.unitywebrequestwww@1.0.0","com.unity.modules.vehicles@1.0.0","com.unity.modules.video@1.0.0","com.unity.modules.vr@1.0.0","com.unity.modules.wind@1.0.0","com.unity.modules.xr@1.0.0","com.unity.modules.subsystems@1.0.0","com.unity.modules.hierarchycore@1.0.0","com.unity.render-pipelines.core@17.2.0","com.unity.shadergraph@17.2.0","com.unity.render-pipelines.universal-config@17.0.3","com.unity.test-framework@1.6.0","com.unity.ext.nunit@2.0.5","com.unity.2d.animation@12.0.2","com.unity.2d.pixel-perfect@5.1.0","com.unity.2d.psdimporter@11.0.1","com.unity.2d.tilemap@1.0.0","com.unity.2d.tilemap.extras@5.0.1","com.unity.2d.aseprite@2.0.1","com.unity.splines@2.8.2","com.unity.profiling.core@1.0.2","com.unity.scriptablebuildpipeline@2.4.2","com.unity.2d.common@11.0.1","com.unity.mathematics@1.3.2","com.unity.nuget.newtonsoft-json@3.2.1","com.unity.searcher@4.9.3","com.unity.burst@1.8.24","com.unity.collections@2.5.7","com.unity.rendering.light-transport@1.0.1","com.unity.settings-manager@2.1.0","com.unity.nuget.mono-cecil@1.11.5","com.unity.test-framework.performance@3.1.0"],"Results":[]}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: eef3e69d546eb3f49bba43db92477fa1
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1 @@
{"MeasurementCount":-1}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1890da8c51b4fb44b9c7aa761a8f3b5a
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -631,6 +631,25 @@ namespace Data.CardSystem
return _pendingRevealCards.Count;
}
/// <summary>
/// Gets a random card definition of the specified rarity.
/// Used by minigames to spawn cards without affecting player's collection.
/// </summary>
public CardDefinition GetRandomCardDefinitionByRarity(CardRarity targetRarity)
{
// Filter available cards by rarity
var matchingCards = availableCards.Where(c => c.Rarity == targetRarity).ToList();
if (matchingCards.Count == 0)
{
Debug.LogWarning($"[CardSystemManager] No card definitions found for rarity {targetRarity}");
return null;
}
// Return random card from matching rarity
return matchingCards[UnityEngine.Random.Range(0, matchingCards.Count)];
}
#endregion
/// <summary>

View File

@@ -401,6 +401,56 @@ namespace UI.CardSystem.StateMachine
}
#endregion
#region Color/Tint Animations
private TweenBase _activeBlinkTween;
private Color _originalColor;
/// <summary>
/// Blink an image red repeatedly (for fell-off-conveyor state)
/// </summary>
public void BlinkRed(UnityEngine.UI.Image image, float blinkSpeed = 0.25f)
{
if (image == null) return;
// Stop any existing blink
StopBlinking();
// Store original color
_originalColor = image.color;
// Start blinking red loop
BlinkLoop(image, blinkSpeed);
}
private void BlinkLoop(UnityEngine.UI.Image image, float blinkSpeed)
{
if (image == null) return;
// Tween to red
_activeBlinkTween = Tween.Color(image, Color.red, blinkSpeed, 0f, Tween.EaseInOut,
completeCallback: () =>
{
// Tween back to original
_activeBlinkTween = Tween.Color(image, _originalColor, blinkSpeed, 0f, Tween.EaseInOut,
completeCallback: () => BlinkLoop(image, blinkSpeed)); // Loop
});
}
/// <summary>
/// Stop blinking animation and restore original color
/// </summary>
public void StopBlinking()
{
if (_activeBlinkTween != null)
{
_activeBlinkTween.Stop();
_activeBlinkTween = null;
}
}
#endregion
}
}

View File

@@ -170,6 +170,7 @@ namespace Core
var interactionSettings = SettingsProvider.Instance.LoadSettingsSynchronous<InteractionSettings>();
var minigameSettings = SettingsProvider.Instance.LoadSettingsSynchronous<DivingMinigameSettings>();
var cardSystemSettings = SettingsProvider.Instance.LoadSettingsSynchronous<CardSystemSettings>();
var sortingGameSettings = SettingsProvider.Instance.LoadSettingsSynchronous<CardSortingSettings>();
// Register settings with service locator
if (playerSettings != null)
@@ -212,6 +213,16 @@ namespace Core
Debug.LogError("Failed to load CardSystemSettings");
}
if (sortingGameSettings != null)
{
ServiceLocator.Register<ICardSortingSettings>(sortingGameSettings);
Logging.Debug("CardSortingSettings registered successfully");
}
else
{
Debug.LogError("Failed to load CardSystemSettings");
}
// Log success
_settingsLoaded = playerSettings != null && interactionSettings != null && minigameSettings != null && cardSystemSettings != null;
if (_settingsLoaded)

View File

@@ -15,11 +15,8 @@ namespace Core.Settings
[Tooltip("Total game duration in seconds")]
[SerializeField] private float gameDuration = 120f;
[Tooltip("Initial time between item spawns (seconds)")]
[SerializeField] private float initialSpawnInterval = 2f;
[Tooltip("Minimum time between item spawns as difficulty increases (seconds)")]
[SerializeField] private float minimumSpawnInterval = 0.5f;
[Tooltip("Distance between item spawns (units)")]
[SerializeField] private float spawnDistance = 50f;
[Header("Conveyor Speed")]
[Tooltip("Initial belt movement speed")]
@@ -64,8 +61,9 @@ namespace Core.Settings
// Interface implementation
public float GameDuration => gameDuration;
public float InitialSpawnInterval => initialSpawnInterval;
public float MinimumSpawnInterval => minimumSpawnInterval;
public float SpawnDistance => spawnDistance;
public float InitialBeltSpeed => initialBeltSpeed;
public float MaxBeltSpeed => maxBeltSpeed;
public AnimationCurve SpeedCurve => speedCurve;
@@ -84,9 +82,6 @@ namespace Core.Settings
base.OnValidate();
gameDuration = Mathf.Max(1f, gameDuration);
initialSpawnInterval = Mathf.Max(0.1f, initialSpawnInterval);
minimumSpawnInterval = Mathf.Max(0.1f, minimumSpawnInterval);
minimumSpawnInterval = Mathf.Min(minimumSpawnInterval, initialSpawnInterval);
initialBeltSpeed = Mathf.Max(0.1f, initialBeltSpeed);
maxBeltSpeed = Mathf.Max(initialBeltSpeed, maxBeltSpeed);
correctSortPoints = Mathf.Max(0, correctSortPoints);

View File

@@ -11,8 +11,7 @@ namespace Core.Settings
{
// Timing
float GameDuration { get; }
float InitialSpawnInterval { get; }
float MinimumSpawnInterval { get; }
float SpawnDistance { get; }
// Conveyor Speed
float InitialBeltSpeed { get; }

View File

@@ -11,19 +11,29 @@ namespace Minigames.CardSorting.Controllers
/// <summary>
/// Non-MonoBehaviour controller for conveyor belt logic.
/// Handles spawning, speed, item lifecycle.
/// Owns item tracking and emits events when items fall off or are sorted.
/// Parallel to CornerCardManager in card system.
/// </summary>
public class ConveyorBeltController
{
private readonly Transform spawnPoint;
private readonly Transform endPoint;
private readonly Transform endPoint; // Visual end - scoring happens here
private readonly Transform despawnPoint; // Off-screen - destruction happens here
private readonly GameObject cardPrefab;
private readonly GameObject garbagePrefab;
private readonly ICardSortingSettings settings;
private List<SortableItem> activeItems = new List<SortableItem>();
private HashSet<SortableItem> missedItems = new HashSet<SortableItem>(); // Items past visual end, moving to despawn
private float currentSpeed;
private float nextSpawnTime;
private SortableItem lastSpawnedItem; // Track last spawned item for distance-based spawning
// Events - conveyor owns item lifecycle
public event System.Action<SortableItem> OnItemSpawned; // Fired when new item spawns
public event System.Action<SortableItem> OnItemFellOffBelt; // Fired at visual end (endPoint)
public event System.Action<SortableItem> OnItemDespawned; // Fired at despawn point (destruction)
public event System.Action<SortableItem, SortingBox, bool> OnItemSorted; // item, box, correct
public event System.Action<SortableItem> OnItemDroppedOnFloor; // Fired when dropped outside any box
public float CurrentSpeed => currentSpeed;
public int ActiveItemCount => activeItems.Count;
@@ -31,36 +41,59 @@ namespace Minigames.CardSorting.Controllers
public ConveyorBeltController(
Transform spawnPoint,
Transform endPoint,
Transform despawnPoint,
GameObject cardPrefab,
GameObject garbagePrefab,
ICardSortingSettings settings)
{
this.spawnPoint = spawnPoint;
this.endPoint = endPoint;
this.despawnPoint = despawnPoint;
this.cardPrefab = cardPrefab;
this.garbagePrefab = garbagePrefab;
this.settings = settings;
this.currentSpeed = settings.InitialBeltSpeed;
this.nextSpawnTime = 0f;
this.lastSpawnedItem = null; // No items spawned yet
}
/// <summary>
/// Update belt speed and check for items falling off.
/// Update belt speed, check for items falling off, and handle distance-based spawning.
/// </summary>
public void Update(float deltaTime, float gameProgress)
{
UpdateBeltSpeed(gameProgress);
CheckItemsOffBelt();
CheckDistanceBasedSpawn(gameProgress);
}
/// <summary>
/// Try to spawn an item if enough time has passed.
/// Check if we should spawn a new item based on distance from last spawn.
/// Items spawn when last item has moved far enough from spawn point.
/// </summary>
public SortableItem TrySpawnItem(float currentTime, float gameProgress)
private void CheckDistanceBasedSpawn(float gameProgress)
{
if (currentTime < nextSpawnTime) return null;
// If no items spawned yet, spawn immediately
if (lastSpawnedItem == null)
{
SpawnNewItem(gameProgress);
return;
}
// Check if last spawned item is far enough from spawn point
float distanceFromSpawn = Mathf.Abs(lastSpawnedItem.transform.position.x - spawnPoint.position.x);
if (distanceFromSpawn >= settings.SpawnDistance) // Using InitialSpawnInterval as distance threshold
{
SpawnNewItem(gameProgress);
}
}
/// <summary>
/// Spawn a new item at the spawn point.
/// </summary>
private SortableItem SpawnNewItem(float gameProgress)
{
// Weighted random: card or garbage?
float totalWeight = settings.NormalCardWeight + settings.RareCardWeight +
settings.LegendCardWeight + settings.GarbageWeight;
@@ -93,20 +126,15 @@ namespace Minigames.CardSorting.Controllers
item.Context.ConveyorSpeed = currentSpeed;
activeItems.Add(item);
ScheduleNextSpawn(gameProgress);
lastSpawnedItem = item; // Track for distance-based spawning
// Emit spawn event
OnItemSpawned?.Invoke(item);
}
return item;
}
/// <summary>
/// Remove item from tracking (when sorted or missed).
/// </summary>
public void RemoveItem(SortableItem item)
{
activeItems.Remove(item);
}
private SortableItem SpawnGarbageItem()
{
if (settings.GarbageItems == null || settings.GarbageItems.Length == 0)
@@ -123,6 +151,10 @@ namespace Minigames.CardSorting.Controllers
if (item != null)
{
item.SetupAsGarbage(garbage);
// Subscribe to item events
item.OnItemDroppedInBox += HandleItemDroppedInBox;
item.OnItemReturnedToConveyor += HandleItemReturnedToConveyor;
}
else
{
@@ -151,6 +183,10 @@ namespace Minigames.CardSorting.Controllers
if (item != null)
{
item.SetupAsCard(cardData);
// Subscribe to item events
item.OnItemDroppedInBox += HandleItemDroppedInBox;
item.OnItemReturnedToConveyor += HandleItemReturnedToConveyor;
}
else
{
@@ -164,33 +200,25 @@ namespace Minigames.CardSorting.Controllers
/// <summary>
/// Helper method to get a random card of a specific rarity.
/// Uses CardSystemManager's internal DrawRandomCards logic.
/// Gets a CardDefinition from CardSystemManager and converts to CardData.
/// Does NOT affect player's collection or open boosters.
/// </summary>
private CardData GetRandomCardDataByRarity(CardRarity targetRarity)
{
// Use reflection or create cards manually
// For now, open a temporary booster and filter
// This is not ideal but works until we add a proper method to CardSystemManager
// Get random card definition from manager
var definition = CardSystemManager.Instance.GetRandomCardDefinitionByRarity(targetRarity);
// Better approach: Draw cards until we get one of the right rarity
// Simulate drawing process
int maxAttempts = 20;
for (int i = 0; i < maxAttempts; i++)
if (definition == null)
{
var drawnCards = CardSystemManager.Instance.OpenBoosterPack();
CardSystemManager.Instance.AddBoosterPack(); // Restore the booster we used
var matchingCard = drawnCards.Find(c => c.Rarity == targetRarity);
if (matchingCard != null)
{
return matchingCard;
}
}
Debug.LogWarning($"[ConveyorBeltController] Failed to draw card of rarity {targetRarity} after {maxAttempts} attempts");
Debug.LogWarning($"[ConveyorBeltController] No card definition found for rarity {targetRarity}");
return null;
}
// Create CardData from definition using constructor
// This properly links the definition and sets all properties
return new CardData(definition);
}
private void UpdateBeltSpeed(float gameProgress)
{
// Evaluate speed curve
@@ -201,7 +229,7 @@ namespace Minigames.CardSorting.Controllers
speedMultiplier
);
// Update all active items
// Update all active items (including missed items moving to despawn)
foreach (var item in activeItems)
{
if (item != null && item.Context.IsOnConveyor)
@@ -213,6 +241,7 @@ namespace Minigames.CardSorting.Controllers
private void CheckItemsOffBelt()
{
// Check active items for reaching visual end point
for (int i = activeItems.Count - 1; i >= 0; i--)
{
var item = activeItems[i];
@@ -222,25 +251,100 @@ namespace Minigames.CardSorting.Controllers
continue;
}
// Check if past end point
if (item.transform.position.x > endPoint.position.x)
// Check if past visual end point (not yet scored as missed)
if (item.transform.position.x > endPoint.position.x && !missedItems.Contains(item))
{
// Mark as missed and emit event for scoring
missedItems.Add(item);
// Transition item to FellOffConveyorState (will blink red)
item.ChangeState("FellOffConveyorState");
OnItemFellOffBelt?.Invoke(item);
// Item continues moving, stays in activeItems until despawn
}
}
// Check missed items for reaching despawn point
for (int i = activeItems.Count - 1; i >= 0; i--)
{
var item = activeItems[i];
if (item == null)
{
item.OnFellOffBelt();
activeItems.RemoveAt(i);
}
}
continue;
}
private void ScheduleNextSpawn(float gameProgress)
// Check if past despawn point (time to destroy)
if (item.transform.position.x > despawnPoint.position.x && missedItems.Contains(item))
{
// Calculate next spawn time based on difficulty progression
float interval = Mathf.Lerp(
settings.InitialSpawnInterval,
settings.MinimumSpawnInterval,
gameProgress
);
// Remove from tracking
activeItems.RemoveAt(i);
missedItems.Remove(item);
nextSpawnTime = Time.time + interval;
// Clear lastSpawnedItem reference if this was it
if (lastSpawnedItem == item)
{
lastSpawnedItem = null;
}
// Emit despawn event for destruction
OnItemDespawned?.Invoke(item);
}
}
}
/// <summary>
/// Handle when an item is dropped in a box (correct or incorrect).
/// </summary>
private void HandleItemDroppedInBox(SortableItem item, SortingBox box, bool correct)
{
// Remove from tracking and unsubscribe
if (activeItems.Remove(item))
{
// Also remove from missed items if it was there
missedItems.Remove(item);
// Clear lastSpawnedItem reference if this was it
if (lastSpawnedItem == item)
{
lastSpawnedItem = null;
}
item.OnItemDroppedInBox -= HandleItemDroppedInBox;
item.OnItemReturnedToConveyor -= HandleItemReturnedToConveyor;
// Emit event for game manager to handle scoring, passing box and correctness
OnItemSorted?.Invoke(item, box, correct);
}
}
/// <summary>
/// Handle when an item is returned to conveyor (dropped outside box).
/// Item transitions to DroppedOnFloorState and gets destroyed.
/// </summary>
private void HandleItemReturnedToConveyor(SortableItem item)
{
// Remove from tracking and unsubscribe (item will be destroyed)
if (activeItems.Remove(item))
{
missedItems.Remove(item);
if (lastSpawnedItem == item)
{
lastSpawnedItem = null;
}
item.OnItemDroppedInBox -= HandleItemDroppedInBox;
item.OnItemReturnedToConveyor -= HandleItemReturnedToConveyor;
// Emit event for scoring
OnItemDroppedOnFloor?.Invoke(item);
Debug.Log($"[ConveyorBeltController] Item dropped on floor: {item.CardData?.Name ?? item.GarbageItem?.DisplayName}");
}
}
private CardRarity DetermineRarity(float roll)

View File

@@ -26,6 +26,10 @@ namespace Minigames.CardSorting.Core
private CardData cardData;
private GarbageItemDefinition garbageItem;
// Events - item emits notifications, conveyor subscribes
public event System.Action<SortableItem, SortingBox, bool> OnItemDroppedInBox;
public event System.Action<SortableItem> OnItemReturnedToConveyor;
// Public accessors
public SortableItemContext Context => context;
public AppleMachine StateMachine => stateMachine;
@@ -123,6 +127,17 @@ namespace Minigames.CardSorting.Core
Logging.Debug($"[SortableItem] Drag started on {(isGarbage ? garbageItem.DisplayName : cardData.Name)}");
}
// TODO: Fixed when base slot/draggable reworked
public override void OnDrag(UnityEngine.EventSystems.PointerEventData eventData)
{
base.OnDrag(eventData);
if (!IsDragging) return;
// Perform raycast to detect what's underneath the dragged card
DetectSlotUnderPointer(eventData);
}
protected override void OnDragEndedHook()
{
base.OnDragEndedHook();
@@ -132,17 +147,63 @@ namespace Minigames.CardSorting.Core
{
bool correctSort = box.ValidateItem(this);
// Notify game manager
SortingGameManager.Instance?.OnItemSorted(this, box, correctSort);
// Fire event IMMEDIATELY when card is released over bin
// This allows manager to update score/UI right away
OnItemDroppedInBox?.Invoke(this, box, correctSort);
// Transition to sorted state
ChangeState("SortedState");
// Transition to appropriate state based on correctness
// State will handle fall-into-bin animation and destruction
if (correctSort)
{
ChangeState("SortedCorrectlyState");
}
else
{
// Dropped outside valid box - return to conveyor
Logging.Debug("[SortableItem] Dropped outside box, returning to conveyor");
ChangeState("OnConveyorState");
ChangeState("SortedIncorrectlyState");
}
}
else
{
// Dropped outside valid box - transition to dropped on floor state
Logging.Debug("[SortableItem] Dropped outside box, transitioning to floor state");
ChangeState("DroppedOnFloorState");
}
}
// TODO: Fixed when base slot/draggable reworked
/// <summary>
/// Detect which slot (if any) is under the pointer during drag.
/// Updates CurrentSlot for drop detection.
/// </summary>
private void DetectSlotUnderPointer(UnityEngine.EventSystems.PointerEventData eventData)
{
// Perform raycast at pointer position to find slots
var raycastResults = new System.Collections.Generic.List<UnityEngine.EventSystems.RaycastResult>();
UnityEngine.EventSystems.EventSystem.current.RaycastAll(eventData, raycastResults);
SortingBox hoveredBox = null;
// Find first SortingBox in raycast results
foreach (var result in raycastResults)
{
var box = result.gameObject.GetComponentInParent<SortingBox>();
if (box != null)
{
hoveredBox = box;
break;
}
}
// Update current slot (used in OnDragEndedHook)
if (hoveredBox != null && hoveredBox != CurrentSlot)
{
_currentSlot = hoveredBox;
Logging.Debug($"[SortableItem] Now hovering over {hoveredBox.BoxType} box");
}
else if (hoveredBox == null && CurrentSlot != null)
{
_currentSlot = null;
Logging.Debug("[SortableItem] No longer over any box");
}
}
@@ -156,16 +217,6 @@ namespace Minigames.CardSorting.Core
stateMachine.ChangeState(stateName);
}
}
/// <summary>
/// Called when item falls off conveyor belt.
/// </summary>
public void OnFellOffBelt()
{
// Notify game manager
SortingGameManager.Instance?.OnItemMissed(this);
Destroy(gameObject);
}
}
/// <summary>

View File

@@ -35,6 +35,11 @@ namespace Minigames.CardSorting.Core
public bool IsOnConveyor { get; set; } = true;
public float ConveyorSpeed { get; set; } = 1f;
// Original transform data (captured on spawn for drag animations)
public Vector3 OriginalScale { get; private set; }
public Vector3 OriginalPosition { get; private set; }
public Quaternion OriginalRotation { get; private set; }
private void Awake()
{
// Auto-find components if not assigned
@@ -47,10 +52,17 @@ namespace Minigames.CardSorting.Core
}
}
if (animator == null)
{
// CardAnimator should be on root GameObject (animates root transform with Canvas scale)
animator = GetComponent<CardAnimator>();
// Fallback: check Visual child (legacy setup)
if (animator == null && visualTransform != null)
{
animator = visualTransform.GetComponent<CardAnimator>();
}
}
if (cardDisplay == null && visualTransform != null)
{
@@ -70,6 +82,20 @@ namespace Minigames.CardSorting.Core
/// </summary>
public void SetupAsCard(CardData cardData)
{
// Capture original root transform for drag animations
// This preserves the tiny world-space Canvas scale (e.g., 0.05)
var currentScale = transform.localScale;
if (currentScale.x < 0.01f && currentScale.y < 0.01f && currentScale.z < 0.01f)
{
OriginalScale = Vector3.one; // Fallback if scale is ~0
}
else
{
OriginalScale = currentScale;
}
OriginalPosition = transform.localPosition;
OriginalRotation = transform.localRotation;
if (cardDisplay != null)
{
cardDisplay.SetupCard(cardData);
@@ -85,6 +111,20 @@ namespace Minigames.CardSorting.Core
/// </summary>
public void SetupAsGarbage(Sprite sprite)
{
// Capture original root transform for drag animations
// This preserves the tiny world-space Canvas scale (e.g., 0.05)
var currentScale = transform.localScale;
if (currentScale.x < 0.01f && currentScale.y < 0.01f && currentScale.z < 0.01f)
{
OriginalScale = Vector3.one; // Fallback if scale is ~0
}
else
{
OriginalScale = currentScale;
}
OriginalPosition = transform.localPosition;
OriginalRotation = transform.localRotation;
if (garbageVisual != null)
{
garbageVisual.UpdateDisplay(sprite);

View File

@@ -12,7 +12,6 @@ namespace Minigames.CardSorting.Core
{
[Header("Box Configuration")]
[SerializeField] private BoxType boxType;
[SerializeField] private Sprite boxSprite;
public BoxType BoxType => boxType;

View File

@@ -6,6 +6,7 @@ using Data.CardSystem;
using Input;
using Minigames.CardSorting.Controllers;
using Minigames.CardSorting.Core;
using Unity.Cinemachine;
using UnityEngine;
namespace Minigames.CardSorting.Core
@@ -19,11 +20,15 @@ namespace Minigames.CardSorting.Core
{
[Header("Scene References")]
[SerializeField] private Transform conveyorSpawnPoint;
[SerializeField] private Transform conveyorEndPoint;
[SerializeField] private Transform conveyorEndPoint; // Visual end - items scored as missed here
[SerializeField] private Transform conveyorDespawnPoint; // Off-screen - items destroyed here
[SerializeField] private GameObject sortableCardPrefab;
[SerializeField] private GameObject sortableGarbagePrefab;
[SerializeField] private SortingBox[] sortingBoxes;
[Header("Effects")]
[SerializeField] private CinemachineImpulseSource impulseSource; // Screen shake on incorrect sort
// Settings
private ICardSortingSettings _settings;
@@ -32,6 +37,7 @@ namespace Minigames.CardSorting.Core
private ConveyorBeltController Conveyor => _conveyorController ??= new ConveyorBeltController(
conveyorSpawnPoint,
conveyorEndPoint,
conveyorDespawnPoint,
sortableCardPrefab,
sortableGarbagePrefab,
_settings
@@ -56,6 +62,11 @@ namespace Minigames.CardSorting.Core
public event Action<SortableItem, SortingBox, bool> OnItemSortedEvent;
public event Action<float> OnTimerUpdated; // Remaining time
// Global effect events
public event Action<SortableItem> OnItemSortedCorrectly;
public event Action<SortableItem> OnItemSortedIncorrectly;
public event Action<SortableItem> OnItemFellOffBelt;
internal override void OnManagedAwake()
{
_instance = this;
@@ -79,6 +90,13 @@ namespace Minigames.CardSorting.Core
Score.OnCorrectSort += OnCorrectSort;
Score.OnIncorrectSort += OnIncorrectSort;
// Subscribe to conveyor events
Conveyor.OnItemSpawned += OnConveyorItemSpawned;
Conveyor.OnItemFellOffBelt += OnConveyorItemFellOff;
Conveyor.OnItemDespawned += OnConveyorItemDespawned;
Conveyor.OnItemSorted += OnConveyorItemSorted;
Conveyor.OnItemDroppedOnFloor += OnConveyorItemDroppedOnFloor;
// Start game automatically or wait for trigger
// For now, auto-start
StartGame();
@@ -92,6 +110,15 @@ namespace Minigames.CardSorting.Core
Score.OnCorrectSort -= OnCorrectSort;
Score.OnIncorrectSort -= OnIncorrectSort;
}
if (_conveyorController != null)
{
Conveyor.OnItemSpawned -= OnConveyorItemSpawned;
Conveyor.OnItemFellOffBelt -= OnConveyorItemFellOff;
Conveyor.OnItemDespawned -= OnConveyorItemDespawned;
Conveyor.OnItemSorted -= OnConveyorItemSorted;
Conveyor.OnItemDroppedOnFloor -= OnConveyorItemDroppedOnFloor;
}
}
private void Update()
@@ -112,15 +139,8 @@ namespace Minigames.CardSorting.Core
return;
}
// Update conveyor
// Update conveyor (handles spawning, movement, and despawning internally)
Conveyor.Update(Time.deltaTime, gameProgress);
// Try spawn item
var item = Conveyor.TrySpawnItem(Time.time, gameProgress);
if (item != null)
{
OnItemSpawned?.Invoke(item);
}
}
public void StartGame()
@@ -167,47 +187,129 @@ namespace Minigames.CardSorting.Core
}
/// <summary>
/// Called by SortableItem when placed in box.
/// Called when conveyor spawns a new item.
/// </summary>
public void OnItemSorted(SortableItem item, SortingBox box, bool correct)
private void OnConveyorItemSpawned(SortableItem item)
{
// Forward to public event for UI/other systems
OnItemSpawned?.Invoke(item);
Logging.Debug($"[SortingGameManager] Item spawned: {item.CardData?.Name ?? item.GarbageItem?.DisplayName}");
}
/// <summary>
/// Called when item reaches visual end of belt (via conveyor event).
/// Item continues moving off-screen until despawn point.
/// Scoring rules:
/// - Trash fell off: Negative score (penalty)
/// - Card fell off: Neutral (no score change)
/// </summary>
private void OnConveyorItemFellOff(SortableItem item)
{
// Only penalize TRASH items that fall off
// Cards falling off are neutral (no score change)
if (item.IsGarbage)
{
Score.RecordMissedItem();
Logging.Debug($"[SortingGameManager] Trash fell off belt! {item.GarbageItem?.DisplayName} - PENALTY");
}
else
{
Logging.Debug($"[SortingGameManager] Card fell off belt: {item.CardData?.Name} - no penalty");
}
// Fire global fell off belt event for effects
OnItemFellOffBelt?.Invoke(item);
// Visual feedback could go here (e.g., "MISS!" popup)
// Item will continue moving and be destroyed at despawn point
}
/// <summary>
/// Called when item is dropped on floor (via conveyor event).
/// Scoring rules:
/// - Trash dropped on floor: Negative score (penalty)
/// - Card dropped on floor: Neutral (no score change)
/// </summary>
private void OnConveyorItemDroppedOnFloor(SortableItem item)
{
// Only penalize TRASH items dropped on floor
// Cards dropped on floor are neutral (no score change)
if (item.IsGarbage)
{
Score.RecordIncorrectSort();
Logging.Debug($"[SortingGameManager] Trash dropped on floor! {item.GarbageItem?.DisplayName} - PENALTY");
// Trigger screen shake for trash dropped on floor
if (impulseSource != null)
{
impulseSource.GenerateImpulse();
}
}
else
{
Logging.Debug($"[SortingGameManager] Card dropped on floor: {item.CardData?.Name} - no penalty");
}
}
/// <summary>
/// Called when item reaches despawn point (via conveyor event).
/// Actually destroys the item.
/// </summary>
private void OnConveyorItemDespawned(SortableItem item)
{
Logging.Debug($"[SortingGameManager] Item despawned: {item.CardData?.Name ?? item.GarbageItem?.DisplayName}");
// Destroy the item
if (item != null)
Destroy(item.gameObject);
}
/// <summary>
/// Called when conveyor confirms item was sorted (via event).
/// Handles scoring only - the state (SortedCorrectlyState/SortedIncorrectlyState) handles animation and destruction.
/// Scoring rules:
/// - Correct sort: Positive score (cards or trash in correct box)
/// - Incorrect trash: Negative score (trash in wrong box)
/// - Incorrect card: Neutral (no score change)
/// </summary>
private void OnConveyorItemSorted(SortableItem item, SortingBox box, bool correct)
{
if (correct)
{
Score.RecordCorrectSort();
Logging.Debug($"[SortingGameManager] Correct sort! {item.CardData?.Name ?? item.GarbageItem?.DisplayName}");
// Fire global correct sort event for effects
OnItemSortedCorrectly?.Invoke(item);
}
else
{
// Only penalize incorrect sorting for TRASH items
// Cards incorrectly sorted are neutral (no score change)
if (item.IsGarbage)
{
Score.RecordIncorrectSort();
Logging.Debug($"[SortingGameManager] Incorrect sort! {item.CardData?.Name ?? item.GarbageItem?.DisplayName}");
}
Logging.Debug($"[SortingGameManager] Incorrect trash sort! {item.GarbageItem?.DisplayName} - PENALTY");
Conveyor.RemoveItem(item);
OnItemSortedEvent?.Invoke(item, box, correct);
// Fire global incorrect sort event for effects
OnItemSortedIncorrectly?.Invoke(item);
// Play animation then destroy
if (item.Context?.Animator != null)
// Trigger screen shake
if (impulseSource != null)
{
item.Context.Animator.PopOut(0.4f, () => {
if (item != null)
Destroy(item.gameObject);
});
impulseSource.GenerateImpulse();
}
}
else
{
Destroy(item.gameObject, 0.5f);
Logging.Debug($"[SortingGameManager] Card sorted incorrectly: {item.CardData?.Name} - no penalty");
}
}
/// <summary>
/// Called when item falls off belt.
/// </summary>
public void OnItemMissed(SortableItem item)
{
Score.RecordMissedItem();
Conveyor.RemoveItem(item);
OnItemSortedEvent?.Invoke(item, box, correct);
Logging.Debug($"[SortingGameManager] Item missed! {item.CardData?.Name ?? item.GarbageItem?.DisplayName}");
// State handles animation and destruction - we just update score/UI here
}
private void OnScoreChanged(int newScore)

View File

@@ -13,7 +13,6 @@ namespace Minigames.CardSorting.StateMachine.States
public class BeingDraggedState : AppleState
{
private SortableItemContext _context;
private Vector3 _originalScale;
private void Awake()
{
@@ -26,13 +25,12 @@ namespace Minigames.CardSorting.StateMachine.States
_context.IsOnConveyor = false;
// Store original scale
if (_context.VisualTransform != null)
// Visual feedback: scale up root transform by 10%
// Use OriginalScale from context (captured at spawn, preserves world-space Canvas scale)
if (_context.RootTransform != null && _context.Animator != null)
{
_originalScale = _context.VisualTransform.localScale;
// Visual feedback: scale up 10%
_context.Animator?.AnimateScale(_originalScale * 1.1f, 0.2f);
Vector3 targetScale = _context.OriginalScale * 1.1f;
_context.Animator.AnimateScale(targetScale, 0.2f);
}
Logging.Debug("[BeingDraggedState] Item being dragged, scaled up for feedback");
@@ -40,10 +38,10 @@ namespace Minigames.CardSorting.StateMachine.States
private void OnDisable()
{
// Restore original scale
// Restore original root transform scale (e.g., 0.05 for world-space Canvas)
if (_context != null && _context.Animator != null)
{
_context.Animator.AnimateScale(_originalScale, 0.2f);
_context.Animator.AnimateScale(_context.OriginalScale, 0.2f);
}
}
}

View File

@@ -0,0 +1,86 @@
using Core;
using Core.SaveLoad;
using Minigames.CardSorting.Core;
namespace Minigames.CardSorting.StateMachine.States
{
/// <summary>
/// Item was dropped outside any bin (on the floor).
/// Plays "disappear" animation then destroys the item.
/// </summary>
public class DroppedOnFloorState : AppleState
{
private SortableItemContext _context;
private SortableItem _item;
private void Awake()
{
_context = GetComponentInParent<SortableItemContext>();
_item = GetComponentInParent<SortableItem>();
}
public override void OnEnterState()
{
if (_context == null) return;
_context.IsOnConveyor = false;
Logging.Debug("[DroppedOnFloorState] Item dropped on floor, blinking red then disappearing");
// Blink red briefly, then play disappear animation
StartBlinkThenDisappear();
}
private void StartBlinkThenDisappear()
{
if (_context.Animator == null || _item == null) return;
// Get the image to blink
UnityEngine.UI.Image imageToBlink = null;
if (_context.CardDisplay != null)
{
imageToBlink = _context.CardDisplay.GetComponent<UnityEngine.UI.Image>();
}
else if (_context.GarbageVisual != null)
{
imageToBlink = _context.GarbageVisual.GetComponent<UnityEngine.UI.Image>();
}
if (imageToBlink != null)
{
// Blink red briefly (2-3 times), then stop and disappear
_context.Animator.BlinkRed(imageToBlink, 0.15f); // Fast blink
// After brief delay, stop blinking and play disappear animation
_context.Animator.AnimateScale(_context.RootTransform.localScale, 0.5f, () =>
{
_context.Animator.StopBlinking();
PlayDisappearAnimation();
});
}
else
{
// No image found, just disappear directly
PlayDisappearAnimation();
}
}
private void PlayDisappearAnimation()
{
if (_context.Animator == null || _item == null) return;
// Tween scale down to 0 (disappear)
// When complete, destroy the item
_context.Animator.PopOut(0.4f, () =>
{
if (_item != null)
{
Logging.Debug("[DroppedOnFloorState] Animation complete, destroying item");
Destroy(_item.gameObject);
}
});
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b384e4988bf549f2b6e70d1ff0fa4bcd
timeCreated: 1763557103

View File

@@ -0,0 +1,88 @@
using Core;
using Core.SaveLoad;
using Minigames.CardSorting.Core;
using UnityEngine;
namespace Minigames.CardSorting.StateMachine.States
{
/// <summary>
/// Item reached the visual end of conveyor without being sorted.
/// Becomes non-clickable and blinks red until despawn point.
/// </summary>
public class FellOffConveyorState : AppleState
{
private SortableItemContext _context;
private SortableItem _item;
private void Awake()
{
_context = GetComponentInParent<SortableItemContext>();
_item = GetComponentInParent<SortableItem>();
}
public override void OnEnterState()
{
if (_context == null) return;
// Keep IsOnConveyor = true so item continues moving to despawn point
// Item is no longer sortable but must continue moving off-screen
_context.IsOnConveyor = true;
Logging.Debug("[FellOffConveyorState] Item fell off conveyor, blinking red until despawn");
// Disable dragging - item can no longer be picked up
if (_item != null)
{
_item.SetDraggingEnabled(false);
}
// Start blinking red animation
StartBlinkingRed();
}
private void Update()
{
if (_context == null || !_context.IsOnConveyor) return;
// Continue moving item toward despawn point (same logic as OnConveyorState)
Vector3 movement = Vector3.right * _context.ConveyorSpeed * Time.deltaTime;
_context.RootTransform.position += movement;
}
private void StartBlinkingRed()
{
if (_context.Animator == null) return;
// Get the image to tint (CardDisplay or GarbageVisual)
UnityEngine.UI.Image imageToBlink = null;
if (_context.CardDisplay != null)
{
imageToBlink =
_context.CardDisplay.GetComponent<UnityEngine.UI.Image>()
?? _context.CardDisplay.GetComponentInChildren<UnityEngine.UI.Image>();
}
else if (_context.GarbageVisual != null)
{
imageToBlink =
_context.GarbageVisual.GetComponent<UnityEngine.UI.Image>()
?? _context.GarbageVisual.GetComponentInChildren<UnityEngine.UI.Image>();
}
if (imageToBlink != null)
{
_context.Animator.BlinkRed(imageToBlink);
}
}
private void OnDisable()
{
// Stop blinking when state exits (item despawned)
if (_context?.Animator != null)
{
_context.Animator.StopBlinking();
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 619a38624dcf48b19913bd4e1ac28625
timeCreated: 1763557115

View File

@@ -0,0 +1,73 @@
using Core;
using Core.SaveLoad;
using Minigames.CardSorting.Core;
namespace Minigames.CardSorting.StateMachine.States
{
/// <summary>
/// Item has been correctly sorted into the right box.
/// Plays "fall into bin" animation then destroys the card.
/// </summary>
public class SortedCorrectlyState : AppleState
{
private SortableItemContext _context;
private SortableItem _item;
private void Awake()
{
_context = GetComponentInParent<SortableItemContext>();
_item = GetComponentInParent<SortableItem>();
}
public override void OnEnterState()
{
if (_context == null) return;
_context.IsOnConveyor = false;
Logging.Debug("[SortedCorrectlyState] Item correctly sorted, tweening to box then falling in");
// First tween to box center, then play fall animation
TweenToBoxThenFall();
}
private void TweenToBoxThenFall()
{
if (_context.Animator == null || _item == null) return;
// Get the box position (if available from CurrentSlot)
var box = _item.CurrentSlot as SortingBox;
if (box != null)
{
// Tween position to box center
_context.Animator.AnimateLocalPosition(box.transform.position, 0.2f, () =>
{
// After reaching box, play fall animation
PlayFallIntoBinAnimation();
});
}
else
{
// No box found, just play fall animation
PlayFallIntoBinAnimation();
}
}
private void PlayFallIntoBinAnimation()
{
if (_context.Animator == null || _item == null) return;
// Tween scale down to 0 (looks like falling into bin)
// When complete, destroy the card
_context.Animator.PopOut(0.4f, () =>
{
if (_item != null)
{
Logging.Debug("[SortedCorrectlyState] Animation complete, destroying item");
Destroy(_item.gameObject);
}
});
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f3ed2e6fb0814273926c33a178bdf42b
timeCreated: 1763555977

View File

@@ -0,0 +1,109 @@
using Core;
using Core.SaveLoad;
using Minigames.CardSorting.Core;
namespace Minigames.CardSorting.StateMachine.States
{
/// <summary>
/// Item has been incorrectly sorted into the wrong box.
/// Plays "fall into bin" animation then destroys the card.
/// Same animation as correct sort, but different state for tracking/events.
/// </summary>
public class SortedIncorrectlyState : AppleState
{
private SortableItemContext _context;
private SortableItem _item;
private void Awake()
{
_context = GetComponentInParent<SortableItemContext>();
_item = GetComponentInParent<SortableItem>();
}
public override void OnEnterState()
{
if (_context == null) return;
_context.IsOnConveyor = false;
Logging.Debug("[SortedIncorrectlyState] Item incorrectly sorted, blinking red then tweening to box");
// Start blinking red briefly, then tween to box
StartBlinkThenTween();
}
private void StartBlinkThenTween()
{
if (_context.Animator == null || _item == null) return;
// Get the image to blink
UnityEngine.UI.Image imageToBlink = null;
if (_context.CardDisplay != null)
{
imageToBlink = _context.CardDisplay.GetComponent<UnityEngine.UI.Image>();
}
else if (_context.GarbageVisual != null)
{
imageToBlink = _context.GarbageVisual.GetComponent<UnityEngine.UI.Image>();
}
if (imageToBlink != null)
{
// Blink red briefly (2-3 times), then stop and continue with tween
_context.Animator.BlinkRed(imageToBlink, 0.15f); // Fast blink
// After brief delay, stop blinking and tween to box
_context.Animator.AnimateScale(_context.RootTransform.localScale, 0.5f, () =>
{
_context.Animator.StopBlinking();
TweenToBoxThenFall();
});
}
else
{
// No image found, just tween directly
TweenToBoxThenFall();
}
}
private void TweenToBoxThenFall()
{
if (_context.Animator == null || _item == null) return;
// Get the box position (if available from CurrentSlot)
var box = _item.CurrentSlot as SortingBox;
if (box != null)
{
// Tween position to box center
_context.Animator.AnimateLocalPosition(box.transform.position, 0.2f, () =>
{
// After reaching box, play fall animation
PlayFallIntoBinAnimation();
});
}
else
{
// No box found, just play fall animation
PlayFallIntoBinAnimation();
}
}
private void PlayFallIntoBinAnimation()
{
if (_context.Animator == null || _item == null) return;
// Tween scale down to 0 (looks like falling into bin)
// When complete, destroy the card
_context.Animator.PopOut(0.4f, () =>
{
if (_item != null)
{
Logging.Debug("[SortedIncorrectlyState] Animation complete, destroying item");
Destroy(_item.gameObject);
}
});
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: edef0fb846be4fd99d396ea27dca1e4f
timeCreated: 1763555989

View File

@@ -1,34 +0,0 @@
using Core;
using Core.SaveLoad;
using Minigames.CardSorting.Core;
namespace Minigames.CardSorting.StateMachine.States
{
/// <summary>
/// Item has been successfully sorted into a box.
/// Plays animation then marks for destruction.
/// Manager handles the actual PopOut animation and destruction.
/// </summary>
public class SortedState : AppleState
{
private SortableItemContext _context;
private void Awake()
{
_context = GetComponentInParent<SortableItemContext>();
}
public override void OnEnterState()
{
if (_context == null) return;
_context.IsOnConveyor = false;
Logging.Debug("[SortedState] Item sorted, ready for destruction animation");
// Manager will handle PopOut animation and destruction
// State just marks item as no longer on conveyor
}
}
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 0717f922952c4f228930ef0a5f6617b0
timeCreated: 1763469776

View File

@@ -130,8 +130,9 @@ namespace UI.DragAndDrop.Core
SmoothMoveTowardPointer();
}
// Only clamp for non-overlay canvases (WorldSpace/ScreenSpaceCamera)
if (_canvas != null && _canvas.renderMode != RenderMode.ScreenSpaceOverlay)
// Only clamp when actively being dragged (prevent dragging off-screen)
// Don't clamp when just sitting idle - allow objects to move freely off-screen
if (_isDragging && _canvas != null && _canvas.renderMode != RenderMode.ScreenSpaceOverlay)
{
ClampToScreen();
}

View File

@@ -45,6 +45,10 @@ namespace UI.DragAndDrop.Core
public Vector3 WorldPosition => transform.position;
public RectTransform RectTransform => transform as RectTransform;
// Support for both UI and world-space slots
public bool IsUISlot => transform is RectTransform;
public Vector3 SlotPosition => transform.position; // Works for both Transform types
private void Start()
{
if (hideImageOnPlay)
@@ -78,6 +82,7 @@ namespace UI.DragAndDrop.Core
switch (occupantSizeMode)
{
case OccupantSizeMode.MatchSlotSize:
// Only works for UI slots with RectTransform
if (draggable.RectTransform != null && RectTransform != null)
{
Vector2 targetSize = RectTransform.sizeDelta;
@@ -85,6 +90,7 @@ namespace UI.DragAndDrop.Core
(val) => draggable.RectTransform.sizeDelta = val,
scaleTransitionDuration, 0f, Tween.EaseOutBack);
}
// World-space slots (no RectTransform) skip size matching
break;
case OccupantSizeMode.Scale:

View File

@@ -157,19 +157,24 @@ namespace UI
}
}
// Subscribe to scene load events to adjust HUD based on scene
if (SceneManagerService.Instance != null)
{
SceneManagerService.Instance.SceneLoadCompleted += NewSceneLoaded;
}
if (SceneManagerService.Instance.CurrentGameplayScene == "AppleHillsOverworld")
{
NewSceneLoaded("AppleHillsOverworld");
}
// If in editor - initialize HUD based on current scene
#if UNITY_EDITOR
if (SceneManagerService.Instance.CurrentGameplayScene == "StartingScene")
{
// TODO: Hide all UI until cinematics have played
NewSceneLoaded("AppleHillsOverworld");
}
else if (SceneManagerService.Instance.CurrentGameplayScene != null)
{
NewSceneLoaded(SceneManagerService.Instance.CurrentGameplayScene);
}
#endif
}
internal override void OnManagedDestroy()
@@ -229,7 +234,7 @@ namespace UI
case "Quarry":
currentUIMode = UIMode.Puzzle;
break;
case "DivingForPictures":
case "DivingForPictures" or "CardQualityControl":
currentUIMode = UIMode.Minigame;
break;
}

View File

@@ -0,0 +1,52 @@
%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: a0fd5f8ab5d74b12968501dd4e3cc416, type: 3}
m_Name: CardSortingSettings
m_EditorClassIdentifier: AppleHillsScripts::Core.Settings.CardSortingSettings
gameDuration: 120
spawnDistance: 10
initialBeltSpeed: 5
maxBeltSpeed: 10
speedCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
garbageItems:
- {fileID: 11400000, guid: b9c54fbced64684419e983429fd27b34, type: 2}
normalCardWeight: 40
rareCardWeight: 30
legendCardWeight: 20
garbageWeight: 40
correctSortPoints: 10
incorrectSortPenalty: -5
missedItemPenalty: -3
boosterPacksPerCorrectItem: 1

View File

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

View File

@@ -63,19 +63,7 @@ MonoBehaviour:
- rid: 7785851992983994373
- rid: 1219994508087787520
m_RuntimeSettings:
m_List:
- rid: 7752762179098771456
- rid: 7752762179098771457
- rid: 7752762179098771459
- rid: 7752762179098771461
- rid: 7752762179098771462
- rid: 7752762179098771464
- rid: 7752762179098771466
- rid: 7752762179098771468
- rid: 7752762179098771472
- rid: 7752762179098771476
- rid: 7785851992983994372
- rid: 7785851992983994373
m_List: []
m_AssetVersion: 8
m_ObsoleteDefaultVolumeProfile: {fileID: 0}
m_RenderingLayerNames:

File diff suppressed because it is too large Load Diff