Added level

This commit is contained in:
Hazim Bin Ijaz 2025-08-22 20:43:18 +05:00
parent a811e2bc70
commit 1804d2d4b3
10 changed files with 837 additions and 9 deletions

View File

@ -7743,6 +7743,127 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 58977073} m_PrefabInstance: {fileID: 58977073}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!1 &59673816
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 59673822}
- component: {fileID: 59673821}
- component: {fileID: 59673820}
- component: {fileID: 59673819}
- component: {fileID: 59673818}
m_Layer: 0
m_Name: Trigger L1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &59673818
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 59673816}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0b4302f1f4adaa7459679bfdb9c36650, type: 3}
m_Name:
m_EditorClassIdentifier:
playerTag: Player
levelIndexToStart: 0
oneShot: 1
--- !u!65 &59673819
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 59673816}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 1
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &59673820
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 59673816}
m_Enabled: 0
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, 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: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &59673821
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 59673816}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &59673822
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 59673816}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 141.0367, y: 26.4137, z: 389.6348}
m_LocalScale: {x: 17.00827, y: 2.3127, z: 15.96308}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &59942680 --- !u!1001 &59942680
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -45497,6 +45618,24 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 268364652} m_PrefabInstance: {fileID: 268364652}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!114 &269148361 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 385312391933029727, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
m_PrefabInstance: {fileID: 447491950}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9de313fb3f367d04bbd130657183cdc8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &269148367 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
m_PrefabInstance: {fileID: 447491950}
m_PrefabAsset: {fileID: 0}
--- !u!1 &270497163 --- !u!1 &270497163
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -69176,6 +69315,99 @@ MeshFilter:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 446839706} m_GameObject: {fileID: 446839706}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1001 &447491950
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 481936153}
m_Modifications:
- target: {fileID: 3951388154437428790, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: enableRegen
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4006626876238256025, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_Name
value: Enemy (1)
objectReference: {fileID: 0}
- target: {fileID: 4006626876238256025, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalScale.x
value: 0.05879492
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalScale.y
value: 0.43239498
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalScale.z
value: 0.06264454
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalPosition.x
value: -0.103
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalPosition.y
value: 0.16271059
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalPosition.z
value: -0.274
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: a205c5f30032031428dae83c4a2f2af8, type: 3}
--- !u!1001 &447901445 --- !u!1001 &447901445
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -74454,6 +74686,40 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 480673091} m_PrefabInstance: {fileID: 480673091}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!1 &481936152
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 481936153}
m_Layer: 0
m_Name: Enemies
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &481936153
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 481936152}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 17.00827, y: 2.3127, z: 15.96308}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1806068479}
- {fileID: 269148367}
- {fileID: 2008455231}
m_Father: {fileID: 1078692958}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &483243085 --- !u!1 &483243085
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -168155,6 +168421,57 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 1078679029} m_PrefabInstance: {fileID: 1078679029}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!1 &1078692956
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1078692958}
- component: {fileID: 1078692957}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1078692957
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1078692956}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 42850bd66917c2648a04c287cd0fa78f, type: 3}
m_Name:
m_EditorClassIdentifier:
enemiesParent: {fileID: 481936153}
enemies:
- {fileID: 1806068473}
- {fileID: 269148361}
- {fileID: 2008455225}
checkInterval: 0.25
--- !u!4 &1078692958
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1078692956}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 141.0367, y: 26.4137, z: 389.6348}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 481936153}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1080331081 --- !u!1001 &1080331081
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -293565,6 +293882,52 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 1754425684} m_PrefabInstance: {fileID: 1754425684}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!1 &1755519503
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1755519505}
- component: {fileID: 1755519504}
m_Layer: 0
m_Name: GameplayManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1755519504
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1755519503}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4497af8e23ccf414794a5808125f4aa5, type: 3}
m_Name:
m_EditorClassIdentifier:
levels:
- {fileID: 1078692957}
--- !u!4 &1755519505
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1755519503}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 141.0367, y: 26.4137, z: 389.6348}
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!1001 &1756934197 --- !u!1001 &1756934197
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -300942,6 +301305,24 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 1805929970} m_PrefabInstance: {fileID: 1805929970}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!114 &1806068473 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 385312391933029727, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
m_PrefabInstance: {fileID: 1527259665985799113}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9de313fb3f367d04bbd130657183cdc8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &1806068479 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
m_PrefabInstance: {fileID: 1527259665985799113}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &1806685759 --- !u!1001 &1806685759
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -313298,6 +313679,94 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 1886256379} m_PrefabInstance: {fileID: 1886256379}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!1001 &1886577979
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 481936153}
m_Modifications:
- target: {fileID: 4006626876238256025, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_Name
value: Enemy (2)
objectReference: {fileID: 0}
- target: {fileID: 4006626876238256025, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalScale.x
value: 0.05879492
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalScale.y
value: 0.43239498
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalScale.z
value: 0.06264454
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalPosition.x
value: -0.049
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalPosition.y
value: 0.16271059
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalPosition.z
value: 0.118
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: a205c5f30032031428dae83c4a2f2af8, type: 3}
--- !u!1001 &1887138831 --- !u!1001 &1887138831
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -330805,6 +331274,24 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 2008147940} m_PrefabInstance: {fileID: 2008147940}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!114 &2008455225 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 385312391933029727, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
m_PrefabInstance: {fileID: 1886577979}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9de313fb3f367d04bbd130657183cdc8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &2008455231 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
m_PrefabInstance: {fileID: 1886577979}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &2008475454 --- !u!1001 &2008475454
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -354632,27 +355119,52 @@ PrefabInstance:
serializedVersion: 2 serializedVersion: 2
m_Modification: m_Modification:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 0} m_TransformParent: {fileID: 481936153}
m_Modifications: m_Modifications:
- target: {fileID: 3951388154437428790, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: enableRegen
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4006626876238256025, guid: a205c5f30032031428dae83c4a2f2af8, - target: {fileID: 4006626876238256025, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
value: Enemy value: Enemy
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4006626876238256025, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalScale.x
value: 0.05879492
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalScale.y
value: 0.43239498
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3}
propertyPath: m_LocalScale.z
value: 0.06264454
objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8, - target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3} type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
value: 123.2 value: 0.224
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8, - target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3} type: 3}
propertyPath: m_LocalPosition.y propertyPath: m_LocalPosition.y
value: 26.79 value: 0.16271059
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8, - target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3} type: 3}
propertyPath: m_LocalPosition.z propertyPath: m_LocalPosition.z
value: 341.72 value: -0.136
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8, - target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3} type: 3}
@ -354662,17 +355174,17 @@ PrefabInstance:
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8, - target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3} type: 3}
propertyPath: m_LocalRotation.x propertyPath: m_LocalRotation.x
value: 0 value: -0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8, - target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3} type: 3}
propertyPath: m_LocalRotation.y propertyPath: m_LocalRotation.y
value: 0 value: -0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8, - target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3} type: 3}
propertyPath: m_LocalRotation.z propertyPath: m_LocalRotation.z
value: 0 value: -0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8, - target: {fileID: 7154477416992791333, guid: a205c5f30032031428dae83c4a2f2af8,
type: 3} type: 3}
@ -356035,5 +356547,7 @@ SceneRoots:
- {fileID: 2042403783257441060} - {fileID: 2042403783257441060}
- {fileID: 812152301} - {fileID: 812152301}
- {fileID: 1282845313} - {fileID: 1282845313}
- {fileID: 1527259665985799113}
- {fileID: 1308217107} - {fileID: 1308217107}
- {fileID: 1078692958}
- {fileID: 59673822}
- {fileID: 1755519505}

View File

@ -124,7 +124,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
maxHealth: 100 maxHealth: 100
health: 100 health: 100
enableRegen: 1 enableRegen: 0
regenPerSecond: 1.5 regenPerSecond: 1.5
regenDelayAfterDamage: 4 regenDelayAfterDamage: 4
healthFillImage: {fileID: 0} healthFillImage: {fileID: 0}

View File

@ -0,0 +1,84 @@
using System;
using System.Collections.Generic;
using UnityEngine;
public class GameplayManager : MonoBehaviour
{
public static GameplayManager Instance = null;
[Header("Assign levels in order (Level 1 at index 0)")]
public List<Level> levels;
private int currentLevelIndex = -1;
private Level currentLevel;
private void Awake()
{
if (Instance == null)
Instance = this;
else if (Instance != this)
{
DestroyImmediate(gameObject);
return;
}
DontDestroyOnLoad(gameObject);
// Ensure all levels are disabled initially
foreach (var lvl in levels)
{
if (lvl != null) lvl.gameObject.SetActive(false);
}
}
public void StartLevel(int index)
{
if (index < 0 || index >= levels.Count)
{
Debug.LogError($"GameplayManager: Invalid level index {index}");
return;
}
// End previous level if any
if (currentLevel != null)
{
currentLevel.OnLevelEnd();
currentLevel.gameObject.SetActive(false);
}
currentLevelIndex = index;
currentLevel = levels[currentLevelIndex];
currentLevel.gameObject.SetActive(true);
currentLevel.OnLevelStart();
Debug.Log($"GameplayManager: Started Level {currentLevelIndex + 1}");
}
public void CompleteCurrentLevel()
{
if (currentLevel == null) return;
Debug.Log($"GameplayManager: Level {currentLevelIndex + 1} completed.");
currentLevel.OnLevelEnd();
currentLevel.gameObject.SetActive(false);
currentLevel = null;
// If you want to auto-progress:
int next = currentLevelIndex + 1;
if (next < levels.Count)
{
StartLevel(next);
}
else
{
Debug.Log("GameplayManager: All levels completed!");
}
}
// Optional: callable by a trigger to start Level 1 specifically
public void StartLevelOne()
{
StartLevel(0);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4497af8e23ccf414794a5808125f4aa5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

29
Assets/Scripts/Level.cs Normal file
View File

@ -0,0 +1,29 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public abstract class Level : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
public virtual void OnLevelStart()
{
}
public virtual void OnLevelEnd()
{
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8afbbb6c328f08d44bd0e79d228ec1c8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

108
Assets/Scripts/Level1.cs Normal file
View File

@ -0,0 +1,108 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Level1 : Level
{
[Header("Enemy Setup")]
[Tooltip("Optional: parent whose children have EnemyBase components")]
public Transform enemiesParent;
[Tooltip("Or manually assign enemies here")]
public List<EnemyBase> enemies = new List<EnemyBase>();
[Header("Monitoring")]
[Tooltip("How often to check alive enemies")]
public float checkInterval = 0.25f;
private bool _running;
private Coroutine _monitorCo;
public override void OnLevelStart()
{
base.OnLevelStart();
// Collect enemies if using a parent
if (enemiesParent != null)
{
enemies.Clear();
foreach (Transform child in enemiesParent)
{
var eb = child.GetComponent<EnemyBase>();
if (eb != null) enemies.Add(eb);
}
}
// Turn enemies on & let their own Start() find the player
foreach (var e in enemies)
{
if (e == null) continue;
e.gameObject.SetActive(true);
}
// Edge case: no enemies -> complete immediately
if (CountAlive() == 0)
{
CompleteLevel();
return;
}
_running = true;
_monitorCo = StartCoroutine(MonitorEnemies());
Debug.Log("Level1: Started, monitoring enemies...");
}
public override void OnLevelEnd()
{
base.OnLevelEnd();
_running = false;
if (_monitorCo != null)
{
StopCoroutine(_monitorCo);
_monitorCo = null;
}
}
private IEnumerator MonitorEnemies()
{
var wait = new WaitForSeconds(checkInterval);
while (_running)
{
if (CountAlive() == 0)
{
CompleteLevel();
yield break;
}
yield return wait;
}
}
private int CountAlive()
{
int alive = 0;
for (int i = 0; i < enemies.Count; i++)
{
var e = enemies[i];
if (e != null && e.gameObject.activeInHierarchy && !e.IsDead())
alive++;
}
return alive;
}
private void CompleteLevel()
{
Debug.Log("Level1: All enemies defeated. Completing level.");
_running = false;
// Tell GameplayManager if available
if (GameplayManager.Instance != null)
{
GameplayManager.Instance.CompleteCurrentLevel();
}
else
{
// Fallback: just disable this level object
gameObject.SetActive(false);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 42850bd66917c2648a04c287cd0fa78f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,49 @@
using UnityEngine;
[RequireComponent(typeof(Collider))]
public class LevelStartTrigger : MonoBehaviour
{
[SerializeField] private string playerTag = "Player";
[SerializeField] private int levelIndexToStart = 0; // Level 1 = 0
[Tooltip("Disable the trigger after first use")]
[SerializeField] private bool oneShot = true;
private bool _used;
private void Reset()
{
var col = GetComponent<Collider>();
if (col) col.isTrigger = true;
}
private void OnTriggerEnter(Collider other)
{
if (_used) return;
if (!other.CompareTag(playerTag)) return;
_used = true;
// Prefer using GameplayManager
if (GameplayManager.Instance != null)
{
GameplayManager.Instance.StartLevel(levelIndexToStart);
}
else
{
// Fallback: find any Level component at index and start manually
// (only used if your manager doesn't have StartLevel yet)
var level = FindObjectOfType<Level1>();
if (level != null)
{
level.gameObject.SetActive(true);
level.OnLevelStart();
}
else
{
Debug.LogWarning("LevelStartTrigger: No GameplayManager and no Level1 found.");
}
}
if (oneShot) gameObject.SetActive(false);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 0b4302f1f4adaa7459679bfdb9c36650
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: