// Update is called once per frame void Update() { if (hotness != null) { if (hotness.GetIsHot() && trailObject != null) { trailObject.transform.position = new Vector3(transform.position.x, transform.position.y, -1); } if (hotness.GetIsHot() != hot) { hot = hotness.GetIsHot(); if (hot) { trailObject = Instantiate(trailPrefab); trailObject.transform.position = new Vector3(transform.position.x, transform.position.y, -1); trail = trailObject.GetComponent <ParticleSystem>(); trailObject.GetComponent <BallTrailCollider>().SetBallSource(ballSource); } else { if (trailObject != null) { trail.Stop(); } } } } }
void OnCollisionEnter2D(Collision2D coll) { if (hotness.GetIsHot() && coll.collider.tag == "Player") { cameraShake.StartShake(); } }
public void OnTriggerEnter2D(Collider2D coll) { if (hotness.GetIsHot() && smackable && coll.tag == "Smack") { rb.velocity = (transform.position - coll.transform.position).normalized * knockbackSpeed; source.SetThrower(coll.gameObject.transform.parent.transform.parent.GetComponent <PlayerData>()); } }
void FixedUpdate() { if (hotness.GetIsHot() && rigid.velocity.magnitude > seekThreshold) { GameObject target = FindClosestPlayer(); Vector3 currentDirection = rigid.velocity.normalized; Vector3 targetDirection = (target.transform.position - this.transform.position).normalized; Vector3 newDirection = Vector3.Slerp(currentDirection, targetDirection, Time.deltaTime * aggressiveness); rigid.velocity = newDirection * rigid.velocity.magnitude; } }
void OnCollisionEnter2D(Collision2D coll) { if (hotness.GetIsHot()) { if (coll.collider.tag == "Player") { GameObject particles = Instantiate(particlesPrefab); particles.transform.position = transform.position; particles.GetComponent <BallParticleSystem>().SetColor( PlayerManager.inst.GetColor(source.GetThrower().num)); } } }
void OnCollisionEnter2D(Collision2D coll) { if (hotness.GetIsHot()) { switch (coll.collider.tag) { case "Player": AudioManager.instance.PlayClipAtPoint(AudioManager.instance.playerHit, transform.position); break; default: AudioManager.instance.PlayClipAtPoint(AudioManager.instance.otherHit, transform.position); break; } } }