예제 #1
0
 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;
     }
 }