示例#1
0
    // Loads the entire Prison with a certain level
    public void BuildAndLoadPrison()
    {
        Debug.Log("BuildAndLoadPrison");
        string PrisonLevelLabel = 	"P" + PrisonSelected + "_L" + LevelSelected + "_";
        List<Phase> LevelPhases = new List<Phase>();
        bool FoundCurrentTask = false;
        for(int i = 1; i < 5; i++) // 4 phases in each level
        {
            int taskInPhase = LevelTracker.GetNumberOfTasksInPhase (PrisonLevelLabel + "PH" + i + "_TN"); // Get # tasks in phase
            List<Task> Tasks = new List<Task>();
            for (int j = 1; j < taskInPhase + 1; j++)
            {
                Task TaskToCheck = new Task(PrisonSelected, LevelSelected, i, j);
                if(!TaskToCheck.IsTaskCompleted() && !FoundCurrentTask)
                {
                    CurrentTask = TaskToCheck;
                    FoundCurrentTask = true;
                }
                Tasks.Add(TaskToCheck);
            }
            LevelPhases.Add (new Phase(PrisonSelected, LevelSelected, i, Tasks));
        }
        Level Level = new Level(PrisonSelected, LevelSelected, LevelPhases);
        CurrentLevel = Level;
        List<Level> Levels = new List<Level>();
        Prison Prison = new Prison(PrisonSelected, Levels);
        CurrentPrison = Prison;

        GameManager.ObjectiveScreen.ResetAll();

        // Signal the Task Tracker that everything is ready for action
        GameManager.TaskTracker.Initialize();
    }
示例#2
0
 /*This method will automatically save a Tasks progress in PlayerPrefs - is used for when the task is completed or incomplete*/
 public static void TrackTaskProgress(Task TaskInProgress)
 {
     //get level/prison/task from level builder
     //task completed
     string Label = "P" + TaskInProgress.GetPrison() + "_" +
                     "L" + TaskInProgress.GetLevel() + "_" +
                     "PH" + TaskInProgress.GetPhase() + "_" +
                     "T" + TaskInProgress.GetOrder();
     int Progress = TaskInProgress.IsTaskCompleted() ? 1 : 0;
     PlayerPrefs.GetInt (Label);
     PlayerPrefs.SetInt(Label, Progress);
 }