void getCompletedAreas() { if (File.Exists("./CodeSpellsAreas.log")) { string[] lines = File.ReadAllLines("./CodeSpellsAreas.log"); foreach (string line in lines) { if (line.Equals("Area1")) { GameObject.Find("Area1").GetComponent <Area1>().area1 = true; } if (line.Equals("Area2")) { GameObject.Find("Area2").GetComponent <Area2>().area2 = true; } if (line.Equals("Area3")) { GameObject.Find("Area3").GetComponent <Area3>().area3 = true; } if (line.Equals("Area4")) { GameObject.Find("Area4").GetComponent <Area4>().area4 = true; } if (line.Equals("Area5")) { GameObject.Find("Area5").GetComponent <Area5>().area5 = true; } if (line.Equals("Area6")) { GameObject.Find("Area6").GetComponent <Area6>().area6 = true; } if (line.Equals("Area7")) { GameObject.Find("Area7").GetComponent <Area7>().area7 = true; } } } else { GameObject.Find("Area1").GetComponent <Area1>().area1 = true; AreaLogger.Log("Area1"); } }
void givePlayerABadgeBook() { GameObject book = new GameObject(); book.name = "Badges"; book.AddComponent <BadgebookItem>(); BadgebookItem item = book.GetComponent <BadgebookItem>(); item.item_name = "Badges"; Inventory inventory = GameObject.Find("Inventory").GetComponent <Inventory>(); inventory.addItem(book); Badgebook badgebook = GameObject.Find("Badgebook").GetComponent <Badgebook>(); badgebook.AddColumn(NUMBER_OF_QUESTS + 1); badgebook.Add("helping_others", "HELPING OTHERS", "incomplete_helping_others_badge", false); badgebook.Add("helping_others_picking_up_item", " Pickin up Stuff", "incomplete_picking_up_item_badge", false); badgebook.Add("helping_others_cross_river", " Cross River", "incomplete_crossing_river_badge", false); badgebook.Add("helping_others_reaching_up_high", " New Heights", "incomplete_reaching_up_high_badge", false); badgebook.Add("helping_others_putting_something_high", " Out of Reach", "incomplete_putting_something_high_badge", false); badgebook.Add("helping_others_putting_out_fire", " Firefighter", "incomplete_putting_out_fire_badge", false); badgebook.Add("helping_others_light_fire", " Light Fire", "incomplete_light_fire_badge", false); badgebook.Add("helping_others_unlevitate", " Unlevitate", "incomplete_unlevitate_badge", false); badgebook.Add("helping_others_summonObject", " Summon Object", "incomplete_summonObject_badge", false); badgebook.Add("collecting_objects_staff", " Staff", "incomplete_collecting_objects_staff", false); badgebook.AddColumn(9); badgebook.Add("reading_your_book", "READING YOUR BOOK", "incomplete_reading_your_book_badge", false); badgebook.Add("reading_your_book_fire", " Flames", "incomplete_cast_flame_badge", false); badgebook.Add("reading_your_book_sentry", " Sentry", "incomplete_cast_sentry_badge", false); badgebook.Add("reading_your_book_adv_levitate", " Adept Levitation", "incomplete_cast_levitate_badge", false); badgebook.Add("reading_your_book_flight", " Flight", "incomplete_cast_flight_badge", false); badgebook.Add("reading_your_book_teleport", " Teleportation", "incomplete_cast_teleport_badge", false); badgebook.Add("reading_your_book_summon", " Summoning", "incomplete_cast_summoning_badge", false); badgebook.Add("reading_your_book_massive", " Massive Fire", "incomplete_cast_massive_fire_badge", false); badgebook.Add("reading_your_book_architecture", " Architecture", "incomplete_cast_architecture_badge", false); badgebook.AddColumn(8); badgebook.Add("square_dance", " Square Dance", "incomplete_square_dance", false); badgebook.MakeButtonUnlockable("square_dance"); badgebook.Add("creative_dance", " Creative Dance", "incomplete_creative_dance", false); badgebook.MakeButtonUnlockable("creative_dance"); badgebook.Add("massive_levitate", " Massive Levitate", "incomplete_massive_levitate", false); badgebook.MakeButtonUnlockable("massive_levitate"); badgebook.Add("massive_unlevitate", " Massive Unlevitate", "incomplete_massive_unlevitate", false); badgebook.MakeButtonUnlockable("massive_unlevitate"); badgebook.Add("massive_dance", " Massive Dance", "incomplete_massive_dance", false); badgebook.MakeButtonUnlockable("massive_dance"); badgebook.Add("follow_the_leader", " Follow The Leader", "incomplete_follow_the_leader", false); badgebook.MakeButtonUnlockable("follow_the_leader"); badgebook.Add("portal", " Portal", "incomplete_portal", false); badgebook.MakeButtonUnlockable("portal"); badgebook.Add("umbrella", " Umbrella", "incomplete_umbrella", false); badgebook.MakeButtonUnlockable("umbrella"); // To make a badge unlockable by an instructor, add // badgebook.MakeButtonUnlockable(<badge_name>); // example: // badgebook.MakeButtonUnlockable("reading_your_book"); // mark badges as already complete markCompletedBadges(); // mark areas that are already cleared getCompletedAreas(); showAppropriateQuestArrows(); //Set up the callbacks for unlocking the badges. //int num_unlocked = 0; Enchantable.EnchantmentEnded += (spell_target, item_name) => { bool success = false; if (item_name.StartsWith("Flame")) { success = badgebook.Complete("reading_your_book_fire"); } if (item_name.StartsWith("Sentry")) { success = badgebook.Complete("reading_your_book_sentry"); } if (item_name.StartsWith("Massive")) { success = badgebook.Complete("reading_your_book_massive"); } if (item_name.StartsWith("Flight")) { success = badgebook.Complete("reading_your_book_flight"); } if (item_name.StartsWith("AdeptLevitate")) { success = badgebook.Complete("reading_your_book_adv_levitate"); } if (item_name.StartsWith("Summon")) { success = badgebook.Complete("reading_your_book_summon"); } if (item_name.StartsWith("Teleport")) { success = badgebook.Complete("reading_your_book_teleport"); } if (item_name.StartsWith("Architecture")) { success = badgebook.Complete("reading_your_book_architecture"); } if (success) { num_unlocked++; } if (num_unlocked == 8) { badgebook.Complete("reading_your_book"); } showAppropriateQuestArrows(); }; int collectedBread = 0; FlyQuestChecker.Levitated += () => { if (badgebook.Complete("helping_others_reaching_up_high")) { //GameObject.Find("LevitationQuestGnomeArmature").GetComponent<DisplayOnMinimap>().show = false; //GameObject.Find("LevitationQuestGnomeArmature").GetComponent<Icon3D>().show = false; helpingUnlocked++; } if (helpingUnlocked == NUMBER_OF_QUESTS) { badgebook.Complete("helping_others"); } showAppropriateQuestArrows(); }; AudioSource main_audio = GameObject.Find("Voice").audio; AudioClip pickup_clip = Resources.Load("PickupArpeg") as AudioClip; int unlevitatingBoxes = 0; Unlevitate.UnlevitateQuest += () => { unlevitatingBoxes++; main_audio.PlayOneShot(pickup_clip); Popup.mainPopup.popup("Got it! (" + (3 - unlevitatingBoxes) + " left)"); if (unlevitatingBoxes == 3) { if (badgebook.Complete("helping_others_unlevitate")) { //GameObject.Find("UnlevitationQuestGnomeArmature").GetComponent<DisplayOnMinimap>().show = false; //GameObject.Find("UnlevitationQuestGnomeArmature").GetComponent<Icon3D>().show = false; //GameObject.Find("QuestUnlevitationCrate").GetComponent<Icon3D>().show = false; //GameObject.Find("QuestUnlevitationCrate1").GetComponent<Icon3D>().show = false; //GameObject.Find("QuestUnlevitationCrate2").GetComponent<Icon3D>().show = false; helpingUnlocked++; } } if (helpingUnlocked == NUMBER_OF_QUESTS) { badgebook.Complete("helping_others"); } //update current level for areas and log the area GameObject.Find("Area2").GetComponent <Area2>().area2 = true; AreaLogger.Log("Area2"); showAppropriateQuestArrows(); }; SummonObject.SummonObjectQuest += () => { if (badgebook.Complete("helping_others_summonObject")) { //GameObject.Find("SummonObjectGnomeArmature").GetComponent<DisplayOnMinimap>().show = false; //GameObject.Find("SummonObjectGnomeArmature").GetComponent<Icon3D>().show = false; //GameObject.Find("SummonedObject").GetComponent<Icon3D>().show = false; //Destroy the yellow summoning block when they have summond the square to it. Destroy(GameObject.Find("SummonTo")); helpingUnlocked++; } if (helpingUnlocked == NUMBER_OF_QUESTS) { badgebook.Complete("helping_others"); } showAppropriateQuestArrows(); }; CollectBread.CollectedBread += () => { collectedBread++; main_audio.PlayOneShot(pickup_clip); Popup.mainPopup.popup("Got it! (" + (12 - collectedBread) + " left)"); if (12 == 12) { if (badgebook.Complete("helping_others_putting_something_high")) { //GameObject.Find("FlyQuestGnomeArmature").GetComponent<DisplayOnMinimap>().show = false; //GameObject.Find("FlyQuestGnomeArmature").GetComponent<Icon3D>().show = false; helpingUnlocked++; } } if (helpingUnlocked == NUMBER_OF_QUESTS) { badgebook.Complete("helping_others"); } showAppropriateQuestArrows(); showAppropriateSpells(GameObject.Find("Badgebook")); }; Inventory.PickedUp += (target) => { if (target.name.Equals("Presents")) { //Debug.Log("Trying to enable the Icon3D for Dance Quest"); //GameObject.Find("DanceQuest").GetComponent<Icon3D>().color = Color.white; if (badgebook.Complete("helping_others_picking_up_item")) { helpingUnlocked++; } } if (target.name.Equals("game_flag")) { if (badgebook.Complete("collecting_objects_staff")) { helpingUnlocked++; } } if (helpingUnlocked == NUMBER_OF_QUESTS) { badgebook.Complete("helping_others"); } showAppropriateQuestArrows(); }; Inventory.DroppedOff += (target) => { GameObject gnome = GameObject.Find("QuestSwampGnomeEnd"); GameObject presents = GameObject.Find("Presents"); if (target.name.Equals("Presents") && Vector3.Distance(gnome.transform.position, presents.transform.position) < 10) { //GameObject.Find("QuestSwampGnomeEnd").GetComponent<Icon3D>().enabled = false; if (badgebook.Complete("helping_others_cross_river")) { helpingUnlocked++; } } if (helpingUnlocked == NUMBER_OF_QUESTS) { badgebook.Complete("helping_others"); } showAppropriateQuestArrows(); }; Flamable.Extinguished += (target) => { //Debug.Log("Extinguished was called with target: "+target.gameObject.name); if (target.name.Equals("QuestSummonCrate")) { Debug.Log("Completing the summoning quest"); if (badgebook.Complete("helping_others_putting_out_fire")) { helpingUnlocked++; } } if (helpingUnlocked == NUMBER_OF_QUESTS) { badgebook.Complete("helping_others"); } showAppropriateQuestArrows(); }; Flamable.CaughtFire += (target) => { if (!crate1 && target.name.Equals("QuestFlammingCrate")) { crate1 = true; if (crate2) { if (badgebook.Complete("helping_others_light_fire")) { helpingUnlocked++; } } } if (!crate2 && target.name.Equals("QuestFlammingCrate1")) { crate2 = true; if (crate1) { if (badgebook.Complete("helping_others_light_fire")) { helpingUnlocked++; } } } if (helpingUnlocked == NUMBER_OF_QUESTS) { badgebook.Complete("helping_others"); } showAppropriateQuestArrows(); }; }