DefensivePosition GetDefensivePositions(DefensivePosition_Name name) { DefensivePosition output = null; for (int i = 0; i < defensivePositions.Length; i++) { if (defensivePositions[i].name == name) { output = defensivePositions[i]; } } return(output); }
void DefensivePositionSetup(DefensivePosition pos) { for (int i = 0; i < pos.defensePoints.Length; i++) { Survivor_AI targetAI = null; for (int j = 0; j < survivorAIs.Length; j++) { Survivor_AI sAI = survivorAIs[j]; if (sAI.currDefensePoint == null) { targetAI = sAI; targetAI.currDefensePoint = pos.defensePoints[i]; targetAI.SetBehaviorTree(new Task_FindPath(targetAI.currDefensePoint.transform.position, targetAI)); break; } } } }
void UpdateDefensivePositions() { if (GameManager.GetCurrentWaveNumber() == 0) { ResetDefensePositions(); DefensivePosition dPos = GetDefensivePositions(DefensivePosition_Name.LVL1); DefensivePositionSetup(dPos); ResetSurvivorsBT(); } // Level 2 setup else if (GameManager.GetCurrentWaveNumber() == 1 && GameManager.GetBreakTimeRemaining() > 0 && GameManager.getAllEnemies().Count == 0) { ResetDefensePositions(); DefensivePosition dPos = GetDefensivePositions(DefensivePosition_Name.LVL2); DefensivePositionSetup(dPos); ResetSurvivorsBT(); } // Level 3 setup else if (GameManager.GetCurrentWaveNumber() == 2 && GameManager.GetBreakTimeRemaining() > 0 && GameManager.getAllEnemies().Count == 0) { ResetDefensePositions(); DefensivePosition dPos = GetDefensivePositions(DefensivePosition_Name.LVL3); DefensivePositionSetup(dPos); ResetSurvivorsBT(); } // Level 5 setup else if (GameManager.GetCurrentWaveNumber() == 4 && GameManager.GetBreakTimeRemaining() > 0 && GameManager.getAllEnemies().Count == 0) { ResetDefensePositions(); DefensivePosition dPos = GetDefensivePositions(DefensivePosition_Name.LVL5); DefensivePositionSetup(dPos); ResetSurvivorsBT(); } // Level 6 set up else if (GameManager.GetCurrentWaveNumber() == 5 && GameManager.GetBreakTimeRemaining() > 0 && GameManager.getAllEnemies().Count == 0) { ResetDefensePositions(); DefensivePosition dPos = GetDefensivePositions(DefensivePosition_Name.LVL6); DefensivePositionSetup(dPos); ResetSurvivorsBT(); } // Level 7 set up }