From f314b74e6ca8fd1d3094b370081567aaf4d23b06 Mon Sep 17 00:00:00 2001 From: Miguel Astor Date: Thu, 6 Aug 2026 09:00:43 -0400 Subject: [PATCH] TO SQUASH: Added multiplier spawner --- Assets/Animations/Bonus.controller | 270 ++++++++++++++++++ Assets/Animations/Bonus.controller.meta | 8 + Assets/Animations/Bonus2x.anim | 73 +++++ Assets/Animations/Bonus2x.anim.meta | 8 + Assets/Animations/Bonus3x.anim | 73 +++++ Assets/Animations/Bonus3x.anim.meta | 8 + Assets/Animations/Bonus4x.anim | 73 +++++ Assets/Animations/Bonus4x.anim.meta | 8 + Assets/Animations/BonusHalf.anim | 73 +++++ Assets/Animations/BonusHalf.anim.meta | 8 + Assets/Prefabs/Multiplier.prefab | 232 +++++++++++++++ Assets/Prefabs/Multiplier.prefab.meta | 7 + Assets/Scenes/Game.unity | 47 +++ Assets/Scripts/Game/Multiplier.cs | 69 +++++ Assets/Scripts/Game/Multiplier.cs.meta | 2 + Assets/Scripts/Game/MultiplierSpawner.cs | 60 ++++ Assets/Scripts/Game/MultiplierSpawner.cs.meta | 2 + Assets/Sprites/130.png | Bin 0 -> 1301 bytes Assets/Sprites/130.png.meta | 236 +++++++++++++++ 19 files changed, 1257 insertions(+) create mode 100644 Assets/Animations/Bonus.controller create mode 100644 Assets/Animations/Bonus.controller.meta create mode 100644 Assets/Animations/Bonus2x.anim create mode 100644 Assets/Animations/Bonus2x.anim.meta create mode 100644 Assets/Animations/Bonus3x.anim create mode 100644 Assets/Animations/Bonus3x.anim.meta create mode 100644 Assets/Animations/Bonus4x.anim create mode 100644 Assets/Animations/Bonus4x.anim.meta create mode 100644 Assets/Animations/BonusHalf.anim create mode 100644 Assets/Animations/BonusHalf.anim.meta create mode 100644 Assets/Prefabs/Multiplier.prefab create mode 100644 Assets/Prefabs/Multiplier.prefab.meta create mode 100644 Assets/Scripts/Game/Multiplier.cs create mode 100644 Assets/Scripts/Game/Multiplier.cs.meta create mode 100644 Assets/Scripts/Game/MultiplierSpawner.cs create mode 100644 Assets/Scripts/Game/MultiplierSpawner.cs.meta create mode 100644 Assets/Sprites/130.png create mode 100644 Assets/Sprites/130.png.meta diff --git a/Assets/Animations/Bonus.controller b/Assets/Animations/Bonus.controller new file mode 100644 index 0000000..5707e17 --- /dev/null +++ b/Assets/Animations/Bonus.controller @@ -0,0 +1,270 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-6846178527990550117 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Bonus4x + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1956264970439351926} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 83de45fc489e917b9ba1fdaba8a84902, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-6766991554410008417 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Bonus2x + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -4753917083500751011} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: a5b18a2ae7181dd5885c2aa513e1cb42, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &-4753917083500751011 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 6 + m_ConditionEvent: bonus + m_EventTreshold: 3 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1101499113572322007} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &-1101499113572322007 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Bonus3x + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 3827570758004144504} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 2e6e75a5e83027393a3816e832de096c, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Bonus + serializedVersion: 6 + m_AnimatorParameters: + - m_Name: bonus + m_Type: 3 + m_DefaultFloat: 0 + m_DefaultInt: 1 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 2194420056408664823} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} + m_EvaluateTransitionsOnStart: 1 +--- !u!1101 &1956264970439351926 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 6 + m_ConditionEvent: bonus + m_EventTreshold: 1 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 5096256805700668083} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1107 &2194420056408664823 +AnimatorStateMachine: + serializedVersion: 7 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 5096256805700668083} + m_Position: {x: 240, y: 260, z: 0} + - serializedVersion: 1 + m_State: {fileID: -6766991554410008417} + m_Position: {x: 520, y: 260, z: 0} + - serializedVersion: 1 + m_State: {fileID: -1101499113572322007} + m_Position: {x: 520, y: 120, z: 0} + - serializedVersion: 1 + m_State: {fileID: -6846178527990550117} + m_Position: {x: 240, y: 120, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 5096256805700668083} +--- !u!1101 &3827570758004144504 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 6 + m_ConditionEvent: bonus + m_EventTreshold: 4 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -6846178527990550117} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &5096256805700668083 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BonusHalf + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 5957625188258629066} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 59c7b157e2c85899aaaa34281b7c3fee, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &5957625188258629066 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 6 + m_ConditionEvent: bonus + m_EventTreshold: 2 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -6766991554410008417} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 diff --git a/Assets/Animations/Bonus.controller.meta b/Assets/Animations/Bonus.controller.meta new file mode 100644 index 0000000..f662dfc --- /dev/null +++ b/Assets/Animations/Bonus.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5a5d5e36388be3099b9d9bf99d62f88c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Animations/Bonus2x.anim b/Assets/Animations/Bonus2x.anim new file mode 100644 index 0000000..233e1d9 --- /dev/null +++ b/Assets/Animations/Bonus2x.anim @@ -0,0 +1,73 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Bonus2x + serializedVersion: 8 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - serializedVersion: 2 + curve: + - time: 0 + value: {fileID: 7991573596836870317, guid: 396f182f764934fab9b37a7507fd6a71, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + flags: 2 + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + metaData: 0 + pptrCurveMapping: + - {fileID: 7991573596836870317, guid: 396f182f764934fab9b37a7507fd6a71, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.016666668 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Animations/Bonus2x.anim.meta b/Assets/Animations/Bonus2x.anim.meta new file mode 100644 index 0000000..828bf62 --- /dev/null +++ b/Assets/Animations/Bonus2x.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a5b18a2ae7181dd5885c2aa513e1cb42 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Animations/Bonus3x.anim b/Assets/Animations/Bonus3x.anim new file mode 100644 index 0000000..142fe1b --- /dev/null +++ b/Assets/Animations/Bonus3x.anim @@ -0,0 +1,73 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Bonus3x + serializedVersion: 8 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - serializedVersion: 2 + curve: + - time: 0 + value: {fileID: 7359948701813016030, guid: 396f182f764934fab9b37a7507fd6a71, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + flags: 2 + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + metaData: 0 + pptrCurveMapping: + - {fileID: 7359948701813016030, guid: 396f182f764934fab9b37a7507fd6a71, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.016666668 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Animations/Bonus3x.anim.meta b/Assets/Animations/Bonus3x.anim.meta new file mode 100644 index 0000000..c2c1432 --- /dev/null +++ b/Assets/Animations/Bonus3x.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e6e75a5e83027393a3816e832de096c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Animations/Bonus4x.anim b/Assets/Animations/Bonus4x.anim new file mode 100644 index 0000000..d363a22 --- /dev/null +++ b/Assets/Animations/Bonus4x.anim @@ -0,0 +1,73 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Bonus4x + serializedVersion: 8 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - serializedVersion: 2 + curve: + - time: 0 + value: {fileID: 7651698937045436064, guid: 396f182f764934fab9b37a7507fd6a71, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + flags: 2 + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + metaData: 0 + pptrCurveMapping: + - {fileID: 7651698937045436064, guid: 396f182f764934fab9b37a7507fd6a71, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.016666668 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Animations/Bonus4x.anim.meta b/Assets/Animations/Bonus4x.anim.meta new file mode 100644 index 0000000..05ffb34 --- /dev/null +++ b/Assets/Animations/Bonus4x.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 83de45fc489e917b9ba1fdaba8a84902 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Animations/BonusHalf.anim b/Assets/Animations/BonusHalf.anim new file mode 100644 index 0000000..6ecbc15 --- /dev/null +++ b/Assets/Animations/BonusHalf.anim @@ -0,0 +1,73 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BonusHalf + serializedVersion: 8 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - serializedVersion: 2 + curve: + - time: 0 + value: {fileID: 8500096622099558511, guid: 396f182f764934fab9b37a7507fd6a71, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + flags: 2 + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + metaData: 0 + pptrCurveMapping: + - {fileID: 8500096622099558511, guid: 396f182f764934fab9b37a7507fd6a71, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.016666668 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Animations/BonusHalf.anim.meta b/Assets/Animations/BonusHalf.anim.meta new file mode 100644 index 0000000..98b12f1 --- /dev/null +++ b/Assets/Animations/BonusHalf.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 59c7b157e2c85899aaaa34281b7c3fee +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Multiplier.prefab b/Assets/Prefabs/Multiplier.prefab new file mode 100644 index 0000000..a39512f --- /dev/null +++ b/Assets/Prefabs/Multiplier.prefab @@ -0,0 +1,232 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &972968151998544523 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 124276934567078467} + - component: {fileID: 2469786599228077938} + - component: {fileID: 6584193050307399339} + - component: {fileID: 5292350325801247535} + - component: {fileID: 7615983206007795092} + m_Layer: 0 + m_Name: Multiplier + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &124276934567078467 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 972968151998544523} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -5.733787, y: -1.4091287, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2469786599228077938 +SpriteRenderer: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 972968151998544523} + 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: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SortingLayer: 0 + m_SortingOrder: 4 + m_MaskInteraction: 0 + m_Sprite: {fileID: 8500096622099558511, guid: 396f182f764934fab9b37a7507fd6a71, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.21, y: 0.21} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_SpriteSortPoint: 0 + m_BlendShapeWeights: [] +--- !u!95 &6584193050307399339 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 972968151998544523} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 5a5d5e36388be3099b9d9bf99d62f88c, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!82 &5292350325801247535 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 972968151998544523} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_Resource: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!114 &7615983206007795092 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 972968151998544523} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9c5f36d6d3cd0528480676885849702e, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Multiplier + multiplierSound: {fileID: 8300000, guid: 1705ce7fc603dd9e1842bf1943d051bf, type: 3} + missedSound: {fileID: 8300000, guid: 0c158e62f1f2d993a970cf904495d4f7, type: 3} + gotItSound: {fileID: 8300000, guid: ff5afee6e16a1be65ac522628b98d057, type: 3} + gotHalfSound: {fileID: 8300000, guid: bba1ed66821ccb58e806d41b6df7418a, type: 3} diff --git a/Assets/Prefabs/Multiplier.prefab.meta b/Assets/Prefabs/Multiplier.prefab.meta new file mode 100644 index 0000000..0afbb93 --- /dev/null +++ b/Assets/Prefabs/Multiplier.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e0793a7c04bca0662982bfa7f5f60935 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Game.unity b/Assets/Scenes/Game.unity index ccb1f62..6abeece 100644 --- a/Assets/Scenes/Game.unity +++ b/Assets/Scenes/Game.unity @@ -1575,6 +1575,52 @@ CircleCollider2D: m_CompositeOrder: 0 m_Offset: {x: 0, y: 0} m_Radius: 0.5 +--- !u!1 &1009138782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1009138784} + - component: {fileID: 1009138783} + m_Layer: 0 + m_Name: MultiplierSpawner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1009138783 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1009138782} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2e3452dfae854c9ec802a4e8fce2813c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MultiplierSpawner + multiplierPrefab: {fileID: 972968151998544523, guid: e0793a7c04bca0662982bfa7f5f60935, type: 3} + gameBoardSpriteRenderer: {fileID: 297740151} +--- !u!4 &1009138784 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1009138782} + 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: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1162851829 GameObject: m_ObjectHideFlags: 0 @@ -2701,3 +2747,4 @@ SceneRoots: - {fileID: 292763468} - {fileID: 40868030} - {fileID: 1162851830} + - {fileID: 1009138784} diff --git a/Assets/Scripts/Game/Multiplier.cs b/Assets/Scripts/Game/Multiplier.cs new file mode 100644 index 0000000..7eaf91a --- /dev/null +++ b/Assets/Scripts/Game/Multiplier.cs @@ -0,0 +1,69 @@ +using UnityEngine; +using System.Collections; + +public class Multiplier : MonoBehaviour +{ + public AudioClip multiplierSound; + + public AudioClip missedSound; + + public AudioClip gotItSound; + + public AudioClip gotHalfSound; + + private int multiplierValue = 0; + + private float multiplierTimer = 0f; + + private float stateTimer = 0f; + + private bool isActive = true; + + private AudioSource audioSource; + + private Animator multiplierAnimator; + + private SpriteRenderer multiplierSpriteRenderer; + + private static float stateDuration = 0.5f; + + private static float multiplierDuration = 30f; + + // Start is called once before the first execution of Update after the MonoBehaviour is created + void Start() + { + audioSource = GetComponent(); + multiplierAnimator = GetComponent(); + multiplierSpriteRenderer = GetComponent(); + + audioSource.PlayOneShot(multiplierSound); + } + + // Update is called once per frame + void FixedUpdate() + { + stateTimer += Time.fixedDeltaTime; + multiplierTimer += Time.fixedDeltaTime; + + if (stateTimer >= stateDuration) + { + stateTimer = 0f; + multiplierValue = ((multiplierValue + 1) % 4); + multiplierAnimator.SetInteger("bonus", multiplierValue + 1); + } + + if (multiplierTimer >= multiplierDuration && isActive) + { + isActive = false; + audioSource.PlayOneShot(missedSound); + multiplierSpriteRenderer.enabled = false; + StartCoroutine(DestroyAfterDelay()); + } + } + + private IEnumerator DestroyAfterDelay() + { + yield return new WaitForSeconds(1.5f); + Destroy(gameObject); + } +} diff --git a/Assets/Scripts/Game/Multiplier.cs.meta b/Assets/Scripts/Game/Multiplier.cs.meta new file mode 100644 index 0000000..34089ef --- /dev/null +++ b/Assets/Scripts/Game/Multiplier.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9c5f36d6d3cd0528480676885849702e \ No newline at end of file diff --git a/Assets/Scripts/Game/MultiplierSpawner.cs b/Assets/Scripts/Game/MultiplierSpawner.cs new file mode 100644 index 0000000..66eafc2 --- /dev/null +++ b/Assets/Scripts/Game/MultiplierSpawner.cs @@ -0,0 +1,60 @@ +using UnityEngine; + +public class MultiplierSpawner : MonoBehaviour +{ + public GameObject multiplierPrefab; + + public SpriteRenderer gameBoardSpriteRenderer; + + private Bounds multiplierBounds; + + private Bounds gameBoardBounds; + + private float spawnTimer = 0f; + + private Vector2 spawnPosition; + + private bool isActive = true; + + private static float spawnProbability = 0.1f; + + // Start is called once before the first execution of Update after the MonoBehaviour is created + void Start() + { + gameBoardBounds = gameBoardSpriteRenderer.bounds; + multiplierBounds = multiplierPrefab.GetComponent().bounds; + Reset(); + } + + // Update is called once per frame + void FixedUpdate() + { + spawnTimer += Time.fixedDeltaTime; + + if (spawnTimer >= 1f && isActive) + { + spawnTimer = 0f; + if (Random.value < spawnProbability) + { + GameObject multiplier = Instantiate(multiplierPrefab, spawnPosition, Quaternion.identity); + isActive = false; + } + } + } + + public void Reset() + { + isActive = true; + spawnTimer = 0f; + spawnPosition = new Vector2( + Random.Range( + gameBoardBounds.min.x + multiplierBounds.extents.x, + gameBoardBounds.max.x - multiplierBounds.extents.x + ), + Random.Range( + gameBoardBounds.min.y + multiplierBounds.extents.y, + gameBoardBounds.max.y - multiplierBounds.extents.y + ) + ); + } +} diff --git a/Assets/Scripts/Game/MultiplierSpawner.cs.meta b/Assets/Scripts/Game/MultiplierSpawner.cs.meta new file mode 100644 index 0000000..2e321ea --- /dev/null +++ b/Assets/Scripts/Game/MultiplierSpawner.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2e3452dfae854c9ec802a4e8fce2813c \ No newline at end of file diff --git a/Assets/Sprites/130.png b/Assets/Sprites/130.png new file mode 100644 index 0000000000000000000000000000000000000000..c827704c552354856d9e08b7b876b35278fb8be7 GIT binary patch literal 1301 zcmV+w1?u{VP)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007 zbV*G`2kHn03Wdm}A|0OuS;B8Wy#;tCPki7z65 z1-IFY2=Ny<=dzdpKt%a_j4_MNX$XbT+=?{u7kKXxV?5+?Jv9I4+?ORdDuoyzCfW&Eid&1y>@rL1+xEWJo@3|WtpzB8NCC`% z)_GW@)WK#1YvvNoTEmNAdX+&$nk}wUx(NKfjv{w z9X>w`_jGbu=sj*u7tDa9+(QaVDJW}aULqm{r2ws=9gjCv4(OCxz1)&ZM7sh50Nw!? z-BaB81#e@|A@>8$$x~d)6Puq2yli{iEOJW%nM#tBcVb<0rek9OW{~(oIa`p`YZ&7!L(rzSENXnoeFO@1+EvE{v6zr0-{Gq87h?5D^gL z0XG&=4Vke7gg-R=E-rwsD>gYNC4Ef7Kf|pBKAo@2wc7=ZY=@;bm->S!EdII+IjbI>+5C$Kgg|hsB`e?v@MN@ zeLkbTT&Brx6qvOEYYjFAae~+P*Jt#m?2qA!(Q#rKDy_p{P4cBXX7q`}- zZF^{K(6&9=wtvdrW>G;5ol={1a?a1!>+IM#mv)~faBS9vi5}E~YsKywd)3#R-yh|U zV)2?;34Dutq(ca6ySwh#-ezN_9F$VIPCRN#DKPT{mcu^*{$*~nQxgyEv<}x(%Gex% zcN+Y!a}Pba%%jVdT?io!rMv&q`R14`#kr%{i^mK`A`QNY1dwI00000 LNkvXXu0mjf$n8ab literal 0 HcmV?d00001 diff --git a/Assets/Sprites/130.png.meta b/Assets/Sprites/130.png.meta new file mode 100644 index 0000000..116a6cb --- /dev/null +++ b/Assets/Sprites/130.png.meta @@ -0,0 +1,236 @@ +fileFormatVersion: 2 +guid: 396f182f764934fab9b37a7507fd6a71 +TextureImporter: + internalIDToNameTable: + - first: + 213: 8500096622099558511 + second: 130_0 + - first: + 213: 7991573596836870317 + second: 130_1 + - first: + 213: 7359948701813016030 + second: 130_2 + - first: + 213: 7651698937045436064 + second: 130_3 + 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: 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: 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 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: 130_0 + rect: + serializedVersion: 2 + x: 1 + y: 1 + width: 21 + height: 21 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: f60fdb4a7d866f570800000000000000 + internalID: 8500096622099558511 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: 130_1 + rect: + serializedVersion: 2 + x: 23 + y: 1 + width: 21 + height: 21 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: da83adb58d5c7ee60800000000000000 + internalID: 7991573596836870317 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: 130_2 + rect: + serializedVersion: 2 + x: 45 + y: 1 + width: 21 + height: 21 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: ed589a0895ac32660800000000000000 + internalID: 7359948701813016030 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: 130_3 + rect: + serializedVersion: 2 + x: 67 + y: 1 + width: 21 + height: 21 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 0a6c3de84ab403a60800000000000000 + internalID: 7651698937045436064 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 26d18326d4d466703ae6145d1bf140b9 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: + - key: SpriteEditor.SliceSettings + value: '{"sliceOnImport":false,"gridCellCount":{"x":1.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":0,"keepEmptyRects":false,"isAlternate":false}' + nameFileIdTable: + 130_0: 8500096622099558511 + 130_1: 7991573596836870317 + 130_2: 7359948701813016030 + 130_3: 7651698937045436064 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: