public Player(GameObject gameObject) : base(gameObject) { strategy = new Walk(GameObject.Transform, animator); lifesAmount = 2; isFrozen = false; xPlus = 5; score = 0; }
public void Update() { if (GameWorld.Instance.RestartGame) { lifesAmount = 2; score = 0; isFrozen = false; xPlus = 5; strategy = new Walk(GameObject.Transform, animator); GameObject.Transform.Position = new Vector2(310, 50); (GameObject.GetComponent("SpriteRenderer") as SpriteRenderer).Color = Color.White; (GameObject.GetComponent("SpriteRenderer") as SpriteRenderer).Rotation = 0; (GameObject.GetComponent("Collider") as Collider).DoCollisionCheck = true; } if (lifesAmount <= 0) { GameWorld.Instance.PlayGame = false; } Move(); }
public void Move() { translation = Vector2.Zero; keyState = Keyboard.GetState(); if (isFrozen) { (GameObject.GetComponent("SpriteRenderer") as SpriteRenderer).Color = Color.Blue; (GameObject.GetComponent("Collider") as Collider).DoCollisionCheck = false; strategy = new Fall(GameObject.Transform, animator, GameObject.GetComponent("SpriteRenderer") as SpriteRenderer); isFrozen = false; } if ((strategy is Fall) && GameObject.Transform.Position.Y >= 750) { GameObject.Transform.Position = new Vector2(310, 50); (GameObject.GetComponent("SpriteRenderer") as SpriteRenderer).Color = Color.White; (GameObject.GetComponent("SpriteRenderer") as SpriteRenderer).Rotation = 0; (GameObject.GetComponent("Collider") as Collider).DoCollisionCheck = true; strategy = new Walk(GameObject.Transform, animator); lifesAmount -= 1; } else if ((strategy is Run) && GameObject.Transform.Position.Y >= 750) { GameObject.Transform.Position = new Vector2(310, 50); strategy = new Walk(GameObject.Transform, animator); lifesAmount -= 1; } else if ((strategy is Walk) && GameObject.Transform.Position.Y >= 750) { GameObject.Transform.Position = new Vector2(310, 50); lifesAmount -= 1; } if ((strategy is Walk) && keyState.IsKeyDown(Keys.R)) { strategy = new Run(GameObject.Transform, animator); if (GameObject.Transform.Position.Y >= 750) { GameObject.Transform.Position = new Vector2(310, 50); strategy = new Walk(GameObject.Transform, animator); lifesAmount -= 1; } } else if ((strategy is Walk) && keyState.IsKeyDown(Keys.Space) && GameObject.Transform.Position.X <= 310) { strategy = new JumpRight(GameObject.Transform, animator); if (GameWorld.Instance.PlaySound) { GameWorld.Instance.Engine.Play2D("Content/flapping.wav", false); } } else if ((strategy is Walk) && keyState.IsKeyDown(Keys.Space) && GameObject.Transform.Position.X >= 880) { strategy = new JumpLeft(GameObject.Transform, animator); if (GameWorld.Instance.PlaySound) { GameWorld.Instance.Engine.Play2D("Content/flapping.wav", false); } } if ((strategy is Run) && keyState.IsKeyUp(Keys.R)) { strategy = new Walk(GameObject.Transform, animator); } if (((strategy is JumpLeft) && GameObject.Transform.Position.X <= 310) || ((strategy is JumpRight) && GameObject.Transform.Position.X >= 880)) { strategy = new Walk(GameObject.Transform, animator); if (GameWorld.Instance.PlaySound) { GameWorld.Instance.Engine.Play2D("Content/click.wav", false); } } strategy.Execute(); }