Added level
This commit is contained in:
parent
a811e2bc70
commit
1804d2d4b3
@ -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}
|
||||||
|
@ -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}
|
||||||
|
84
Assets/Scripts/GameplayManager.cs
Normal file
84
Assets/Scripts/GameplayManager.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
11
Assets/Scripts/GameplayManager.cs.meta
Normal file
11
Assets/Scripts/GameplayManager.cs.meta
Normal 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
29
Assets/Scripts/Level.cs
Normal 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()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
11
Assets/Scripts/Level.cs.meta
Normal file
11
Assets/Scripts/Level.cs.meta
Normal 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
108
Assets/Scripts/Level1.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
11
Assets/Scripts/Level1.cs.meta
Normal file
11
Assets/Scripts/Level1.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 42850bd66917c2648a04c287cd0fa78f
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
49
Assets/Scripts/LevelStartTrigger.cs
Normal file
49
Assets/Scripts/LevelStartTrigger.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
11
Assets/Scripts/LevelStartTrigger.cs.meta
Normal file
11
Assets/Scripts/LevelStartTrigger.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0b4302f1f4adaa7459679bfdb9c36650
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Loading…
x
Reference in New Issue
Block a user