void Start() { agent = GetComponent <NavMeshAgent>(); EnemyPatrol = new EnemyPatrol(agent, patrolPoints); PlayerCombat = new Combat( transform: transform, adversaryLayers: playerLayers, attackRadius: attackRange); Visibility = new EnemyVisibility( transform: transform, target: target, maxAngle: visibilityAngle, maxDistance: visibilityDistance, ignoreLayers: visibilityIgnoreLayers); Hearing = new EnemyHearing( transform: transform, target: target, maxDistance: hearingDistance ); state = State.None; }
// Use this for initialization void Start() { NavM = GetComponent <NavMeshAgent>(); _isAlive = gameObject.GetComponent <EnemyHealth>(); _isPatroling = gameObject.GetComponent <EnemyController>(); _isSearching = gameObject.GetComponent <EnemyController>(); _isDetecting = gameObject.GetComponent <EnemyHearing>(); //waypoints = GameObject.FindGameObjectsWithTag("Waypoint"); waypointInd = Random.Range(0, waypoints.Length); }
void Start() { alertStateTimer = alertStateTimerLength; mayBeAlertTimer = mayBeAlertTimerLength; arm = gameObject.transform.Find("EnemyArm"); enemySight = gameObject.transform.Find("Sight"); enemyHearing = gameObject.transform.Find("Hearing"); enemies = GameObject.FindGameObjectsWithTag("Enemy"); thisEnemyCollider = gameObject.GetComponent <CapsuleCollider2D>(); rooms = GameObject.FindGameObjectsWithTag("Room"); patrolPointContainer = GameObject.Find("PatrolPoints"); currentPatrolIndex = 0; currentPatrolPoint = enemyPatrolPoints[currentPatrolIndex]; stairwaysGoingUp = GameObject.FindGameObjectsWithTag("StairsUp"); stairwaysGoingDown = GameObject.FindGameObjectsWithTag("StairsDown"); currentState = startState; player = Player.instance; playerControllerScript = player.GetComponent <PlayerController>(); enemySightScript = enemySight.GetComponent <EnemySight>(); enemyHearingScript = enemyHearing.GetComponent <EnemyHearing>(); enemyScript = gameObject.GetComponent <Enemy>(); armRotationScript = arm.GetComponent <ArmRotation>(); anim = GetComponent <Animator>(); enemyLocalScale = transform.localScale; rb = GetComponent <Rigidbody2D>(); if (facingRight == false) { enemyLocalScale.x *= -1; transform.localScale = enemyLocalScale; armRotationScript.enemyRotationOffset = 180; facingRight = false; } playerWeapons = GameObject.Find("WeaponPool").transform.GetComponentsInChildren <BoxCollider2D>(); foreach (BoxCollider2D playerWeaponCollider in playerWeapons) { Physics2D.IgnoreCollision(playerWeaponCollider, thisEnemyCollider); } }
void Update() { if (activateSound) { soundPos = transform.position; //soundPos.y = 1.5f; Collider[] colliders = Physics.OverlapSphere(soundPos, soundRadius); foreach (Collider hit in colliders) { enemyHearingScript = hit.gameObject.GetComponent <EnemyHearing>(); if (enemyHearingScript != null) { enemyHearingScript.heardSomething = true; enemyHearingScript.lastDetectionPos = soundPos; } } } }