diff --git a/Assets/Scripts/Astronaut.cs b/Assets/Scripts/Astronaut.cs index 4884ce0..82cd84c 100644 --- a/Assets/Scripts/Astronaut.cs +++ b/Assets/Scripts/Astronaut.cs @@ -7,7 +7,7 @@ public class Astronaut : MonoBehaviour { private AstronautAnimator _astronautAnimator; public enum AstronautState { - Idle, Walking, Jumping, Dashing, Ejecting, Dead + Idle, Walking, Jumping, Dashing, Stun, Ejecting, Dead } public GameObject Rotator; @@ -93,6 +93,7 @@ public class Astronaut : MonoBehaviour { { planet = FindObjectOfType(); } + planet.addPlayer(); State = AstronautState.Idle; theta = 0; @@ -290,6 +291,8 @@ public class Astronaut : MonoBehaviour { vSpeed = EjectSpeed; _astronautAnimator.Eject(); grounded = false; + + planet.playerDeath(this); } /// @@ -297,7 +300,7 @@ public class Astronaut : MonoBehaviour { /// public void Stun() { - print("Stunned"); + //TODO } public void OnGUI() diff --git a/Assets/Scripts/PlanetManager.cs b/Assets/Scripts/PlanetManager.cs index 59cdc7c..c5ee485 100644 --- a/Assets/Scripts/PlanetManager.cs +++ b/Assets/Scripts/PlanetManager.cs @@ -18,9 +18,11 @@ public class PlanetManager : MonoBehaviour private float disbalance = 0f; public GameObject WedgePrefab = null; public List wedges = new List(); + private int numPlayer; // Use this for initialization public void Awake () { + numPlayer = 0; TailleCartiersEnDegres = 360.0f / NbCartiers; balanceValue = (CartierMaxRatio + CartierMinRatio) / 2; @@ -46,6 +48,11 @@ public class PlanetManager : MonoBehaviour } + public void addPlayer() + { + numPlayer++; + } + public void setColor(float val) { foreach (Wedge w in wedges) { @@ -171,7 +178,7 @@ public class PlanetManager : MonoBehaviour //si player sur la plateforme et grounded if (w.tMax >= p.GetTheta() && p.GetTheta() >= w.tMin && p.IsGrounded()) { - p.Eject(); + p.Eject(); } } } @@ -179,6 +186,23 @@ public class PlanetManager : MonoBehaviour } } + public void playerDeath(Astronaut aPlayer) + { + numPlayer--; + //check if all players are dead + if (numPlayer < 2) + { + if (numPlayer < 1) + { + print("game is lost"); + } + else + { + print("winner is you!"); + } + } + } + //public void PushWedge(float thetaPlayerX) //{ // var index = GetWedgeIndex(thetaPlayerX); @@ -277,7 +301,6 @@ public class PlanetManager : MonoBehaviour /// public Wedge GetWedgeFromTheta(float thetaPlayerX) { - print(GetWedgeIndex((thetaPlayerX)%360)); return wedges[GetWedgeIndex((thetaPlayerX) % 360)]; }