private void FocousOnAttacker() { if (attackerEnemy != null) { focusedObject = attackerEnemy; attackingEnemy = attackerEnemy; enemyGB = attackerEnemy.GetComponent <GooseBehavious>(); enemyDS = enemyGB.damageSystem; focused = true; attacking = true; } }
private void GetFirstEnemy() { currentGooseIndex = 0; for (; currentGooseIndex < gooseInRange.Count; currentGooseIndex++) { focusedObject = gooseInRange[currentGooseIndex]; PlayerMain main = focusedObject.GetComponentInParent <PlayerMain>();; if (main != playerMainScript) { enemyGB = focusedObject.GetComponentInParent <GooseBehavious>(); if (focusedObject != null && CanAttack(enemyGB)) { enemyDS = focusedObject.GetComponent <GooseEntity>().damageSystem; enemyGB.attackerEnemy = gameObject; enemyGB.beingAttacked = true; attackingEnemy = focusedObject; attacking = true; //Debug.Log("got enemy DS"); focused = true; navEle.thisAgent.speed = 3.5f; } } else { if (focusedObject != null) { isAttackingPlayer = true; attackingEnemy = focusedObject; attacking = true; //Debug.Log("got enemy DS"); focused = true; navEle.thisAgent.speed = 3.5f; } } if (focused) { break; } else { enemyGB = null; focusedObject = null; } } }
private bool CanAttack(GooseBehavious toAttackGoose) { if (enemyGB != null) { if (enemyGB.beingAttacked == true && enemyGB.attacking == true) { return(false); } if (toAttackGoose.enemyGB != null) { //Debug.Log("Checked enemy for being middle"); if (toAttackGoose.enemyGB.attacking == true && toAttackGoose.enemyGB.beingAttacked == true) { return(false); } } } return(true); }
private void Unfocous() { if (focusedObject != player) { if (enemyGB != null) { enemyGB.attackerEnemy = null; enemyGB.beingAttacked = false; } } attacking = false; navEle.thisAgent.speed = 1.25f; focused = false; focusedObject = null; enemyDS = null; enemyGB = null; walking = false; }