void ICmpCollisionListener.OnCollisionBegin(Component sender, CollisionEventArgs args) { if (heading == kHeading.kHeadingWest) { heading = kHeading.kHeadingEast; GameObj.GetComponent <SpriteRenderer>().Flip = SpriteRenderer.FlipMode.Horizontal; } else if (heading == kHeading.kHeadingEast) { heading = kHeading.kHeadingWest; GameObj.GetComponent <SpriteRenderer>().Flip = SpriteRenderer.FlipMode.None; } if (heading == kHeading.kHeadingNorth) { heading = kHeading.kHeadingSouth; } else if (heading == kHeading.kHeadingSouth) { heading = kHeading.kHeadingNorth; } }
private void handleMovement() { float xSpeed = Speed; float ySpeed = Speed; if (PlayerNum == 1) { if (DualityApp.Keyboard[Key.D]) { //m_Transform.Pos = new Vector3(m_Transform.Pos.X + (Speed * Time.TimeMult), m_Transform.Pos.Y, m_Transform.Pos.Z); //move right //m_Rigidbody.LinearVelocity = Vector2.UnitX * Speed; //m_Rigidbody.ApplyLocalForce(new Vector2(10,0)); currentHeading = kHeading.kHeadingEast; } else if (DualityApp.Keyboard[Key.A]) { xSpeed = xSpeed * -1; m_Rigidbody.ApplyLocalForce(new Vector2(-10, 0)); //m_Transform.Pos = new Vector3(m_Transform.Pos.X - (Speed * Time.TimeMult), m_Transform.Pos.Y, m_Transform.Pos.Z); //move left currentHeading = kHeading.kHeadingWest; } else { xSpeed = 0; } if (DualityApp.Keyboard[Key.W]) { //m_Transform.Pos = new Vector3(m_Transform.Pos.X, m_Transform.Pos.Y - (Speed * Time.TimeMult), m_Transform.Pos.Z); //move down ySpeed = ySpeed * -1; currentHeading = kHeading.kHeadingNorth; } else if (DualityApp.Keyboard[Key.S]) { //m_Transform.Pos = new Vector3(m_Transform.Pos.X, m_Transform.Pos.Y + (Speed * Time.TimeMult), m_Transform.Pos.Z); //move up currentHeading = kHeading.kHeadingSouth; } else { ySpeed = 0; } m_Rigidbody.LinearVelocity = new Vector2(xSpeed, ySpeed); } else if (PlayerNum == 2) { if (DualityApp.Keyboard[Key.Right]) { //m_Transform.Pos = new Vector3(m_Transform.Pos.X + (Speed * Time.TimeMult), m_Transform.Pos.Y, m_Transform.Pos.Z); //move right //m_Rigidbody.LinearVelocity = Vector2.UnitX * Speed; //m_Rigidbody.ApplyLocalForce(new Vector2(10,0)); currentHeading = kHeading.kHeadingEast; } else if (DualityApp.Keyboard[Key.Left]) { xSpeed = xSpeed * -1; m_Rigidbody.ApplyLocalForce(new Vector2(-10, 0)); //m_Transform.Pos = new Vector3(m_Transform.Pos.X - (Speed * Time.TimeMult), m_Transform.Pos.Y, m_Transform.Pos.Z); //move left currentHeading = kHeading.kHeadingWest; } else { xSpeed = 0; } if (DualityApp.Keyboard[Key.Up]) { //m_Transform.Pos = new Vector3(m_Transform.Pos.X, m_Transform.Pos.Y - (Speed * Time.TimeMult), m_Transform.Pos.Z); //move down ySpeed = ySpeed * -1; currentHeading = kHeading.kHeadingNorth; } else if (DualityApp.Keyboard[Key.Down]) { //m_Transform.Pos = new Vector3(m_Transform.Pos.X, m_Transform.Pos.Y + (Speed * Time.TimeMult), m_Transform.Pos.Z); //move up currentHeading = kHeading.kHeadingSouth; } else { ySpeed = 0; } m_Rigidbody.LinearVelocity = new Vector2(xSpeed, ySpeed); } }