public override void Use() { Animator anim = GetComponent <Animator>(); if (anim == null) { Debug.LogWarning("NULL"); } anim.SetTrigger("Attack"); _attacking = true; _camera.ShakeCamera(0, 0.08f, 0.1f); StabSound.Play(); //Strike(); }
private void FixedUpdate() { m_Grounded = false; // The player is grounded if a circlecast to the groundcheck position hits anything designated as ground // This can be done using layers instead but Sample Assets will not overwrite your project settings. Collider2D[] colliders = Physics2D.OverlapCircleAll(m_GroundCheck.position, k_GroundedRadius, m_WhatIsGround); for (int i = 0; i < colliders.Length; i++) { if (colliders[i].gameObject != gameObject) { m_Grounded = true; } } if (prevGrounded != m_Grounded && m_Grounded) { // Add slight camera shake effect camEffects.ShakeCamera(0.01f, 0.01f); Transform clone = Instantiate(landedParticle, landedSpawnPoint.position, landedSpawnPoint.rotation) as Transform; GameMaster.gm.Destroyer(clone.gameObject); if (!audioSource.isPlaying) { Player.PlaySound(Player.SoundType.LAND); } } prevGrounded = m_Grounded; m_Anim.SetBool("Ground", m_Grounded); // Set the vertical animation m_Anim.SetFloat("vSpeed", m_Rigidbody2D.velocity.y); }
private void OnTriggerExit2D(Collider2D collision) { // Destroy GameObjects that exit the Boundary (Box) trigger collider //Debug.Log("Trigger Exited: " + collision.GetComponent<Collider2D>().name); if (collision.gameObject.tag == "Player") { Player p = collision.gameObject.GetComponent <Player>(); if (p == null) { Debug.Log("Player component not found."); } Player.PlaySound(Player.SoundType.DEATH); cameraEffects.ShakeCamera(p.shakeAmount, p.shakeLength); // Updates score ScoreManager.sm.PlayerDied(); StartCoroutine(WaitAndReloadScene()); } Destroy(collision.gameObject, 0.5f); }
public void Fire(Vector2 direction, float range, LayerMask blockingLayers) { _lineRenderer.startWidth = 0.5f; _lineRenderer.endWidth = 0.5f; _lineRenderer.material = FireMaterial; _lineRenderer.SetPositions(new Vector3[] { transform.position, GetBeamHitPoint(direction, range, blockingLayers) }); _coolDown = COOLDOWN_TIME; Invoke("HideBeam", FIRE_EFFECT_DURATION); RaycastHit2D rayHit = Physics2D.Raycast(transform.position, direction, range, blockingLayers); if (rayHit) { if (rayHit.collider.tag == "Player") { rayHit.collider.GetComponent <DieOnHit>().HitBy(new MeleeWeapon.WeaponHitData(rayHit.point, ((Vector2)transform.position - rayHit.point).normalized, 100f)); } } _camera.ShakeCamera(1f, 0f, 0.5f); }
public override void LoseHealth(int loss) { base.LoseHealth(loss); StartCoroutine(CameraEffects.ShakeCamera(GameObject.FindWithTag("MainCamera"))); }