private void OnCollisionEnter(Collision collision) { string collisionTag = collision.gameObject.tag; if (collisionTag.Contains("Obstacle_Flat")) { //rb.AddForce(rb.velocity * SpeedCoefficient, ForceMode.VelocityChange); rb.AddForce(rb.velocity * SpeedCoefficient, ForceMode.VelocityChange); SpeedCoefficient *= 0.9f; // Easing function - how will the coefficient decrease over time } else if (collisionTag.Contains("Bumper")) { SpeedCoefficient = 1; rb.AddForce(rb.velocity.normalized * 5, ForceMode.VelocityChange); } if (collision.gameObject.tag.Contains("Random")) { SplatColour = (Splatter.SplatColour)Random.Range(0, 5); } if (collision.gameObject.tag.Contains("Colour")) { SplatColour = collision.gameObject.GetComponent <Wall>().Colour; } }
// Start is called before the first frame update void Start() { SplatColour = Splatter.SplatColour.N; oldPos = transform.position; rb = this.gameObject.GetComponent <Rigidbody>(); rb.AddForce(InitialVelocity * SpeedCoefficient, ForceMode.VelocityChange); sc = this.gameObject.GetComponent <SphereCollider>(); lc = GameObject.Find("LevelController").GetComponent <LevelController>(); }
public void MinusCount(Splatter.SplatColour c) { //SplatCounts[(int)c] -= 1; }
public void AddCount(Splatter.SplatColour c) { SplatCounts[(int)c] += 1; }