Advertisement
LittleAngel

Untitled

Mar 9th, 2011
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. // QuestDataLoader.js
  2. // Loads the Quest Data into the QuestManager
  3. // Works on Start with ExecuteInEditMode()
  4. // Attach to a GameObject (and for convenience make it a child of QuestManager)
  5. // Leave the GameObject it is attached to DEACTIVATED unless you want to reload the quest data.
  6. // REMOVE THIS GameObject before release!
  7. // Requires a text file from Questy.fmp.
  8. // Replace all % with <PR><PR>
  9. // Replace all <tab>#<PR> with #
  10. // Remove last "#" and any TRAILING WHITE SPACE from the output file!
  11.  
  12. #pragma strict
  13.  
  14. @script ExecuteInEditMode ()
  15.  
  16. var gameController : GameController;
  17. var questData : TextAsset;
  18. var questArray : Quest[];
  19.  
  20. function Start () {
  21. gameController.questsArray = QuestDataLoader();
  22. }
  23.  
  24.  
  25. function QuestDataLoader () {
  26. var questDataText = questData.text;
  27. var dynamicQuestArray : Array = new Array ();
  28.  
  29. var quests = questDataText.Split("#"[0]);
  30. for (var quest : String in quests) {
  31. var questDetails = quest.Split("|"[0]);
  32.  
  33. var currentQuest : Quest = new Quest ();
  34. var tempData : String = questDetails[0].ToString();
  35. currentQuest.id = int.Parse(tempData);
  36. tempData = questDetails[1].ToString();
  37. currentQuest.progress = int.Parse(tempData);
  38. currentQuest.title = questDetails[2].ToString();
  39. currentQuest.description = questDetails[3].ToString();
  40. currentQuest.hint = questDetails[4].ToString();
  41. currentQuest.summary = questDetails[5].ToString();
  42. currentQuest.congratulations = questDetails[6].ToString();
  43. tempData = questDetails[7].ToString();
  44. if (tempData != "")
  45. currentQuest.nextQuest = int.Parse(tempData);
  46. currentQuest.questObjective = questDetails[8].ToString();
  47. tempData = questDetails[9].ToString();
  48. if (tempData != "")
  49. currentQuest.questObjectiveRequirement = int.Parse(tempData);
  50. // else
  51. // currentQuest.nextQuest = null;
  52. dynamicQuestArray.Push (currentQuest);
  53. }
  54.  
  55. // Copy the js array into a builtin array
  56. questArray = dynamicQuestArray.ToBuiltin(Quest);
  57.  
  58. // To Check that the data has been pushed and copied to the final array (CURRENTLY STALE! NEW FIELDS NEED TO BE INCLUDED!)
  59. // for (var checkQuest : Quest in questArray) {
  60. // Debug.Log ("ID: " + checkQuest.id + " Title: " + checkQuest.title + " Start Progress: " + checkQuest.progress + "\n\nDescription: " + checkQuest.description + "\n\nHint: " + checkQuest.hint + "\n\nSummary: " + checkQuest.summary + "\n\nCongratulations: " + checkQuest.congratulations + "\n\nNext Quest: " + checkQuest.nextQuest);
  61. // }
  62.  
  63. return questArray;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement