private void Awake() { _brain = GetComponent <RatBrain>(); _playerID = GetComponent <RatPlayer>().PlayerID; _ratPlayer = GetComponent <RatPlayer>(); }
private void OnCollisionEnter2D(Collision2D collision) { if (IsHeld == true) { return; } if (IsPlayer) { RatBrain brain = GetComponent <RatBrain>(); if (brain.IsYote == false) { return; } } if (_killMode == true) { Debug.Log("killhit " + collision.collider.gameObject.name); } if (collision.collider.CompareTag("Player") && _killMode && Kills) { RatPlayer yeeter = this.LastYeeter.GetComponent <RatPlayer>(); RatPlayer hit = collision.collider.GetComponent <RatPlayer>(); hit.Kill(); if (hit != yeeter) { yeeter.AwardPoint(); } Cinemachine.CinemachineImpulseSource impulse = GetComponent <Cinemachine.CinemachineImpulseSource>(); impulse?.GenerateImpulse(this.MyRigidbody.velocity); AudioManager.Instance.PlaySound(HitSFX, this.transform.position); if (!IsPlayer) { PoolManager.Instance.releaseObject(this.gameObject); } Cloud.Spawn(collision.contacts[0].point, Cloud.Size.Large); _killMode = false; } else { if (_killMode) { AudioManager.Instance.PlaySound(HitGroundSFX, collision.contacts[0].point, AudioManager.MixerGroup.SFX, 0.8f); Cloud.Spawn(collision.contacts[0].point, Cloud.Size.Small); } _killMode = false; } if (SpinOnThrow) { this.Animator?.Play("ItemSpin"); } else { this.Animator?.Play("ItemIdle"); } if (collision.collider.CompareTag("Planet")) { var r2d = GetComponent <Rigidbody2D>(); r2d.velocity = Vector3.zero; r2d.Sleep(); } if (IsPlayer) { ReleaseAndSetKinematic(); } }