Exemplo n.º 1
0
    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;
        }
    }
Exemplo n.º 2
0
    // 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>();
    }
Exemplo n.º 3
0
 public void MinusCount(Splatter.SplatColour c)
 {
     //SplatCounts[(int)c] -= 1;
 }
Exemplo n.º 4
0
 public void AddCount(Splatter.SplatColour c)
 {
     SplatCounts[(int)c] += 1;
 }