void removeScript() { shouldRemove = false; current_code = ""; input.SetCode(current_code); enabled = false; previous_state.active = true; paused = true; Time.timeScale = 1; ProgramLogger.LogKVtime("delete", "all"); ProgramLogger.LogKVtime("close", getSpellName()); //+", "+Time.time); ProgramLogger.LogCode(getSpellName(), current_code); SpellLogger.Log("delete: " + getSpellName()); if (IDEClosed != null) { IDEClosed(file_name, current_code); } }
void setupSpecialEvents() { //Remove a spell from the inventory if the user blanks out the file contents. // This is how we'll delete spells (for now). IDE.IDEClosed += (file_name, contents) => { string newName = getSpellName(contents); string[] segs = file_name.Split('/'); string prevName = segs[segs.Length - 1].Replace(".java", ""); Inventory i = GameObject.Find("Inventory").GetComponent <Inventory>(); //previous name List <GameObject> matching_items = i.getMatching(prevName); if (Regex.Match(contents.Replace("\n", ""), "^\\s*$").Success&& matching_items.Count > 0) { Debug.Log("About to remove item"); i.removeItem(matching_items[0]); return; } if (!prevName.Equals(newName)) { // this spell already exists in the inventory so we need to automatically rename it Spellbook spellbook = GameObject.Find("Spellbook").GetComponent <Spellbook>(); string newNameAdjusted = spellbook.getIncName(newName); contents = contents.Replace(newName, newNameAdjusted); newName = newNameAdjusted; //matching_items[0].GetComponent<Item>().item_name = newName; matching_items[0].GetComponent <CodeScrollItem>().setCurrentFile(newName + ".java"); matching_items[0].GetComponent <CodeScrollItem>().getIDEInput().SetCode(contents); ProgramLogger.LogKVtime("rename", prevName + ", " + newName); SpellLogger.Log("rename: " + prevName + ", " + newName); } matching_items[0].GetComponent <CodeScrollItem>().SetCompilable(); ProgramLogger.LogKV("compilable", newName + ", " + matching_items[0].GetComponent <CodeScrollItem>().IsCompilable()); }; AudioClip monster_clip = Resources.Load("Growls") as AudioClip; //Setup sounds Monster.AttackStarted += (monster) => { monster.audio.PlayOneShot(monster_clip); Popup.mainPopup.popup("Monster awoken! Hide in the swamp!"); }; Monster.AttackEnded += (monster) => { monster.audio.PlayOneShot(monster_clip); Popup.mainPopup.popup("You lost him!"); }; AudioSource main_audio = GameObject.Find("Voice").audio; AudioClip spellbook_clip = Resources.Load("PageTurn") as AudioClip; Spellbook.PageTurnedForward += (page) => { main_audio.audio.PlayOneShot(spellbook_clip); }; Spellbook.PageTurnedBackward += (page) => { main_audio.audio.PlayOneShot(spellbook_clip); }; Spellbook.SpellCopied += (page) => { main_audio.audio.PlayOneShot(spellbook_clip); }; AudioClip drop_item_clip = Resources.Load("DropItem") as AudioClip; Inventory.DroppedOff += (target) => { main_audio.audio.PlayOneShot(drop_item_clip); }; AudioClip badge_clip = Resources.Load("BadgeUnlocked") as AudioClip; Badgebook.BadgeUnlocked += (target) => { main_audio.audio.PlayOneShot(badge_clip); }; ConversationDisplayer.ConversationStarted += (target) => { int i = Random.Range(1, 7); AudioClip hi_clip = Resources.Load("GnomeHi" + i) as AudioClip; main_audio.audio.PlayOneShot(hi_clip); }; ConversationDisplayer.ConversationStopped += (target) => { int i = Random.Range(1, 3); AudioClip bye_clip = Resources.Load("GnomeBye" + i) as AudioClip; main_audio.audio.PlayOneShot(bye_clip); }; }