// Use this for initialization void Start () { player = GameObject.Find("Player").GetComponent<IBattleAgent>(); enemyPool = GameObject.FindGameObjectsWithTag("Enemy"); foreach(GameObject go in enemyPool) { go.SetActive(false); } //currentEnemy = GameObject.FindWithTag("Enemy").GetComponent<IBattleAgent>(); currentEnemy = enemyPool[UnityEngine.Random.Range(0, enemyPool.Length)].GetComponent<IBattleAgent>(); currentEnemy.SetActive(true); terrainThingy = GameObject.FindObjectOfType<TerrainScroller>(); player.turnEndedEvent += OnPlayerTurnEnded; player.attackEvent += OnPlayerAttack; player.deadEvent += OnPlayerDead; terrainThingy.enabled = false; enemyHealthBar = FindObjectOfType<EnemyHealthBar>(); //currentEnemy.turnEndedEvent += OnEnemyTurnEnded; // currentEnemy.attackEvent += OnEnemyAttack; // currentEnemy.deadEvent += OnEnemyDead; // Player starts attacking, can be changed tho //player.StartTurn(); }
private void Awake() { Target = FindObjectOfType <characterController>(); enemy = FindObjectOfType <EnemyHealthBar>(); }
// Use this for initialization void Start() { playerCombat = PlayerController.instance.GetComponent <PlayerCombat>(); myStats = this.GetComponent <CharacterStats>(); healthBar = EnemyHealthBar.instance; }
public static void Initialize() { canvas = GameObject.FindGameObjectWithTag("Canvas"); healthBar = Resources.Load <EnemyHealthBar>("Prefabs/UI/Damage Popup/Enemy Health"); }
void Start() { bar = StaticUIElements.instance.enemyHealthBar; }
//======================== OVERRIDES & INTERFACES ========================================= public override HitResult Hit(HitData HitInfo) { HitResult result = HitResult.Default(); if (HitInfo.Damage > 0 && IsAlive) { //Si el enemigo no me había detectado. if (!_targetDetected) { _targetDetected = true; } if (_blocking && !Disarmed) //Si estoy bloqueando... { print("Estoy bloqueando"); if (sight.angleToTarget < 80 && !HitInfo.BreakDefence) { result.HitBlocked = true; onBlockedHit(); if (_canParry) { _sm.Feed(ShieldEnemyStates.parry); } else { _sm.Feed(ShieldEnemyStates.think); } } else if (sight.angleToTarget > 80 || HitInfo.BreakDefence) { _sm.Feed(ShieldEnemyStates.vulnerable); } } else //Si no estoy bloqueando... { anims.SetTrigger("getDamage"); onGetHit(); result.HitConnected = true; Health -= HitInfo.Damage; var particle = Instantiate(OnHitParticle, transform.position, Quaternion.identity); Destroy(particle, 3f); EnemyHealthBar.FadeIn(); //Si mi vida es menor a 0... if (!IsAlive) { result.TargetEliminated = true; // Aviso que estoy muerto. result.bloodEarned = BloodForKill; _sm.Feed(ShieldEnemyStates.dead); // Paso al estado de muerte. } else { _sm.Feed(ShieldEnemyStates.think); //Por default paso a think. } } } return(result); }
public static void UpdateEnemyHealthLevel(int level) { EnemyHealthBar.Percent = level; EnemyHealthBar.draw(); }
private void OnEnable() { healthBar = GameObject.Find("Enemy Health Bar").GetComponent <EnemyHealthBar>(); WPBar = FindObjectOfType <EnemyWillPowerBar>(); }
private void Awake() { rg = GetComponent <Rigidbody2D>(); enemy = FindObjectOfType <EnemyHealthBar>(); }
void DecideEnemyAction() { if (EnemyHealthBar.GetComponent <Image>().fillAmount > .5) { if (Random.Range(0, 100) > 75) { EnemyDecidedAttack = 1; _EnemyParent.GetComponent <Animator>().runtimeAnimatorController = StartingEnemy.DefenseAbility.Animator; CombatDialogue.GetComponent <TextMeshProUGUI>().text = StartingEnemy.DefenseAbility.CombatText; EnemyDefendDefense = 0.1f; if (StartingEnemy.DefenseAbility.Healing > 0) { _EnemyParent.SendMessage("Heal", StartingEnemy.DefenseAbility.Healing); } PlayerTurn = true; State = States.Idle; return; } else { EnemyDecidedAttack = 0; _EnemyParent.GetComponent <Animator>().runtimeAnimatorController = StartingEnemy.BasicAttack.Animator; CombatDialogue.GetComponent <TextMeshProUGUI>().text = StartingEnemy.BasicAttack.CombatText; State = States.Idle; PlayerTurn = true; return; } } if (EnemyHealthBar.GetComponent <Image>().fillAmount < .5) { if (EnemySignatureCharges > 0) { EnemyDecidedAttack = 3; EnemySignatureCharges--; _EnemyParent.GetComponent <Animator>().runtimeAnimatorController = StartingEnemy.SignatureAbility.Animator; CombatDialogue.GetComponent <TextMeshProUGUI>().text = StartingEnemy.SignatureAbility.CombatText; if (StartingEnemy.SignatureAbility.Healing > 0) { _EnemyParent.SendMessage("Heal", StartingEnemy.SignatureAbility.Healing); } PlayerTurn = true; State = States.Idle; return; } if (EnemySignatureCharges <= 0) { if (Random.Range(0, 100) > 70) { EnemyDecidedAttack = 2; _EnemyParent.GetComponent <Animator>().runtimeAnimatorController = StartingEnemy.UtilityAbility.Animator; CombatDialogue.GetComponent <TextMeshProUGUI>().text = StartingEnemy.UtilityAbility.CombatText; PlayerTurn = true; State = States.Idle; return; } else { EnemyDecidedAttack = 0; _EnemyParent.GetComponent <Animator>().runtimeAnimatorController = StartingEnemy.BasicAttack.Animator; CombatDialogue.GetComponent <TextMeshProUGUI>().text = StartingEnemy.BasicAttack.CombatText; State = States.Idle; PlayerTurn = true; return; } } } }
void Awake() { instance = this; }