public virtual void Initialize(UnitBrain brain, NonControllableUnit unit, Unit enemyHero) { this.unit = unit; this.enemyHero = enemyHero; unitAttack = unit.unitAttack; unitMovement = unit.GetComponent <UnitMovement>(); }
public void OnUnitDeath(NonControllableUnit unit) { enemyUnits.Remove(unit); if (enemyUnits.items.Count == 0 && lastWave) { Application.Quit();//TODO EventClear } }
private float SpawnUnit(CardData unitData) { for (int i = 0; i < spawnPoints.Length; i++) { NonControllableUnit tmp = Instantiate((NonControllableUnit)unitData.unit, spawnPoints[i]); tmp.Initialize(FindClosestTarget(spawnPoints[i].position), unitData.unitStats, "EnemyTeam"); enemyUnits.Add(tmp); } return(unitData.unitStats.cooldown); }
protected virtual void SpawnUnit(CardData unitData, Vector3 position) { NonControllableUnit unit = Instantiate <NonControllableUnit>( (NonControllableUnit)unitData.unit, spawnPosition, board.Value.npcSpawnPosition.rotation ); unit.Initialize(playerHero, unitData.unitStats, "EnemyTeam"); npcUnits.Add(unit); }
public void Initialize(Unit unit, string tag) { this.unit = (NonControllableUnit)unit; this.tag = tag; atkReload = unit.currentStats.atkReload; CapsuleCollider atkRange = unit.gameObject.AddComponent <CapsuleCollider>(); atkRange.isTrigger = true; atkRange.radius = unit.currentStats.atkRange; atkRange.enabled = true; }
public override void Initialize(UnitBrain brainRef, NonControllableUnit unit, Unit enemyHero) { base.Initialize(brainRef, unit, enemyHero); currentTarget = enemyHero; bossRef = ((Boss)brainRef); threshold = new int[bossRef.threshold.Length]; for (int i = 0; i < threshold.Length; i++) { threshold[i] = unit.currentStats.health * bossRef.threshold[i] / 100; } thresholdIndex = 0; PhaseChange(); }
private void Update() { if (timerEvent > 0f) { timerEvent -= Time.deltaTime; if (timerEvent <= 0f) { lastWave = encounterEvent.NextPhase(ref nextSpawn); if (!lastWave) { timerSpawn = Time.deltaTime; } else { NonControllableUnit tmp = Instantiate((NonControllableUnit)boss.unit, bossSpawnPoint); tmp.Initialize(activeHero, boss.unitStats, "EnemyTeam"); enemyUnits.Add(tmp);//TODO EVENT CLEAR } } } if (timerSpawn > 0f) { timerSpawn -= Time.deltaTime; if (timerSpawn <= 0f) { timerSpawn = SpawnUnit(nextSpawn[0]); nextSpawn.RemoveAt(0); timerEvent -= timerSpawn; if (nextSpawn.Count == 0) { timerEvent *= -1f; timerSpawn = -1f; } } } }
public override void Initialize(UnitBrain brainRef, NonControllableUnit unit, Unit enemyHero) { base.Initialize(brainRef, unit, enemyHero); enemyUnits.Add(enemyHero); }
public override void Initialize(UnitBrain brainRef, NonControllableUnit unit, Unit enemyHero) { }
public override void Initialize(UnitBrain brain, NonControllableUnit unit, Unit enemyHero) { base.Initialize(brain, unit, enemyHero); unit.GetComponent <UnitHealth>().alive = true; }