끔찍한 씬 이동 밑 레벨 관리 추가

This commit is contained in:
백민승_crow 2026-02-04 20:43:12 +09:00
parent 56667ad065
commit 9a38c5f42a
33 changed files with 4688 additions and 652 deletions

8
Assets/LevelData.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c66ca2597426e7b4fbe0ad406df10b0e
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: 5087a0fc59fa2114bb1b856716323530, type: 3}
m_Name: Level_1
m_EditorClassIdentifier: Assembly-CSharp::LevelData
levelIndex: 1
timeLimit: 30
maxLives: 3

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f4f85a1ce9799cd4fb8614a664da3fa5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 5087a0fc59fa2114bb1b856716323530, type: 3}
m_Name: Level_2
m_EditorClassIdentifier: Assembly-CSharp::LevelData
levelIndex: 2
timeLimit: 10
maxLives: 3

View File

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

View File

@ -0,0 +1,154 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1723293409309942786
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 157655442561767499}
- component: {fileID: 8039928902706395577}
- component: {fileID: 6580144020370754174}
- component: {fileID: 7708323734573527887}
m_Layer: 0
m_Name: Cheese
m_TagString: Cheese
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &157655442561767499
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1723293409309942786}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0.13571554, w: 0.99074787}
m_LocalPosition: {x: 16.547451, y: -3.03, z: 0}
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 15.6}
--- !u!212 &8039928902706395577
SpriteRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1723293409309942786}
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: a97c105638bdf8b4a8650670310a4cd3, 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: 0
m_SortingLayer: 0
m_SortingOrder: 2
m_MaskInteraction: 0
m_Sprite: {fileID: 8702720203184124558, guid: 4e6da9c4bedaac34982a028a70bfcc04, 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.5555556, y: 2.6666667}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_SpriteSortPoint: 0
--- !u!61 &6580144020370754174
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1723293409309942786}
m_Enabled: 1
serializedVersion: 3
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 1
m_UsedByEffector: 0
m_CompositeOperation: 0
m_CompositeOrder: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 2.5555556, y: 2.6666667}
newSize: {x: 2.5555556, y: 2.6666667}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
m_Size: {x: 2.8, y: 2.82}
m_EdgeRadius: 0
--- !u!114 &7708323734573527887
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1723293409309942786}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d8ba17a771eb27744ab0d54f89b7ff5b, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::GoalTrigger
clearMessageUI: {fileID: 0}

View File

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

View File

@ -1,6 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1538924022026605654
--- !u!1 &1491469079505780105
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -8,53 +8,206 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7164146207333947427}
- component: {fileID: 6942057299278436525}
- component: {fileID: 5134170768772759255}
- component: {fileID: 7009870489835163622}
- component: {fileID: 5940310186835932795}
- component: {fileID: 2119694338591544419}
- component: {fileID: 3895176987648530024}
- component: {fileID: 7378494799762680206}
m_Layer: 5
m_Name: LevelButton
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7164146207333947427
--- !u!224 &2119694338591544419
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1538924022026605654}
m_GameObject: {fileID: 1491469079505780105}
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: 6446226269638845272}
m_Father: {fileID: 0}
m_Children: []
m_Father: {fileID: 9127942014827868196}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6942057299278436525
--- !u!222 &3895176987648530024
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1538924022026605654}
m_GameObject: {fileID: 1491469079505780105}
m_CullTransparentMesh: 1
--- !u!114 &5134170768772759255
--- !u!114 &7378494799762680206
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1538924022026605654}
m_GameObject: {fileID: 1491469079505780105}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Text
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 86
m_FontStyle: 1
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 86
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 1
--- !u!1 &3005772440769021716
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4968466316599476035}
- component: {fileID: 7781501032389546361}
- component: {fileID: 3355018682821006466}
m_Layer: 5
m_Name: LockImage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &4968466316599476035
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3005772440769021716}
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: 3935615810158346941}
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: 110, y: 110}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7781501032389546361
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3005772440769021716}
m_CullTransparentMesh: 1
--- !u!114 &3355018682821006466
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3005772440769021716}
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: 0, g: 0, b: 0, a: 0.29803923}
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
--- !u!1 &3424401853676871554
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9127942014827868196}
- component: {fileID: 932858263788394230}
- component: {fileID: 7451157250173494354}
- component: {fileID: 1992964018908465426}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &9127942014827868196
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3424401853676871554}
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: 2119694338591544419}
m_Father: {fileID: 3935615810158346941}
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!222 &932858263788394230
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3424401853676871554}
m_CullTransparentMesh: 1
--- !u!114 &7451157250173494354
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3424401853676871554}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
@ -78,13 +231,13 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7009870489835163622
--- !u!114 &1992964018908465426
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1538924022026605654}
m_GameObject: {fileID: 3424401853676871554}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
@ -118,25 +271,11 @@ MonoBehaviour:
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 5134170768772759255}
m_TargetGraphic: {fileID: 7451157250173494354}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &5940310186835932795
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1538924022026605654}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4b32cee391efb1e49ad5ad90b23d52ef, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::LevelSceneSelector
levelText: {fileID: 6096055493288703044}
_button: {fileID: 7009870489835163622}
--- !u!1 &7787910500462044237
--- !u!1 &6676152532560757279
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -144,74 +283,48 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6446226269638845272}
- component: {fileID: 3674450738976435748}
- component: {fileID: 6096055493288703044}
- component: {fileID: 3935615810158346941}
- component: {fileID: 4614490859695339251}
m_Layer: 5
m_Name: LevelText
m_Name: LevelButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6446226269638845272
--- !u!224 &3935615810158346941
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7787910500462044237}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_GameObject: {fileID: 6676152532560757279}
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: 7164146207333947427}
m_Children:
- {fileID: 9127942014827868196}
- {fileID: 4968466316599476035}
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_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3674450738976435748
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7787910500462044237}
m_CullTransparentMesh: 1
--- !u!114 &6096055493288703044
--- !u!114 &4614490859695339251
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7787910500462044237}
m_GameObject: {fileID: 6676152532560757279}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Script: {fileID: 11500000, guid: 4b32cee391efb1e49ad5ad90b23d52ef, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Text
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 86
m_FontStyle: 1
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 86
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 1
m_EditorClassIdentifier: Assembly-CSharp::SelectLevelButton
levelText: {fileID: 7378494799762680206}
_button: {fileID: 1992964018908465426}
lockImage: {fileID: 3355018682821006466}

8
Assets/Prefabs/UI.meta Normal file
View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -119,6 +119,55 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &28081815
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 28081817}
- component: {fileID: 28081816}
m_Layer: 0
m_Name: GameManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &28081816
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 28081815}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 806e213460df2c540bb2b0660b7bd736, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::GameManager
levelData:
- {fileID: 11400000, guid: f4f85a1ce9799cd4fb8614a664da3fa5, type: 2}
- {fileID: 11400000, guid: dd54817aa4e91174180a03191742c339, type: 2}
currentState: 0
levelUI: {fileID: 0}
--- !u!4 &28081817
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 28081815}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 873.07635, y: 551.7191, 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 &360246229
GameObject:
m_ObjectHideFlags: 0
@ -424,7 +473,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 94479f1f693e5d44480cad8f468aaf40, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::GenerateLevelButtons
levelButtonPrefab: {fileID: 1538924022026605654, guid: f95ae697ca9fc244d8e49bfb4c68c3c2, type: 3}
levelButtonPrefab: {fileID: 6676152532560757279, guid: f95ae697ca9fc244d8e49bfb4c68c3c2, type: 3}
buttonsGrid: {fileID: 1228202765}
--- !u!1 &885456815
GameObject:
@ -791,3 +840,4 @@ SceneRoots:
- {fileID: 360246232}
- {fileID: 885456819}
- {fileID: 703230328}
- {fileID: 28081817}

View File

@ -198,109 +198,6 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &285871623
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 285871627}
- component: {fileID: 285871626}
- component: {fileID: 285871625}
- component: {fileID: 285871624}
m_Layer: 5
m_Name: UI
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &285871624
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 285871623}
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!114 &285871625
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 285871623}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &285871626
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 285871623}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &285871627
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 285871623}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1157925016}
- {fileID: 1471101855}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &309926745
GameObject:
m_ObjectHideFlags: 0
@ -451,7 +348,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1c367f7ce16fad44a8c04ccebbd8a354, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::CameraEffect
target: {fileID: 0}
smoothTime: 0.3
offset: {x: 0, y: 0, z: -10}
--- !u!1 &1105961119
@ -542,85 +438,6 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 73364fc97b4eb7e45b919a613e9bc3e4, type: 3}
--- !u!1 &1157925015
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1157925016}
- component: {fileID: 1157925018}
- component: {fileID: 1157925017}
m_Layer: 5
m_Name: ClearMessage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &1157925016
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1157925015}
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: 285871627}
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: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1157925017
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1157925015}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Text
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 100
m_FontStyle: 1
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 100
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: Stage Clear
--- !u!222 &1157925018
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1157925015}
m_CullTransparentMesh: 1
--- !u!1 &1189707407
GameObject:
m_ObjectHideFlags: 0
@ -668,250 +485,103 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1471101854
GameObject:
--- !u!1001 &1651118052
PrefabInstance:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1471101855}
- component: {fileID: 1471101857}
- component: {fileID: 1471101856}
- component: {fileID: 1471101858}
m_Layer: 5
m_Name: FpsText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1471101855
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1471101854}
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: 285871627}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -110, y: -45}
m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1471101856
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1471101854}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Text
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, 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_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 40
m_FontStyle: 1
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 100
m_Alignment: 2
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: 'fps : 60'
--- !u!222 &1471101857
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1471101854}
m_CullTransparentMesh: 1
--- !u!114 &1471101858
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1471101854}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3f717f275185b6f4980de77d83f7fc2f, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::UpdateFpsUI
--- !u!1 &1712523066
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1712523068}
- component: {fileID: 1712523067}
- component: {fileID: 1712523069}
- component: {fileID: 1712523070}
m_Layer: 0
m_Name: Cheese
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!212 &1712523067
SpriteRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1712523066}
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: a97c105638bdf8b4a8650670310a4cd3, 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: 0
m_SortingLayer: 0
m_SortingOrder: 2
m_MaskInteraction: 0
m_Sprite: {fileID: 8702720203184124558, guid: 4e6da9c4bedaac34982a028a70bfcc04, 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.5555556, y: 2.6666667}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_SpriteSortPoint: 0
--- !u!4 &1712523068
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1712523066}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0.13571554, w: 0.99074787}
m_LocalPosition: {x: 16.547451, y: -3.03, z: 0}
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 15.6}
--- !u!61 &1712523069
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1712523066}
m_Enabled: 1
serializedVersion: 3
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 1
m_UsedByEffector: 0
m_CompositeOperation: 0
m_CompositeOrder: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 2.5555556, y: 2.6666667}
newSize: {x: 2.5555556, y: 2.6666667}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
m_Size: {x: 2.8, y: 2.82}
m_EdgeRadius: 0
--- !u!114 &1712523070
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1712523066}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d8ba17a771eb27744ab0d54f89b7ff5b, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::GoalTrigger
clearMessageUI: {fileID: 1157925015}
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_Pivot.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6575799500092977550, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8600203771751163148, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
propertyPath: m_Name
value: LevelUI
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: a9db1da172f932f4bbcecad853218a22, type: 3}
--- !u!1 &1809668540
GameObject:
m_ObjectHideFlags: 0
@ -2540,6 +2210,67 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 0ff36777e0b72734ba4daae379a71a08, type: 3}
--- !u!1001 &7253877491187406608
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 157655442561767499, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: m_LocalPosition.x
value: 16.547451
objectReference: {fileID: 0}
- target: {fileID: 157655442561767499, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: m_LocalPosition.y
value: -3.03
objectReference: {fileID: 0}
- target: {fileID: 157655442561767499, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 157655442561767499, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: m_LocalRotation.w
value: 0.99074787
objectReference: {fileID: 0}
- target: {fileID: 157655442561767499, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 157655442561767499, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 157655442561767499, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: m_LocalRotation.z
value: 0.13571554
objectReference: {fileID: 0}
- target: {fileID: 157655442561767499, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 157655442561767499, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 157655442561767499, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 15.6
objectReference: {fileID: 0}
- target: {fileID: 1723293409309942786, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: m_Name
value: Cheese
objectReference: {fileID: 0}
- target: {fileID: 7708323734573527887, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
propertyPath: clearMessageUI
value:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 89d1343a9ab90d448b8aa2bdba1fb6d1, type: 3}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
@ -2551,5 +2282,5 @@ SceneRoots:
- {fileID: 1148222664}
- {fileID: 5090408070280094752}
- {fileID: 153518993}
- {fileID: 1712523068}
- {fileID: 285871627}
- {fileID: 7253877491187406608}
- {fileID: 1651118052}

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e8659922057195140b7822feae614f92
guid: f26e7773abc948940ad5bbd0d020ca78
DefaultImporter:
externalObjects: {}
userData:

View File

@ -0,0 +1,151 @@
using UnityEngine;
using UnityEngine.SceneManagement;
public enum GameState
{
Lobby,Preview,Playing,Die,Paused,GameOver
}
public class GameManager : MonoBehaviour
{
[SerializeField] private LevelData[] levelData;
public static GameManager instance;
public GameState currentState;
public LevelUI levelUI;
public int clearLevelIndex { get; private set; }
// 스테이지 내부 정보
private int currentStageLevel;
private int currentLives;
private float timeForLive;
private float stageTimer;
private void Awake()
{
if (instance == null)
{
instance = this;
DontDestroyOnLoad(gameObject);
}
else
{
Destroy(gameObject);
}
clearLevelIndex = PlayerPrefs.GetInt("ClearLevelIndex", 1);
}
private void Update()
{
if (currentState == GameState.Playing)
{
stageTimer -= Time.deltaTime;
levelUI.timer.text = $"타이머 : {(int)stageTimer}";
if (stageTimer <= 0)
{
PlayerDie();
}
}
}
public void PlayerDie()
{
currentLives--;
levelUI.livesCount.text = $"목숨 : {currentLives}";
if (currentLives > 0)
{
ChangeState(GameState.Die);
RecordingManager.instance.StopPlayingRecord();
stageTimer = timeForLive;
}
else
{
EndGame();
levelUI.EnableGameOverUI();
}
}
public void PlayerAlive()
{
ChangeState(GameState.Playing);
}
public void EnterLevel(int level)
{
LevelData data = levelData[level - 1];
if (data == null)
{
Debug.LogError("레벨 데이터가 없습니다");
return;
}
currentStageLevel = data.levelIndex;
currentLives = data.maxLives;
timeForLive = data.timeLimit;
stageTimer = timeForLive;
ChangeState(GameState.Preview);
}
public void LevelClear()
{
if (currentStageLevel > clearLevelIndex)
{
clearLevelIndex = currentStageLevel + 1;
PlayerPrefs.SetInt("ClearLevelIndex", clearLevelIndex);
}
levelUI.EnableClearUI();
ChangeState(GameState.GameOver);
}
public void RetryLevel()
{
OpenLevel(currentStageLevel);
}
public void NextLevel()
{
if (levelData.Length + 1 > currentStageLevel)
{
OpenLevel(levelData[currentStageLevel].levelIndex);
}
else
{
ExitLevel();
}
}
public void ExitLevel()
{
SceneManager.LoadScene("LevelSelction");
ChangeState(GameState.Lobby);
}
private void EndGame()
{
ChangeState(GameState.GameOver);
}
private void ChangeState(GameState newState)
{
currentState = newState;
Time.timeScale = currentState == GameState.Paused ? 0 : 1;
}
public void OpenLevel(int level)
{
string sceneName = "Level_" + level.ToString();
if (Application.CanStreamedLevelBeLoaded(sceneName))
{
SceneManager.LoadScene(sceneName);
EnterLevel(level);
}
else
{
Debug.Log($"{level} 레벨 씬이 존재하지 않음");
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 806e213460df2c540bb2b0660b7bd736

View File

@ -3,23 +3,12 @@ using UnityEngine.InputSystem;
public class GoalTrigger : MonoBehaviour
{
[Header("UI Settings")]
[SerializeField] private GameObject clearMessageUI;
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.CompareTag("Player"))
{
ShowClearMessage();
GameManager.instance.LevelClear();
}
}
private void ShowClearMessage()
{
if (clearMessageUI != null)
{
clearMessageUI.SetActive(true);
}
GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerController>().enabled = false;
}
}

View File

@ -0,0 +1,9 @@
using UnityEngine;
[CreateAssetMenu(fileName = "LevelData", menuName = "Level/LevelData")]
public class LevelData : ScriptableObject
{
public int levelIndex;
public float timeLimit;
public int maxLives;
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 5087a0fc59fa2114bb1b856716323530

View File

@ -1,94 +0,0 @@
using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;
public class LevelManager : MonoBehaviour
{
public static LevelManager instance;
public enum GameState { Ready, Playing, GameOver}
public GameState CurrentGameState { get; private set; }
public Transform CameraTarget { get; private set; }
[SerializeField] private float timeLimit;
[SerializeField] private int replayCounts;
[SerializeField] private Transform cheesePosition;
[SerializeField] private Transform playerPosition;
private float currentTimer;
void Awake()
{
DontDestroyOnLoad(gameObject);
if (instance == null)
{
instance = this;
}
else
{
Destroy(gameObject);
}
}
void Start()
{
StartCoroutine(LevelStart());
}
private void Update()
{
if (CurrentGameState == GameState.Playing)
{
UpdateTimer();
}
}
private void UpdateTimer()
{
currentTimer += Time.deltaTime;
if(currentTimer > timeLimit)
{
replayCounts--;
if (replayCounts > 0)
{
RecordingManager.instance.StopPlayingRecord();
}
else
{
CurrentGameState = GameState.GameOver;
}
}
}
private void InitTimer()
{
currentTimer = 0;
}
private IEnumerator LevelStart()
{
CurrentGameState = GameState.Ready;
yield return new WaitForSeconds(1f);
CameraTarget = cheesePosition;
yield return new WaitForSeconds(2f);
CameraTarget = playerPosition;
yield return new WaitForSeconds(1f);
CurrentGameState = GameState.Playing;
}
public void OnTakeCheese()
{
}
private void LoadNextLevel()
{
}
}

View File

@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 13bfa08da3b5c704c9b53422eee4c0ab

38
Assets/Scripts/LevelUI.cs Normal file
View File

@ -0,0 +1,38 @@
using UnityEngine;
using UnityEngine.UI;
public class LevelUI : MonoBehaviour
{
[Header("레벨 종료 UI")]
[SerializeField] private GameObject GameOverUI;
[SerializeField] private GameObject GameClearUI;
[Header("레벨 종료 UI 버튼들")]
[SerializeField] private Button s_levelSelectButton;
[SerializeField] private Button f_levelSelectButton;
[SerializeField] private Button retryButton;
[SerializeField] private Button continueButton;
[Header("유틸리티")]
public Text timer;
public Text livesCount;
private void Start()
{
GameManager.instance.levelUI = this;
s_levelSelectButton.onClick.AddListener(GameManager.instance.ExitLevel);
f_levelSelectButton.onClick.AddListener(GameManager.instance.ExitLevel);
retryButton.onClick.AddListener(GameManager.instance.RetryLevel);
continueButton.onClick.AddListener(GameManager.instance.NextLevel);
}
public void EnableGameOverUI()
{
GameOverUI.SetActive(true);
}
public void EnableClearUI()
{
GameClearUI.SetActive(true);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: d4a15e56157326b45ab678b7d01419d7

View File

@ -18,35 +18,52 @@ public class PlayerController : MonoBehaviour
private void OnMove(InputValue value)
{
moveInputBuffer = value.Get<Vector2>();
if (GameManager.instance.currentState == GameState.Playing)
{
moveInputBuffer = value.Get<Vector2>();
}
}
private void OnJump(InputValue value)
{
if (value.isPressed)
if (GameManager.instance.currentState == GameState.Playing)
{
jumpBuffer = true;
if (value.isPressed)
{
jumpBuffer = true;
}
}
}
private void OnHang(InputValue value)
{
if (value.isPressed)
if (GameManager.instance.currentState == GameState.Playing)
{
hangBuffer = true;
if (value.isPressed)
{
hangBuffer = true;
}
}
}
private void OnRetry(InputValue value)
{
if (value.isPressed)
if (GameManager.instance.currentState == GameState.Playing)
{
RecordingManager.instance.StopPlayingRecord();
if (value.isPressed)
{
GameManager.instance.PlayerDie();
}
}
}
private void FixedUpdate()
{
if (GameManager.instance.currentState != GameState.Playing)
{
return;
}
InputFrame currentFrame = new InputFrame(moveInputBuffer.x, jumpBuffer, hangBuffer);
_inputRecorder?.Record(currentFrame);

View File

@ -37,6 +37,12 @@ public class PlayerMovement : MonoBehaviour
private void FixedUpdate()
{
if (GameManager.instance.currentState != GameState.Playing)
{
_rigidbody2D.linearVelocity = new Vector2(0, _rigidbody2D.linearVelocity.y);
return;
}
if (isHanging)
{
if (inputVector.x != 0)
@ -59,6 +65,11 @@ public class PlayerMovement : MonoBehaviour
public void TryJump()
{
if (GameManager.instance.currentState != GameState.Playing)
{
return;
}
if (isHanging)
{
CancelHanging();
@ -72,6 +83,10 @@ public class PlayerMovement : MonoBehaviour
public void TryHang()
{
if (GameManager.instance.currentState != GameState.Playing)
{
return;
}
if (isHanging)
{
CancelHanging();

View File

@ -67,19 +67,22 @@ public class RecordingManager : MonoBehaviour
public void PlayerAllRecord()
{
CancelInvoke("PlayerAllRecord");
isPlaying = true;
currentReplayIndex = 0;
currentPlayer = Instantiate(playerPrefab, spawnPoint.position, Quaternion.identity);
currentPlayerRecorder = currentPlayer.GetComponent<InputRecorder>();
currentPlayerRecorder.StartRecording();
GameManager.instance.currentState = GameState.Playing;
activeGhostList.Clear();
if (!(allRecordedFrames.Count > 0))
{
return;
}
GameManager.instance.PlayerAlive();
foreach (var record in allRecordedFrames)
{
@ -99,6 +102,7 @@ public class RecordingManager : MonoBehaviour
public void StopPlayingRecord()
{
CancelInvoke("PlayerAllRecord");
isPlaying = false;
currentPlayerRecorder.StopRecording();

View File

@ -8,25 +8,19 @@ public class SelectLevelButton : MonoBehaviour
[SerializeField] private Text levelText;
[SerializeField] private Button _button;
[SerializeField] private Image lockImage;
public void SetUp(int level)
{
this.level = level;
levelText.text = level.ToString();
_button.onClick.AddListener(OnClickLevelButton);
bool isUnlocked = GameManager.instance.clearLevelIndex >= level;
lockImage.gameObject.SetActive(!isUnlocked);
}
public void OnClickLevelButton()
{
string sceneName = "Level_" + level.ToString();
if (Application.CanStreamedLevelBeLoaded(sceneName))
{
SceneManager.LoadScene(sceneName);
}
else
{
Debug.Log($"{level} 레벨 씬이 존재하지 않음");
}
GameManager.instance.OpenLevel(level);
}
}

View File

@ -1,14 +1,15 @@
using System.Collections;
using UnityEngine;
public class CameraEffect : MonoBehaviour
{
public Transform target;
private Transform target;
public float smoothTime = 0.3f;
public Vector3 offset = new Vector3(0, 0, -10f);
private Vector3 _velocity = Vector3.zero;
void Update()
private void Update()
{
if (target == null)
{

View File

@ -0,0 +1,11 @@
using UnityEngine;
using UnityEditor;
public class ResetPlayerPrefs : MonoBehaviour
{
[MenuItem("Window/PlayerPrefs 초기화")]
private static void ResetPrefs()
{
PlayerPrefs.SetInt("ClearLevelIndex", 1);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 800ea1e8b51e6094fa83fffacac8e0f2

View File

@ -17,7 +17,6 @@ public class UpdateFpsUI : MonoBehaviour
void Update()
{
Debug.Log("Test");
frameCount++;
deltaTime += Time.unscaledDeltaTime;
if (deltaTime > 1)

View File

@ -5,6 +5,7 @@ TagManager:
serializedVersion: 3
tags:
- Ground
- Cheese
layers:
- Default
- TransparentFX