Skip to content

Commit 520c866

Browse files
committed
Add death sequence and win state
1 parent 6306ba5 commit 520c866

File tree

5 files changed

+143
-7
lines changed

5 files changed

+143
-7
lines changed

Assets/Prefabs/Explosion.prefab

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ BoxCollider2D:
5959
adaptiveTiling: 0
6060
m_AutoTiling: 0
6161
serializedVersion: 2
62-
m_Size: {x: 0.5, y: 0.5}
62+
m_Size: {x: 0.25, y: 0.25}
6363
m_EdgeRadius: 0
6464
--- !u!114 &805732483383335703
6565
MonoBehaviour:

Assets/Scenes/Bomberman.unity

Lines changed: 74 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,54 @@ NavMeshSettings:
123123
debug:
124124
m_Flags: 0
125125
m_NavMeshData: {fileID: 0}
126+
--- !u!1 &209817201
127+
GameObject:
128+
m_ObjectHideFlags: 0
129+
m_CorrespondingSourceObject: {fileID: 0}
130+
m_PrefabInstance: {fileID: 0}
131+
m_PrefabAsset: {fileID: 0}
132+
serializedVersion: 6
133+
m_Component:
134+
- component: {fileID: 209817202}
135+
- component: {fileID: 209817203}
136+
m_Layer: 0
137+
m_Name: Game Manager
138+
m_TagString: Untagged
139+
m_Icon: {fileID: 0}
140+
m_NavMeshLayer: 0
141+
m_StaticEditorFlags: 0
142+
m_IsActive: 1
143+
--- !u!4 &209817202
144+
Transform:
145+
m_ObjectHideFlags: 0
146+
m_CorrespondingSourceObject: {fileID: 0}
147+
m_PrefabInstance: {fileID: 0}
148+
m_PrefabAsset: {fileID: 0}
149+
m_GameObject: {fileID: 209817201}
150+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
151+
m_LocalPosition: {x: 0, y: 0, z: 0}
152+
m_LocalScale: {x: 1, y: 1, z: 1}
153+
m_Children: []
154+
m_Father: {fileID: 0}
155+
m_RootOrder: 0
156+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
157+
--- !u!114 &209817203
158+
MonoBehaviour:
159+
m_ObjectHideFlags: 0
160+
m_CorrespondingSourceObject: {fileID: 0}
161+
m_PrefabInstance: {fileID: 0}
162+
m_PrefabAsset: {fileID: 0}
163+
m_GameObject: {fileID: 209817201}
164+
m_Enabled: 1
165+
m_EditorHideFlags: 0
166+
m_Script: {fileID: 11500000, guid: be6202b4bd6cdfe4aacbc20d3babb30d, type: 3}
167+
m_Name:
168+
m_EditorClassIdentifier:
169+
players:
170+
- {fileID: 933875586}
171+
- {fileID: 1517356615}
172+
- {fileID: 1500048776}
173+
- {fileID: 637034399}
126174
--- !u!1 &519420028
127175
GameObject:
128176
m_ObjectHideFlags: 0
@@ -204,8 +252,18 @@ Transform:
204252
m_LocalScale: {x: 1, y: 1, z: 1}
205253
m_Children: []
206254
m_Father: {fileID: 0}
207-
m_RootOrder: 0
255+
m_RootOrder: 1
208256
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
257+
--- !u!1 &637034399 stripped
258+
GameObject:
259+
m_CorrespondingSourceObject: {fileID: 5879614341149993150, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
260+
m_PrefabInstance: {fileID: 1304070952}
261+
m_PrefabAsset: {fileID: 0}
262+
--- !u!1 &933875586 stripped
263+
GameObject:
264+
m_CorrespondingSourceObject: {fileID: 5879614341149993150, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
265+
m_PrefabInstance: {fileID: 1359170171}
266+
m_PrefabAsset: {fileID: 0}
209267
--- !u!1 &1169247070
210268
GameObject:
211269
m_ObjectHideFlags: 0
@@ -1218,7 +1276,7 @@ Transform:
12181276
- {fileID: 1594877515}
12191277
- {fileID: 1169247071}
12201278
m_Father: {fileID: 0}
1221-
m_RootOrder: 1
1279+
m_RootOrder: 2
12221280
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
12231281
--- !u!1001 &1304070952
12241282
PrefabInstance:
@@ -1325,7 +1383,7 @@ PrefabInstance:
13251383
objectReference: {fileID: 21300000, guid: af10806d507c8fd4b8f3c44ba9c6bb9e, type: 3}
13261384
- target: {fileID: 5879614341149993120, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
13271385
propertyPath: m_RootOrder
1328-
value: 5
1386+
value: 6
13291387
objectReference: {fileID: 0}
13301388
- target: {fileID: 5879614341149993120, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
13311389
propertyPath: m_LocalPosition.x
@@ -1406,7 +1464,7 @@ PrefabInstance:
14061464
m_Modifications:
14071465
- target: {fileID: 5879614341149993120, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
14081466
propertyPath: m_RootOrder
1409-
value: 2
1467+
value: 3
14101468
objectReference: {fileID: 0}
14111469
- target: {fileID: 5879614341149993120, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
14121470
propertyPath: m_LocalPosition.x
@@ -1563,7 +1621,7 @@ PrefabInstance:
15631621
objectReference: {fileID: 21300000, guid: 81380da6c433aeb42b9862a2e723b6a2, type: 3}
15641622
- target: {fileID: 5879614341149993120, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
15651623
propertyPath: m_RootOrder
1566-
value: 3
1624+
value: 4
15671625
objectReference: {fileID: 0}
15681626
- target: {fileID: 5879614341149993120, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
15691627
propertyPath: m_LocalPosition.x
@@ -1635,6 +1693,16 @@ PrefabInstance:
16351693
objectReference: {fileID: 0}
16361694
m_RemovedComponents: []
16371695
m_SourcePrefab: {fileID: 100100000, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
1696+
--- !u!1 &1500048776 stripped
1697+
GameObject:
1698+
m_CorrespondingSourceObject: {fileID: 5879614341149993150, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
1699+
m_PrefabInstance: {fileID: 1665676281}
1700+
m_PrefabAsset: {fileID: 0}
1701+
--- !u!1 &1517356615 stripped
1702+
GameObject:
1703+
m_CorrespondingSourceObject: {fileID: 5879614341149993150, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
1704+
m_PrefabInstance: {fileID: 1372341731}
1705+
m_PrefabAsset: {fileID: 0}
16381706
--- !u!1 &1594877514
16391707
GameObject:
16401708
m_ObjectHideFlags: 0
@@ -3861,7 +3929,7 @@ PrefabInstance:
38613929
objectReference: {fileID: 21300000, guid: bb7fd9261dff14e458d24b4b5f89c728, type: 3}
38623930
- target: {fileID: 5879614341149993120, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
38633931
propertyPath: m_RootOrder
3864-
value: 4
3932+
value: 5
38653933
objectReference: {fileID: 0}
38663934
- target: {fileID: 5879614341149993120, guid: 6bdbecbdf34cd67488978d9895d00820, type: 3}
38673935
propertyPath: m_LocalPosition.x

Assets/Scripts/GameManager.cs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using UnityEngine;
2+
using UnityEngine.SceneManagement;
3+
4+
public class GameManager : MonoBehaviour
5+
{
6+
public GameObject[] players;
7+
8+
public void CheckWinState()
9+
{
10+
int aliveCount = 0;
11+
12+
foreach (GameObject player in players)
13+
{
14+
if (player.activeSelf) {
15+
aliveCount++;
16+
}
17+
}
18+
19+
if (aliveCount <= 1) {
20+
Invoke(nameof(NewRound), 3f);
21+
}
22+
}
23+
24+
private void NewRound()
25+
{
26+
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
27+
}
28+
29+
}

Assets/Scripts/GameManager.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Scripts/MovementController.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public class MovementController : MonoBehaviour
1818
public AnimatedSpriteRenderer spriteRendererDown;
1919
public AnimatedSpriteRenderer spriteRendererLeft;
2020
public AnimatedSpriteRenderer spriteRendererRight;
21+
public AnimatedSpriteRenderer spriteRendererDeath;
2122
private AnimatedSpriteRenderer activeSpriteRenderer;
2223

2324
private void Awake()
@@ -62,4 +63,31 @@ private void SetDirection(Vector2 newDirection, AnimatedSpriteRenderer spriteRen
6263
activeSpriteRenderer.idle = direction == Vector2.zero;
6364
}
6465

66+
private void OnTriggerEnter2D(Collider2D other)
67+
{
68+
if (other.gameObject.layer == LayerMask.NameToLayer("Explosion")) {
69+
DeathSequence();
70+
}
71+
}
72+
73+
private void DeathSequence()
74+
{
75+
enabled = false;
76+
GetComponent<BombController>().enabled = false;
77+
78+
spriteRendererUp.enabled = false;
79+
spriteRendererDown.enabled = false;
80+
spriteRendererLeft.enabled = false;
81+
spriteRendererRight.enabled = false;
82+
spriteRendererDeath.enabled = true;
83+
84+
Invoke(nameof(OnDeathSequenceEnded), 1.25f);
85+
}
86+
87+
private void OnDeathSequenceEnded()
88+
{
89+
gameObject.SetActive(false);
90+
FindObjectOfType<GameManager>().CheckWinState();
91+
}
92+
6593
}

0 commit comments

Comments
 (0)