public void Initialize(DefendThePlanetObjective dtpo) { planet = dtpo; planet.pbs = this; if (control == null) control = GetComponent<dfControl>(); s = gameObject.GetComponent<dfProgressBar>(); s.MinValue = 0; s.MaxValue = planet.maxHealth; bvl = GetComponentInChildren<barValueLabel>(); setValue(); }
public void finishMission(bool success) { bool bonus = evaluateBonusObjective(); earnedReward = 0; StopAllCoroutines(); timing = false; reinforcements = false; spawning = false; objective = null; boss = null; planetObjective = null; hideMissionReadouts(); if (success) { missionStatus.Display("[color green] Mission Complete [/color]"); earnedReward += currentMission.Reward; } if (!success) { missionStatus.Display("[color red] Mission Failure [/color]"); } if (bonus) { earnedReward += currentMission.bonusReward; } gameOver = checkMissionStatus(); GameManager.Instance.Money += earnedReward; setMissionOutcome(success, bonus); StartCoroutine(abortMission()); }
private void spawnObjective() { if (currentMission.type == Mission.MissionType.Boss || currentMission.type == Mission.MissionType.BaseAssault) { int index = Random.Range(0, spawnPoints.Count - 1); enemySpawnPoint spawnPoint = spawnPoints[index]; spawnPoint.spawnEnemy(currentMission.objective, false, false); EnemyController ec = spawnPoint.ec; setObjective(ec.transform); objective = ec.transform; spawnPlayer(); boss = ec; } if (currentMission.type == Mission.MissionType.DefendArea) { objective = starSystem.spawnPlanet(true).transform; setObjective(objective); planetObjective = objective.GetComponent<DefendThePlanetObjective>(); Invoke("spawnPlayer", 1); spawnBars.SB.spawnPlanetBar(); } if (currentMission.type == Mission.MissionType.DefendShip) { objective = starSystem.spawnPlanet(true); Invoke("spawnPlayer", 1); Invoke("spawnNPC", 1.1f); } if (currentMission.type == Mission.MissionType.Elimination) { Invoke("spawnPlayer", 1); } }
public void setSecondaryInfo(MissionState state) { inMissionReadoutLabel2.Display(""); inMissionReadout2.Display(""); switch (state) { case MissionState.KillEnemies: inMissionReadoutLabel2.Display("Remaining Waves:"); if ((currentMission.numberOfWaves - currentMission.currentWave +1) > 0) inMissionReadout2.Display(currentMission.numberOfWaves - currentMission.currentWave + 2 + " waves remaining"); else inMissionReadout2.Display("Last wave"); break; case MissionState.DefendPlanet: if (planetObjective == null) planetObjective = FindObjectOfType<DefendThePlanetObjective>(); inMissionReadoutLabel2.Display("WARNING!:"); inMissionReadout2.Display("PLANET IS IN DANGER OF FALLING!"); break; } }