Skip to content

Commit 4c0dcf0

Browse files
Update physics
1 parent bf29642 commit 4c0dcf0

File tree

19 files changed

+5461
-361
lines changed

19 files changed

+5461
-361
lines changed

Assets/Prefabs/Fruit Slice.prefab

Lines changed: 4814 additions & 0 deletions
Large diffs are not rendered by default.

Assets/Prefabs/Fruit Slice.prefab.meta

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,8 @@ GameObject:
171171
- component: {fileID: 463781191535349612}
172172
- component: {fileID: 6124453430235594041}
173173
m_Layer: 0
174-
m_Name: Apple
175-
m_TagString: Untagged
174+
m_Name: Fruit
175+
m_TagString: Fruit
176176
m_Icon: {fileID: 0}
177177
m_NavMeshLayer: 0
178178
m_StaticEditorFlags: 0

Assets/Prefabs/Knife.prefab

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ BoxCollider2D:
142142
m_Enabled: 1
143143
m_Density: 1
144144
m_Material: {fileID: 0}
145-
m_IsTrigger: 1
145+
m_IsTrigger: 0
146146
m_UsedByEffector: 0
147147
m_UsedByComposite: 0
148148
m_Offset: {x: 0, y: 0}
@@ -166,14 +166,14 @@ Rigidbody2D:
166166
m_PrefabInstance: {fileID: 0}
167167
m_PrefabAsset: {fileID: 0}
168168
m_GameObject: {fileID: 7305310117627508217}
169-
m_BodyType: 1
169+
m_BodyType: 0
170170
m_Simulated: 1
171171
m_UseFullKinematicContacts: 0
172172
m_UseAutoMass: 0
173173
m_Mass: 1
174174
m_LinearDrag: 0
175175
m_AngularDrag: 0.05
176-
m_GravityScale: 1
176+
m_GravityScale: 0
177177
m_Material: {fileID: 0}
178178
m_Interpolate: 0
179179
m_SleepingMode: 1

Assets/Prefabs/Wood Particle.prefab

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,8 @@ ParticleSystem:
220220
m_RotationOrder: 4
221221
startColor:
222222
serializedVersion: 2
223-
minMaxState: 0
224-
minColor: {r: 1, g: 1, b: 1, a: 1}
223+
minMaxState: 2
224+
minColor: {r: 0.47450984, g: 0.2509804, b: 0, a: 1}
225225
maxColor: {r: 0.76470596, g: 0.4431373, b: 0, a: 1}
226226
maxGradient:
227227
serializedVersion: 2

Assets/Scenes/Main.unity

Lines changed: 159 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,7 @@ MonoBehaviour:
519519
inGamePanel: {fileID: 1054862674}
520520
gameOverPanel: {fileID: 1578136681}
521521
stageText: {fileID: 594339823}
522+
fruitsText: {fileID: 0}
522523
scoreText: {fileID: 2138747839}
523524
--- !u!1 &594339821
524525
GameObject:
@@ -653,6 +654,7 @@ GameObject:
653654
m_Component:
654655
- component: {fileID: 1248504424}
655656
- component: {fileID: 1248504425}
657+
- component: {fileID: 1248504426}
656658
m_Layer: 0
657659
m_Name: Player
658660
m_TagString: Untagged
@@ -689,7 +691,19 @@ MonoBehaviour:
689691
shoots: 0
690692
levelManager: {fileID: 0}
691693
mover: {fileID: 0}
692-
speedShooter: 32
694+
speedShooter: 256
695+
--- !u!114 &1248504426
696+
MonoBehaviour:
697+
m_ObjectHideFlags: 0
698+
m_CorrespondingSourceObject: {fileID: 0}
699+
m_PrefabInstance: {fileID: 0}
700+
m_PrefabAsset: {fileID: 0}
701+
m_GameObject: {fileID: 1248504423}
702+
m_Enabled: 1
703+
m_EditorHideFlags: 0
704+
m_Script: {fileID: 11500000, guid: f7f60db334fdf5545af83525c395ef96, type: 3}
705+
m_Name:
706+
m_EditorClassIdentifier:
693707
--- !u!1 &1270277236
694708
GameObject:
695709
m_ObjectHideFlags: 0
@@ -1214,7 +1228,7 @@ Camera:
12141228
m_Enabled: 1
12151229
serializedVersion: 2
12161230
m_ClearFlags: 2
1217-
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
1231+
m_BackGroundColor: {r: 0.764151, g: 0.54782635, b: 0.2559185, a: 1}
12181232
m_projectionMatrixMode: 1
12191233
m_GateFitMode: 2
12201234
m_FOVAxisMode: 0
@@ -1309,6 +1323,7 @@ GameObject:
13091323
- component: {fileID: 1867632155}
13101324
- component: {fileID: 1867632156}
13111325
- component: {fileID: 1867632157}
1326+
- component: {fileID: 1867632158}
13121327
m_Layer: 0
13131328
m_Name: GameManager
13141329
m_TagString: Untagged
@@ -1342,6 +1357,7 @@ MonoBehaviour:
13421357
m_Script: {fileID: 11500000, guid: e0db28ef05bcf3f4f9a187b069083047, type: 3}
13431358
m_Name:
13441359
m_EditorClassIdentifier:
1360+
uIManager: {fileID: 530139050}
13451361
onStartGame:
13461362
m_PersistentCalls:
13471363
m_Calls: []
@@ -1351,7 +1367,6 @@ MonoBehaviour:
13511367
onMainMenu:
13521368
m_PersistentCalls:
13531369
m_Calls: []
1354-
uIManager: {fileID: 530139050}
13551370
--- !u!114 &1867632157
13561371
MonoBehaviour:
13571372
m_ObjectHideFlags: 0
@@ -1375,15 +1390,145 @@ MonoBehaviour:
13751390
type: 3}
13761391
knifePrefab: {fileID: 7305310117627508217, guid: b7a5933300551db4bb2448b8828c4fed,
13771392
type: 3}
1393+
woodParticle: {fileID: 2665583098392238248, guid: 8a51fbfe16e485e44b6a36e24610b25c,
1394+
type: 3}
1395+
fruitsParticle: {fileID: 2665583098392238248, guid: 0ef06a8fd1207b042b3fd9754559c587,
1396+
type: 3}
13781397
player: {fileID: 1248504423}
13791398
wood: {fileID: 1725963183}
13801399
spawnShooter: {fileID: 1484039881}
13811400
onKnifeHitOnWood:
13821401
m_PersistentCalls:
1383-
m_Calls: []
1402+
m_Calls:
1403+
- m_Target: {fileID: 1867632158}
1404+
m_MethodName: PlayOneShot
1405+
m_Mode: 2
1406+
m_Arguments:
1407+
m_ObjectArgument: {fileID: 8300000, guid: 32d4b1811dda14a6cb9e059ee8ad17d2,
1408+
type: 3}
1409+
m_ObjectArgumentAssemblyTypeName: UnityEngine.AudioClip, UnityEngine
1410+
m_IntArgument: 0
1411+
m_FloatArgument: 0
1412+
m_StringArgument:
1413+
m_BoolArgument: 0
1414+
m_CallState: 2
13841415
onKnifeHitOnKnife:
1416+
m_PersistentCalls:
1417+
m_Calls:
1418+
- m_Target: {fileID: 1867632158}
1419+
m_MethodName: PlayOneShot
1420+
m_Mode: 2
1421+
m_Arguments:
1422+
m_ObjectArgument: {fileID: 8300000, guid: 724131bc8a7f34041bb9f1701f0cb58d,
1423+
type: 3}
1424+
m_ObjectArgumentAssemblyTypeName: UnityEngine.AudioClip, UnityEngine
1425+
m_IntArgument: 0
1426+
m_FloatArgument: 0
1427+
m_StringArgument:
1428+
m_BoolArgument: 0
1429+
m_CallState: 2
1430+
onScore:
13851431
m_PersistentCalls:
13861432
m_Calls: []
1433+
onFruitSlice:
1434+
m_PersistentCalls:
1435+
m_Calls: []
1436+
--- !u!82 &1867632158
1437+
AudioSource:
1438+
m_ObjectHideFlags: 0
1439+
m_CorrespondingSourceObject: {fileID: 0}
1440+
m_PrefabInstance: {fileID: 0}
1441+
m_PrefabAsset: {fileID: 0}
1442+
m_GameObject: {fileID: 1867632154}
1443+
m_Enabled: 1
1444+
serializedVersion: 4
1445+
OutputAudioMixerGroup: {fileID: 0}
1446+
m_audioClip: {fileID: 0}
1447+
m_PlayOnAwake: 1
1448+
m_Volume: 1
1449+
m_Pitch: 1
1450+
Loop: 0
1451+
Mute: 0
1452+
Spatialize: 0
1453+
SpatializePostEffects: 0
1454+
Priority: 128
1455+
DopplerLevel: 1
1456+
MinDistance: 1
1457+
MaxDistance: 500
1458+
Pan2D: 0
1459+
rolloffMode: 0
1460+
BypassEffects: 0
1461+
BypassListenerEffects: 0
1462+
BypassReverbZones: 0
1463+
rolloffCustomCurve:
1464+
serializedVersion: 2
1465+
m_Curve:
1466+
- serializedVersion: 3
1467+
time: 0
1468+
value: 1
1469+
inSlope: 0
1470+
outSlope: 0
1471+
tangentMode: 0
1472+
weightedMode: 0
1473+
inWeight: 0.33333334
1474+
outWeight: 0.33333334
1475+
- serializedVersion: 3
1476+
time: 1
1477+
value: 0
1478+
inSlope: 0
1479+
outSlope: 0
1480+
tangentMode: 0
1481+
weightedMode: 0
1482+
inWeight: 0.33333334
1483+
outWeight: 0.33333334
1484+
m_PreInfinity: 2
1485+
m_PostInfinity: 2
1486+
m_RotationOrder: 4
1487+
panLevelCustomCurve:
1488+
serializedVersion: 2
1489+
m_Curve:
1490+
- serializedVersion: 3
1491+
time: 0
1492+
value: 0
1493+
inSlope: 0
1494+
outSlope: 0
1495+
tangentMode: 0
1496+
weightedMode: 0
1497+
inWeight: 0.33333334
1498+
outWeight: 0.33333334
1499+
m_PreInfinity: 2
1500+
m_PostInfinity: 2
1501+
m_RotationOrder: 4
1502+
spreadCustomCurve:
1503+
serializedVersion: 2
1504+
m_Curve:
1505+
- serializedVersion: 3
1506+
time: 0
1507+
value: 0
1508+
inSlope: 0
1509+
outSlope: 0
1510+
tangentMode: 0
1511+
weightedMode: 0
1512+
inWeight: 0.33333334
1513+
outWeight: 0.33333334
1514+
m_PreInfinity: 2
1515+
m_PostInfinity: 2
1516+
m_RotationOrder: 4
1517+
reverbZoneMixCustomCurve:
1518+
serializedVersion: 2
1519+
m_Curve:
1520+
- serializedVersion: 3
1521+
time: 0
1522+
value: 1
1523+
inSlope: 0
1524+
outSlope: 0
1525+
tangentMode: 0
1526+
weightedMode: 0
1527+
inWeight: 0.33333334
1528+
outWeight: 0.33333334
1529+
m_PreInfinity: 2
1530+
m_PostInfinity: 2
1531+
m_RotationOrder: 4
13871532
--- !u!1 &1985169515
13881533
GameObject:
13891534
m_ObjectHideFlags: 0
@@ -1709,6 +1854,16 @@ PrefabInstance:
17091854
value:
17101855
objectReference: {fileID: 21300000, guid: bb9d03ce593855d4fa0e109b335b10d5,
17111856
type: 3}
1857+
- target: {fileID: 4211526475553293578, guid: 66a1eabf7705e6f48a942d158e830853,
1858+
type: 3}
1859+
propertyPath: m_Radius
1860+
value: 1.6
1861+
objectReference: {fileID: 0}
1862+
- target: {fileID: 4211526475553293578, guid: 66a1eabf7705e6f48a942d158e830853,
1863+
type: 3}
1864+
propertyPath: m_IsTrigger
1865+
value: 0
1866+
objectReference: {fileID: 0}
17121867
- target: {fileID: 4211526476807759078, guid: 66a1eabf7705e6f48a942d158e830853,
17131868
type: 3}
17141869
propertyPath: m_Name

Assets/Scripts/Actors/Knife.cs

Lines changed: 56 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,73 @@
1-
using System.Collections;
21
using UnityEngine;
2+
using OpenKnife.Managers;
3+
using OpenKnife.Utils;
34

4-
public class Knife : MonoBehaviour
5+
namespace OpenKnife.Gameplay
56
{
67

7-
public bool isPlayer = false;
8+
public class Knife : MonoBehaviour
9+
{
810

9-
private Rigidbody2D m_rigidbody2D;
10-
private LevelManager levelManager;
11+
public bool isPlayer = false;
1112

12-
private void Awake()
13-
{
14-
m_rigidbody2D = GetComponent<Rigidbody2D>();
15-
levelManager = GameManager.instance.GetComponent<LevelManager>();
16-
}
13+
private Rigidbody2D m_rigidbody2D;
14+
private LevelManager m_LevelManager;
15+
private ConstantForce2D m_Mover;
1716

18-
private void OnTriggerEnter2D(Collider2D other)
19-
{
20-
if(!isPlayer) return;
17+
private void Awake()
18+
{
19+
m_rigidbody2D = GetComponent<Rigidbody2D>();
20+
m_LevelManager = GameManager.instance.GetComponent<LevelManager>();
21+
}
2122

22-
if(other.tag == "Knife")
23+
private void StopPlayerMovement()
2324
{
2425
isPlayer = false;
25-
GetComponent<Mover>().speed = 0f;
26-
m_rigidbody2D.bodyType = RigidbodyType2D.Dynamic;
27-
m_rigidbody2D.AddForceAtPosition(PhysicsUtils.GetRandomForce(128f,256f),Vector3.up);
26+
m_Mover = GetComponent<ConstantForce2D>();
27+
m_Mover.force = Vector2.zero;
28+
m_Mover.enabled = false;
2829

29-
levelManager.onKnifeHitOnKnife.Invoke();
30-
31-
}else
30+
m_rigidbody2D.velocity = Vector2.zero;
31+
m_rigidbody2D.angularVelocity = 0f;
32+
}
3233

33-
if (other.tag == "Wood")
34+
private void OnTriggerEnter2D(Collider2D other)
3435
{
35-
gameObject.transform.parent = other.gameObject.transform.parent;
36-
GetComponent<Mover>().speed = 0f;
37-
isPlayer = false;
36+
if (!isPlayer) return;
37+
38+
if (other.gameObject.tag == "Fruit")
39+
{
40+
41+
m_LevelManager.onFruitSlice.Invoke();
42+
Destroy(other.gameObject);
43+
44+
}
45+
46+
}
47+
48+
private void OnCollisionEnter2D(Collision2D other)
49+
{
50+
if (!isPlayer) return;
51+
52+
if (other.gameObject.tag == "Knife")
53+
{
54+
55+
StopPlayerMovement();
56+
m_rigidbody2D.AddForce(PhysicsUtils.GetRandomForce(32f, 32f),
57+
ForceMode2D.Impulse);
58+
m_LevelManager.onKnifeHitOnKnife.Invoke();
59+
m_rigidbody2D.gravityScale = 1;
60+
61+
}
62+
else if (other.gameObject.tag == "Wood")
63+
{
64+
m_rigidbody2D.velocity = Vector2.zero;
65+
m_rigidbody2D.bodyType = RigidbodyType2D.Kinematic;
66+
StopPlayerMovement();
67+
gameObject.transform.parent = other.transform.parent;
68+
m_LevelManager.onKnifeHitOnWood.Invoke();
3869

39-
levelManager.onKnifeHitOnWood.Invoke();
40-
70+
}
4171
}
42-
4372
}
4473
}

0 commit comments

Comments
 (0)