private void TeleportFighters() { // Make sure player is facing right direction SpriteRenderer playerSprite = Player.GetComponent <SpriteRenderer>(); if (playerSprite.flipX) { playerSprite.flipX = false; } // Positioning the player Player.transform.position = new Vector2(PlayerFightSpawn.transform.position.x, PlayerFightSpawn.transform.position.y); PlayerMovement pm = Player.GetComponent <PlayerMovement>(); pm.CanMove(false); // player cannot move // positioning mob transform.parent.position = new Vector2(MobFightSpawn.transform.position.x, MobFightSpawn.transform.position.y); // ready to fight fightManager.CanFight(true); fightManager.SetOpponent(transform.parent.gameObject.GetComponent <Mob>()); // storing player's opponent // activate health bars fightManager.ShowFightUI(true); }
private IEnumerator EndFight() { // Interrupting animation if running animationRunning = false; // Setting mob to defeated defeated = true; // Setting next turn to player's turn and deactivating buttons fightManager.currentTurn = FightManager.Turn.Player; fightManager.ButtonsActive(false); // Playing mob's death animation gameObject.GetComponent <Animator>().Play(gameObject.name + "_Dead"); yield return(new WaitForSeconds(2f)); // Mob now dead dead = true; // Send delegate if (onPlayerDefeatMob != null) { onPlayerDefeatMob(); } // Add food to player inventory inventoryManager.AddItemToInventory(dropItem, Random.Range(0, 4)); // Fight is ended fightManager.CanFight(false); ResetForNextFight(); // Resetting fightManager.ActivateFakeMobs(); // Activating animated models for attacks Destroy(gameObject); // Mob is destroyed }
public void CheckHealth() { if (CurrentHealth <= 0) { dead = true; fightManager.CanFight(false); ResetForNextFight(); Debug.Log("Player is defeated"); } }