Пример #1
0
 public virtual void Initialize(UnitBrain brain, NonControllableUnit unit, Unit enemyHero)
 {
     this.unit      = unit;
     this.enemyHero = enemyHero;
     unitAttack     = unit.unitAttack;
     unitMovement   = unit.GetComponent <UnitMovement>();
 }
Пример #2
0
 public void OnUnitDeath(NonControllableUnit unit)
 {
     enemyUnits.Remove(unit);
     if (enemyUnits.items.Count == 0 && lastWave)
     {
         Application.Quit();//TODO EventClear
     }
 }
Пример #3
0
 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);
 }
Пример #4
0
        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);
        }
Пример #5
0
        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;
        }
Пример #6
0
        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();
        }
Пример #7
0
 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;
             }
         }
     }
 }
Пример #8
0
 public override void Initialize(UnitBrain brainRef, NonControllableUnit unit, Unit enemyHero)
 {
     base.Initialize(brainRef, unit, enemyHero);
     enemyUnits.Add(enemyHero);
 }
Пример #9
0
 public override void Initialize(UnitBrain brainRef, NonControllableUnit unit, Unit enemyHero)
 {
 }
Пример #10
0
 public override void Initialize(UnitBrain brain, NonControllableUnit unit, Unit enemyHero)
 {
     base.Initialize(brain, unit, enemyHero);
     unit.GetComponent <UnitHealth>().alive = true;
 }