void Awake() { string characterName = ""; characterMovement = GetComponent <CharacterMovement>(); characterMovement.SetRigidBody2D(GetComponent <Rigidbody2D>()); characterMovement.SetCharacterAnimationController(GetComponentInChildren <CharacterAnimationController>()); characterName = gameObject.name; DBConn = new EnemyDatabaseConn(characterName); characterStats = new CharacterStats(DBConn); summonCooldown = new AbilitiesDatabaseConn("Summon").GETAbilityCooldown(); nextSummon = Time.time + 2 * summonCooldown; healthBar.SetMaxHealth(characterStats.GETHealth()); isDead = false; enemyAttackController = GetComponentInChildren <EnemyAttackController>(); enemyAttackController.SetAttackRange(characterStats.GETAttackRange()); enemyAttackController.SetBasicAttackDamage(characterStats.GETAttackDamage()); target = GameObject.Find("PlayerCharacter").GetComponent <Transform>(); seeker = GetComponent <Seeker>(); deathGhost.GetComponent <EnemyController>().aggroRange = aggroRange; InvokeRepeating("UpdatePath", 0f, 0.5f); }
// Use this for initialization void Start() { healthPoints = startHP; anim = GetComponent <Animator>(); head.SetActive(true); attContlr = middle.GetComponent <EnemyAttackController>(); }
new void Start() { base.Start(); objectEnemyHealthMap.Add(gameObject, this); EnemyManager.enemiesOnScene.Add(this); if (!attackController) { attackController = GetComponent <EnemyAttackController>(); } }
protected virtual void Start() { rigid = GetComponent <Rigidbody2D>(); enemyAnim = GetComponent <Animator>(); animationTrigger = GetComponent <EnemyAnimationTrigger>(); statsController = GetComponent <EnemyStatsController>(); attackController = GetComponent <EnemyAttackController>(); facingDirection = 1; statsController.OnAttackedEvent.AddListener(HandleOnAttackedEvent); statsController.OnDeathEvent.AddListener(HandleOnDeathEvent); attackController.OnAttackedDirectionEvent.AddListener(HandleOnAttackedDirectionEvent); }
public override void TriggerAttack() { base.TriggerAttack(); Collider2D[] hittedEnemies = Physics2D.OverlapCircleAll(playerData.attack1Position.position, playerController.meleeAttack1.radiusRange, playerData.whatIsEnemy); foreach (Collider2D enemy in hittedEnemies) { EnemyStatsController enemyStatsController = enemy.gameObject.GetComponent <EnemyStatsController>(); EnemyAttackController enemyAttackHandler = enemy.gameObject.GetComponent <EnemyAttackController>(); if (enemyAttackHandler != null && enemyStatsController != null) { Attack attack = playerController.meleeAttack1.PlayerCreateAttack(playerController.statsController, enemyStatsController, playerController.meleeAttack1.hitBackForce); enemyAttackHandler.OnAttacked(playerController.gameObject, attack); } } }
protected void Start() { gameObject.tag = "Enemy"; enemyClass = GetComponent <PlayerClass>(); // Set up NavMesh agent = GetComponent <NavMeshAgent>(); agent.speed = 5f; path = new NavMeshPath(); // Add health bar GameObject hpBar = Instantiate(healthBar, transform); Vector3 barScale = hpBar.GetComponent <RectTransform>().localScale; hpBar.GetComponent <RectTransform>().localScale = new Vector3( (1.0f / transform.localScale.x) * barScale.x, (1.0f / transform.localScale.y) * barScale.y, (1.0f / transform.localScale.z) * barScale.z ); // Set up attack controller attackController = GetComponent <EnemyAttackController>(); attack = true; inCoroutine = false; isAlive = true; player = GameObject.FindWithTag("Player"); targetPos = Vector3.zero; targetFound = false; // Get enemy perk int level = GameObject.Find("Generator").GetComponent <GenerateIsland>().islandStorage.level; level = ((level) > 1 ? (level) : 1); expValue = Random.Range(35, 45) * (1 + (0.248f - ((0.002f * level) < 0.124f ? (0.002f * level) : 0.124f)) * (level < 62 ? level : 62)); enemyClass.TakePerk(initialStats, false); enemyClass.onLevelUp = onLevelUpPerk; for (int i = 0; i < level; ++i) { enemyClass.LevelUp(); } maxTimes = 100; }
public override void TriggerAttack() { base.TriggerAttack(); Collider2D[] hittedEnemies = Physics2D.OverlapBoxAll(playerData.attack2Position.position, new Vector2(playerController.meleeAttack2.rangeX, playerController.meleeAttack2.rangeX), 0, playerData.whatIsEnemy); foreach (Collider2D enemy in hittedEnemies) { EnemyStatsController enemyStatsController = enemy.gameObject.GetComponent <EnemyStatsController>(); EnemyAttackController enemyAttackController = enemy.gameObject.GetComponent <EnemyAttackController>(); if (enemyAttackController != null && enemyStatsController != null) { Attack attack = playerController.meleeAttack2.PlayerCreateAttack(playerController.statsController, enemyStatsController, playerController.meleeAttack2.hitBackForce); enemyAttackController.OnAttacked(playerController.gameObject, attack); } //Attack attack = playerController.meleeAttack2.CreateAttack(playerController.statsController, // enemy.gameObject.GetComponent<CharacterStatsController>(), playerController.meleeAttack2.hitBackForce); //enemy.gameObject.GetComponent<AttackHandler>().OnAttacked(playerController.gameObject, attack); } }
public override void OnStateEnter() { attackController = stateMachine.gameObject.GetComponent <EnemyAttackController>(); }
private void Awake() { enemyAttackController = new EnemyAttackController(); }