//private IEnumerator DeathWait() //{ // while (IsDead) // { // yield return new WaitForSecondsRealtime(5); // } //} public override void Death() { //StartCoroutine(DeathWait()); //Debug.Log("CouroutineStarted"); MyRigidbody.velocity = Vector2.zero; MyAnimator.SetTrigger("idle"); health = Convert.ToInt32(maxHealth); transform.position = startPos; GameControl.control.coins -= score; score = 0; SceneManager.LoadScene("GameOver"); if (scene.name == "Level3" || scene.name == "Level4" || scene.name == "Level5" || scene.name == "Level6" || scene.name == "Level7" || scene.name == "Level8" || scene.name == "Level9") { MyRigidbody.velocity = Vector2.zero; MyAnimator.SetTrigger("idle"); health = Convert.ToInt32(maxHealth); transform.position = startPos; GameControl.control.coins -= score / 2; score = 0; //SceneManager.LoadScene("Menu"); SceneManager.LoadScene("GameOver"); } }
public override IEnumerator TakeDamage() { if (!immortal) { if (actState != ActState.Defence) { stat.Health.CurrentVal -= 10; if (!IsDead) { MyAnimator.SetTrigger("damage"); //immortal = true; //StartCoroutine(IndicateImmortal()); yield return(new WaitForSeconds(immortalTime)); immortal = false; } else { MyAnimator.SetLayerWeight(1, 0); MyAnimator.SetTrigger("die"); } } else { MyAnimator.SetBool("defence", false); actState = ActState.Delayed; yield return(new WaitForSeconds(0.05f)); actState = ActState.StandBy; } } }
// Update is called once per frame public override void Update() { //if (healthBar != null && healthBarRect != null) //{ // healthBarRect.sizeDelta = new Vector2(100.0f, ((float)currHealth / (float)maxHealth) * 145.0f); //} base.Update(); if (currHealth <= 0.0f) { //change to play death animation //Destroy(gameObject); if (canSetDieTrigger) { MyAnimator.SetTrigger("die"); Instantiate(ParticleManager.Instance.DyingParticles, transform.position, Quaternion.identity); GameManager.Instance.DestroyAllBulletsAndSpawns(); if (bouncy != null) { bouncy.CanBounce = false; } canSetDieTrigger = false; } } }
private void HandleMovement(float horizontal) { if (myRigidbody.velocity.y < 0) { MyAnimator.SetBool("land", true); } if (!MyAnimator.GetBool("slide") && (isGrounded || airControl)) { myRigidbody.velocity = new Vector2(horizontal * movementSpeed, myRigidbody.velocity.y); } if (isGrounded && jump) { isGrounded = false; myRigidbody.AddForce(new Vector2(0, jumpForce)); MyAnimator.SetTrigger("jump"); } MyAnimator.SetFloat("speed", Mathf.Abs(horizontal)); if (slide && !this.MyAnimator.GetCurrentAnimatorStateInfo(0).IsName("Slide")) { MyAnimator.SetBool("slide", true); } else if (!this.MyAnimator.GetCurrentAnimatorStateInfo(0).IsName("Slide")) { MyAnimator.SetBool("slide", false); } }
public override void Death() { MyRigidbody.velocity = Vector2.zero; MyAnimator.SetTrigger("idle"); healthStat.CurrentVal = healthStat.MaxVal; transform.position = startPos; }
public override void Death() { lives += 1; if (lives == 1) { MyAnimator.SetTrigger("idle"); healthStat.CurrentVal = healthStat.MaxVal; transform.position = startPos; GameObject.FindWithTag("live1").SetActive(false); } if (lives == 2) { MyAnimator.SetTrigger("idle"); healthStat.CurrentVal = healthStat.MaxVal; transform.position = startPos; GameObject.FindWithTag("live2").SetActive(false); } if (lives == 3) { MyAnimator.SetTrigger("idle"); healthStat.CurrentVal = healthStat.MaxVal; transform.position = startPos; GameObject.FindWithTag("live3").SetActive(false); SceneManager.LoadScene("StitchBoy"); } }
public override IEnumerator TakeDamage() { if (!canvasHealth.isActiveAndEnabled) { canvasHealth.enabled = true; } health.CurrentVal -= 10; if (!IsDead) { MyAnimator.SetTrigger("damage"); if (currentState.GetStateName() == "Patrol" || !(currentState.GetStateName() == "Ranged")) { ChangeDirection(); } } else { if (dropItem) { GameObject coin = (GameObject)Instantiate(GameManager.Instance.CoinPrefab, new Vector3(transform.position.x, transform.position.y + 2), Quaternion.identity); Physics2D.IgnoreCollision(coin.GetComponent <Collider2D>(), GetComponent <Collider2D>()); dropItem = false; } MyAnimator.SetTrigger("die"); canvasHealth.enabled = false; } yield return(null); }
public override IEnumerator TakeDamage() { if (!immortal) { healthStat.CurrentVal -= 10; if (!IsDead) { MyAnimator.SetTrigger("damage"); audio.PlayOneShot(damageSound); immortal = true; StartCoroutine(IndicateImmortal()); yield return(new WaitForSeconds(immmortalTime)); immortal = false; } else { GetComponent <Rigidbody2D>().velocity = Vector2.zero; GetComponent <Rigidbody2D>().gravityScale = 0; GetComponent <BoxCollider2D>().enabled = false; MyAnimator.SetLayerWeight(1, 0); MyAnimator.SetTrigger("die"); audio.PlayOneShot(deadSound); } } }
public override IEnumerator TakeDamage() { if (!healthCanvas.isActiveAndEnabled) { healthCanvas.enabled = true; } healthStat.CurrentVal -= 10; if (!IsDead) { MyAnimator.SetTrigger("damage"); } else { if (dropItem) { GameObject sword = (GameObject)Instantiate(GameManager.Instance.SwordPrefab, new Vector3(transform.position.x, transform.position.y + 2), Quaternion.identity); Physics2D.IgnoreCollision(sword.GetComponent <Collider2D>(), GetComponent <Collider2D>()); dropItem = false; } MyAnimator.SetTrigger("die"); yield return(null); } }
public override void Death() { //To respawn the enemy MyAnimator.ResetTrigger("die"); MyAnimator.SetTrigger("idle"); if (scene.name == "Level3" || scene.name == "Level2") { Player.score += 10; } if (scene.name == "Level4" || scene.name == "Level5" || scene.name == "Level6") { if (GameControl.control.patent2 == 1) { Player.score += 10; } } if (scene.name == "Level7" || scene.name == "Level8" || scene.name == "Level9") { if (GameControl.control.patent3 == 1) { Player.score += 10; } } GameControl.control.coins += 20; //To respawn //transform.position = startPos; //health = 10; //To destroy the enemy Destroy(gameObject); }
public override void Death() { MyAnimator.ResetTrigger("die"); MyAnimator.SetTrigger("idle"); health = 30; transform.position = startPos; }
public override IEnumerator TakeDamage() { if (!immortal) { HealthStat.CurrentValue -= 10; GameManager.Instance.CollectedCoins--; if (!IsDead) { if (GameManager.Instance.CollectedCoins <= 0) { GameManager.Instance.CollectedCoins = 0; } MyAnimator.SetTrigger("damage"); immortal = true; StartCoroutine(IndicateImmortal()); yield return(new WaitForSeconds(immortalTime)); immortal = false; } else { MyAnimator.SetLayerWeight(1, 0); MyAnimator.SetTrigger("die"); } } }
private void HandleInput() { if (Input.GetKeyDown(KeyCode.Space) && !OnLadder && !Falling) { GetComponent <AudioSource>().PlayOneShot(jump); MyAnimator.SetTrigger("jump"); Jump = true; } if (Input.GetKeyDown(KeyCode.F)) { GetComponent <AudioSource>().PlayOneShot(aud); MyAnimator.SetTrigger("attack"); } if (Input.GetKeyDown(KeyCode.LeftControl)) { MyAnimator.SetTrigger("slide"); } if (Input.GetKeyDown(KeyCode.V)) { GetComponent <AudioSource>().PlayOneShot(knife); MyAnimator.SetTrigger("throw"); } if (Input.GetKeyDown(KeyCode.E)) { Use(); } }
public void RestoreHalf() { MyRigidbody.velocity = Vector2.zero; MyAnimator.SetTrigger("idle"); health = Convert.ToInt32(maxHealth / 2); transform.position = startPos; }
private void HandleInput() { if (Input.GetKeyDown(KeyCode.Space) && !OnLadder) { MyAnimator.SetTrigger("jump"); } if (Input.GetKeyDown(KeyCode.F)) { MyAnimator.SetTrigger("attack"); } if (Input.GetKeyDown(KeyCode.LeftShift)) { MyAnimator.SetTrigger("slide"); } if (Input.GetKeyDown(KeyCode.G)) { MyAnimator.SetTrigger("throw"); } if (Input.GetKeyDown(KeyCode.E)) { Use(); } }
private void HandleInput() { if (Input.GetKeyDown(KeyCode.Space) && !OnLadder && !IsFalling) { MyAnimator.SetTrigger("jump"); } if (Input.GetKeyDown(KeyCode.LeftShift)) { MyAnimator.SetTrigger("attack"); } if (Input.GetKeyDown(KeyCode.LeftControl) && MyRigidbody.velocity.x != 0) { MyAnimator.SetTrigger("slide"); } if (Input.GetKeyDown(KeyCode.V)) { MyAnimator.SetTrigger("bow"); } if (Input.GetKeyDown(KeyCode.E)) { Use(); } }
public override IEnumerator TakeDamage() { if (!immortal) { healthStat.CurrentVal -= 10; gruntFx.Play(); if (!IsDead) { MyAnimator.SetTrigger("damage"); immortal = true; StartCoroutine(IndicateImmortal()); yield return(new WaitForSeconds(immortalTime)); immortal = false; } else { playerDie.Play(); MyAnimator.SetLayerWeight(1, 0); MyAnimator.SetTrigger("die"); } } }
private void handleMovement(float horizontal) { if (rb2d.velocity.y < 0) { MyAnimator.SetBool("Land", true); } if (!MyAnimator.GetBool("slide") && !this.MyAnimator.GetCurrentAnimatorStateInfo(0).IsTag("Attack") && (isGrounded || airControl)) { rb2d.velocity = new Vector2(horizontal * speed, rb2d.velocity.y); } if (isGrounded && jump) { isGrounded = false; rb2d.AddForce(new Vector2(0, jumpForce)); MyAnimator.SetTrigger("Jump"); } if (slide && !this.MyAnimator.GetCurrentAnimatorStateInfo(0).IsName("Slide2")) { MyAnimator.SetBool("slide", true); } else if (!this.MyAnimator.GetCurrentAnimatorStateInfo(0).IsName("Slide2")) { MyAnimator.SetBool("slide", false); } MyAnimator.SetFloat("speed", Mathf.Abs(horizontal)); }
public override void Death() { MyRigidbody.velocity = Vector2.zero; MyAnimator.SetTrigger("idle"); health = 30; transform.position = startPos.position; }
/// <summary> /// Starts the attack based off of what current animation they are in /// </summary> public override void AttackHandler() { float distance = Vector3.Distance(target.transform.position, transform.position); if (distance <= attackRange) { isAttacking = true; if (isIdle) { MyAnimator.SetTrigger("idleStandUp"); ComboHandler(); } if (isWalking) { MyAnimator.SetTrigger("walkStandUp"); ComboHandler(); } if (isRunning) { MyAnimator.SetTrigger("runStandUp"); ComboHandler(); } } if (isAttacking && distance > attackRange) { isAttacking = false; Idle(); } }
// Hace que el enemigo reciba daño. public override IEnumerator TakeDamage() { if (!healthCavas.isActiveAndEnabled) { healthCavas.enabled = true; } //Reduces the health healthStat.CurrentValue -= 10; if (!IsDead) // Si el enemigo no está muerto ejecuta la animación de recibir daño. { MyAnimator.SetTrigger("damage"); } else // Si el enemigo está muerto, se asegura de ejecutar la animación de muerte. { //if (dropItem) //{ // GameObject coin = (GameObject)Instantiate(GameManager.Instance.CoinPrefab, new Vector3(transform.position.x, transform.position.y + 5), Quaternion.identity); // Physics2D.IgnoreCollision(GetComponent<Collider2D>(), coin.GetComponent<Collider2D>()); // dropItem = false; //} MyAnimator.SetTrigger("die"); yield return(null); } }
private void HanldeInput() { if (PauseMenu.Paused == false) { if (Input.GetKeyDown(KeyCode.DownArrow) && OnGround) { MyAnimator.SetTrigger("slide"); /*attack = true; * jumpAttack = true;*/ } if (Input.GetKeyDown(KeyCode.UpArrow) && !IsFalling) { MyAnimator.SetTrigger("jump"); } if (Input.GetKeyDown(KeyCode.Z)) { Vulnerable = false; MyAnimator.SetTrigger("attack"); } if (Input.GetKeyDown(KeyCode.X)) { MyAnimator.SetTrigger("throw"); } } }
//Makes the enemy takes damage public override IEnumerator TakeDamage() { if (!healthCanvas.isActiveAndEnabled) { healthCanvas.enabled = true; } //Reduces the health healthStat.CurrentVal -= 10; //if the enemy is not dead then play the enemy-damage animation if (!IsDead) { MyAnimator.SetTrigger("damage"); } //If the enemy is dead then make sure that we play the dead animation else { if (dropItem) { GameObject coin = Instantiate(GameManager.Instance.CoinPrefab, new Vector3(transform.position.x, transform.position.y + 2), Quaternion.identity); Physics2D.IgnoreCollision(coin.GetComponent <Collider2D>(), GetComponent <Collider2D>()); dropItem = false; } MyAnimator.SetTrigger("death"); yield return(null); } }
public IEnumerator DPS(float damage, Transform source) { Enemy enemy = GetComponentInParent <Enemy>(); yield return(new WaitForSeconds(1)); if (IsAlive) { for (int i = 0; i < (damage - 1); i++) { health.MyCurrentValue -= damage; if (IsAlive) { CombatTextManager.MyInstance.CreateText(transform.position, damage.ToString(), SCTType.Damage, false); enemy.OnHealthChanged(health.MyCurrentValue); yield return(new WaitForSeconds(1)); } else { enemy.OnHealthChanged(health.MyCurrentValue); Direction = Vector2.zero; myRigidBody.velocity = Direction; GameManager.MyInstance.OnKillConfirmed(this); MyAnimator.SetTrigger("die"); } } } }
public override IEnumerator TakeDamage(string source) { if (!immortal) { if (source == "EnemySword") { healthStat.CurrentVal -= 20; } else if (source == "EnemyKnife") { healthStat.CurrentVal -= 20; } if (!IsDead) { MyAnimator.SetTrigger("damage"); immortal = true; StartCoroutine(IndicateImmortal()); yield return(new WaitForSeconds(immortalTime)); immortal = false; } else { MyAnimator.SetLayerWeight(1, 0); MyAnimator.SetTrigger("die"); } } }
private IEnumerator DamagePlayer() { health--; AudioManager.instance.Play("Damage"); UIManager.UImanager.TakeDamageUI(health, this.name); canMove = false; rb.velocity = new Vector2(0, 0); MyAnimator.SetTrigger("Damage"); MyAnimator.ResetTrigger("Damage"); shake.CamShake(); if (this.playerName == "One" && !IsDead()) { GamePad.SetVibration(PlayerIndex.One, 0.1f, 0.1f); yield return(new WaitForSeconds(0.7f)); GamePad.SetVibration(PlayerIndex.One, 0, 0); } if (this.playerName == "Two" && !IsDead()) { GamePad.SetVibration(PlayerIndex.Two, 0.1f, 0.1f); yield return(new WaitForSeconds(0.7f)); GamePad.SetVibration(PlayerIndex.Two, 0, 0); } }
public override IEnumerator TakeDamage() { if (!hudCanvas.isActiveAndEnabled) { hudCanvas.enabled = true; } stat.Health.CurrentVal -= 10; if (!IsDead) { MyAnimator.SetTrigger("damage"); } else { MyAnimator.SetTrigger("die"); this.GetComponent <Rigidbody2D>().gravityScale = 0; this.GetComponent <BoxCollider2D>().enabled = false; //hudCanvas.enabled = false; effect.Stop(); yield return(null); } yield return(new WaitForSeconds(2f)); hudCanvas.enabled = false; }
public override IEnumerator TakeDamage() { if (!immortal) { healthStat.CurrentValue -= 10; if (!IsDead) { MyAnimator.SetTrigger("damage"); immortal = true; StartCoroutine(IndicateImmortal()); yield return(new WaitForSeconds(immortalTime)); immortal = false; } else { MyAnimator.SetLayerWeight(1, 0); MyAnimator.SetTrigger("die"); for (int i = 0; i < all.Length; i++) { all [i].enabled = false; } } } }
protected override void Attack() // Y축의 영향을 받지 않음 { if (RecognitionX <= AttackRange && RecognitionX > -AttackRange) { MyAnimator.SetTrigger("Attack"); } }
// Update is called once per frame public override void Update() { base.Update(); _outlineMaterial.SetFloat("_Outline", outlineLength); //_outlineMaterial.SetColor("_Color", currColors[currColorEquipped]); if (currHealth <= 0.0f) { //change to play death animation //Destroy(gameObject); if (canSetDieTrigger) { MyAnimator.SetTrigger("die"); Instantiate(ParticleManager.Instance.DyingParticles, transform.position, Quaternion.identity); if (bouncy != null) { bouncy.CanBounce = false; } if (r != null) { r.canRotate = false; } GameManager.Instance.DestroyAllBulletsAndSpawns(); canSetDieTrigger = false; } /*if (canSwapToDeathMaterial) * { * SwapToDeathMaterial(); * canSwapToDeathMaterial = false; * }*/ } }