IEnumerator DestWait(Collider2D other) { Destroy(other.gameObject); yield return(null); BaseSaver.putBoard(GameUtilities.getBoardState(BaseSaver.getMap(), new PosMeta(transform.position))); }
IEnumerator SaveConversation(GameObject npc) { AdventureMeta meta = BaseSaver.getAdventure(); //meta.playerPos = new PosMeta(transform.position); NPCMain trainerMain = npc.GetComponent <NPCMain>(); if (trainerMain.meta.infiniteTrainer) { meta.trainer = trainerMain.getInfiniteMeta(meta); } else { meta.trainer = trainerMain.getRefinedMeta(); } meta.trainer.pos = new PosMeta(npc.transform.position); meta.wild = null; meta.isTrainerEncounter = true; Debug.Log(meta.ToString()); Debug.Log(meta.trainer.ToString()); BaseSaver.putAdventure(meta); BaseSaver.putBoard(GameUtilities.getBoardState(BaseSaver.getMap(), new PosMeta(transform.position))); yield return(null); }
IEnumerator HealSave() { AdventureMeta meta = GameObject.FindWithTag("Player").GetComponent <PlayerMain>().playerMeta; meta.trainer = null; //meta.playerPos = new PosMeta(GameObject.Find("PlayerHero").transform.position); foreach (PlayerRosterMeta monster in meta.roster) { monster.curHealth = monster.maxHealth; } BaseSaver.putAdventure(meta); BaseSaver.putBoard(GameUtilities.getBoardState(BaseSaver.getMap(), new PosMeta(GameObject.FindWithTag("Player").transform.position))); BaseSaver.saveState(); yield return(null); }
public IEnumerator WaitTrigger(float wait) { int roll = Random.Range(0, 10); if (roll < 1 && GetComponent <Move>().Moving() && !PauseManager.instance.IsOpen() && !DialogManager.instance.ShopActive() && !DialogManager.instance.DialogActive()) { Debug.Log("Hit"); //GetComponent<Move>().disableMove(); AdventureMeta meta = BaseSaver.getAdventure(); Glossary glossy = GameObject.Find("PauseCanvas").GetComponent <PauseManager>().glossaryObj.GetComponent <Glossary>(); SceneMeta thisScene = glossy.GetScene(BaseSaver.getMap()).meta; List <PlayerRosterMeta> monsters = new List <PlayerRosterMeta>(); foreach (string mons in thisScene.monsters) { if (!mons.Equals(lastMonster)) { MonsterMeta met = glossy.GetMonsterMain(mons).meta; int lvl = Random.Range(thisScene.monsterLvls[0], thisScene.monsterLvls[1]); monsters.Add(MonsterMeta.returnMonster(met, lvl, true)); } } PlayerRosterMeta[] scrbMons = monsters.ToArray(); GameUtilities.ShuffleArray(scrbMons); meta.trainer = null; meta.wild = scrbMons[0]; meta.isTrainerEncounter = false; lastMonster = meta.wild.name; BaseSaver.putAdventure(meta); BaseSaver.putBoard(GameUtilities.getBoardState(BaseSaver.getMap(), new PosMeta(transform.position))); StartCoroutine(DialogManager.FightFlash(false)); //Initiate.Fade("BejeweledScene", Color.black, 1.0f); } yield return(new WaitForSeconds(wait)); waitingForRoll = false; yield return(null); }
void OnTriggerEnter2D(Collider2D other) { Debug.Log("Other Checking: " + other.name); if (tag.Equals("Player")) { Debug.Log("Other Checking: " + other.name); Debug.Log("Has Dialog: " + DialogManager.instance.hasDialog().ToString()); Debug.Log("other.name.Contains(NPC_Trainer): " + other.name.Contains("NPC_Trainer").ToString()); if (!waitingForConversation) { if (other.tag.Contains("Item") && !DialogManager.instance.hasDialog()) { DialogMeta[] diag = new DialogMeta[1]; diag[0] = new DialogMeta("Received: " + other.name + "\n" + other.GetComponent <TreasureMain>().monTreas.description); DialogManager.instance.SetMsgs(other.gameObject.GetComponent <SpriteRenderer>().sprite, diag); StartCoroutine(SaveItem(other.gameObject)); GameObject.FindWithTag("Player").GetComponent <PlayerMain>().playerMeta = BaseSaver.getAdventure(); StartCoroutine(DestWait(other)); } if (other.tag.Contains("Signpost") && !DialogManager.instance.hasDialog()) { DialogManager.instance.SetMsgs(other.gameObject.GetComponent <SpriteRenderer>().sprite, other.gameObject.GetComponent <SignDialog>().dialogs); } if (other.name.Contains("NPC_WhiteMage") && !DialogManager.instance.hasDialog()) { //Debug.Log("NPC_WhiteMage"); //NPCMeta meta = other.gameObject.GetComponent<NPCMain>().meta; NPCMeta npcmeta = other.gameObject.GetComponent <NPCMain>().meta; npcmeta.talkedTo = true; DialogManager.instance.SetMsgs(other.gameObject.GetComponent <SpriteRenderer>().sprite, other.gameObject.GetComponent <NPCMain>().meta.dialogs); } if (other.name.Contains("NPC_Trainer") && !DialogManager.instance.hasDialog()) { Debug.Log("Other Collided: " + other.name); NPCMeta npcmeta = other.gameObject.GetComponent <NPCMain>().meta; if (npcmeta.dialogs.Length > 0) { Debug.Log("Dialogs good"); npcmeta.talkedTo = true; if (npcmeta.lookDistance > 0 && !npcmeta.defeated) { other.gameObject.GetComponent <NPCMain>().moveToPos(transform.position); } else if (npcmeta.trainer && !npcmeta.defeated) { other.gameObject.GetComponent <NPCMain>().startleNPC(); } StartCoroutine(SaveConversation(other.gameObject)); //AdventureMeta meta = BaseSaver.getAdventure(); ////meta.playerPos = new PosMeta(transform.position); //NPCMain trainerMain = other.gameObject.GetComponent<NPCMain>(); //if (trainerMain.meta.infiniteTrainer) { // meta.trainer = trainerMain.getInfiniteMeta(meta); //} else { // meta.trainer = trainerMain.getRefinedMeta(); //} //meta.trainer.pos = new PosMeta(other.gameObject.transform.position); //meta.wild = null; //meta.isTrainerEncounter = true; //Debug.Log(meta.ToString()); //Debug.Log(meta.trainer.ToString()); //BaseSaver.putAdventure(meta); //BaseSaver.putBoard(GameUtilities.getBoardState(BaseSaver.getMap(), new PosMeta(transform.position))); //BaseSaver.saveState(); if (npcmeta.canFight) { Debug.Log("Can Fight"); DialogManager.instance.SetMsgs(other.gameObject.GetComponent <SpriteRenderer>().sprite, other.gameObject.GetComponent <NPCMain>().meta.defeated ? other.gameObject.GetComponent <NPCMain>().meta.defeatedDialogs : other.gameObject.GetComponent <NPCMain>().meta.dialogs ); } else { DialogMeta d1 = new DialogMeta("The stars have not yet aligned for us to battle."); DialogMeta d2 = new DialogMeta("Perhaps we will meet each other again..."); DialogMeta[] comeAgainDialog = { d1, d2 }; DialogManager.instance.SetMsgs(other.gameObject.GetComponent <SpriteRenderer>().sprite, comeAgainDialog); } } } if (other.name.Contains("ExitTileGrass")) { GameManager.instance.FadeOutNoScene(); waitingForRoll = true; StartCoroutine(WaitForAction(roll_wait)); StartCoroutine(WaitForConversation(convo_wait)); BaseSaver.putBoard(GameUtilities.getBoardState(BaseSaver.getMap(), new PosMeta(transform.position))); other.gameObject.GetComponent <ExitTile>().loadSteppedScene(); } } else { Debug.Log("Waiting for roll"); } } }
private void Awake() { instance = GetComponent <PauseManager>(); panelOpen = false; glossy = glossaryObj.GetComponent <Glossary>(); SceneMain scene = glossy.GetScene(BaseSaver.getMap()); GameObject.Find("MenuTitle").SetActive(true); GameObject.Find("MenuTitle").GetComponent <Text>().text = scene.meta.name; StartCoroutine(WaitForAction(3f)); GameObject map = Instantiate(scene.map, new Vector3(0, 0, 0), Quaternion.identity); map.SetActive(true); swapping = false; deleting = false; Debug.Log("PauseManager Awake"); AdventureMeta meta = BaseSaver.getAdventure(); BoardMeta board = BaseSaver.getBoard(BaseSaver.getMap()); GameObject hero = GameObject.FindWithTag("Player"); if (BaseSaver.getMap().Equals("ShallowGrove") && BaseSaver.getMapPrev() != "") { hero.SetActive(false); hero = null; Destroy(GameObject.FindWithTag("Player")); } if (hero == null) { // Pull the hero out of the glossary and instantiate it in the right exit/entrance tile GameObject nHero = null; string dest = BaseSaver.getMapConnection(); string prev = BaseSaver.getMapPrev(); Debug.Log("Prev: " + prev); Debug.Log("Dest: " + dest); foreach (GameObject exit in GameObject.FindGameObjectsWithTag("Exit")) { ExitTile tile = exit.GetComponent <ExitTile>(); if (tile.toScene.Equals(prev + '.' + dest)) { nHero = Instantiate(glossy.hero, exit.transform.position, exit.transform.rotation, GameObject.Find("Units").transform); BaseSaver.setMapConnection(""); BaseSaver.setMapPrevName(""); break; } } if (nHero != null) { nHero.GetComponent <PlayerMain>().playerMeta = meta; } else { Debug.Log("Hero is null!"); nHero = Instantiate(glossy.hero, board.playerPos.ToVector3(), Quaternion.identity, GameObject.Find("Units").transform); nHero.GetComponent <PlayerMain>().playerMeta = meta; } } else { Debug.Log("Hero is not null!"); //GameObject.FindWithTag("Player").transform.position = new Vector3(board.playerPos.x, board.playerPos.y, board.playerPos.z); GameObject.FindWithTag("Player").GetComponent <PlayerMain>().playerMeta = meta; } //GameObject.FindWithTag("Player").GetComponent<PlayerMain>().playerMeta = meta; //BoardMeta board = BaseSaver.getBoard(BaseSaver.getMap()); //Debug.Log("Player Pos: " + GameObject.Find("PlayerHero").transform.position.ToString()); if (board != null) { Debug.Log("Board not null"); GameObject[] npcs = GameObject.FindGameObjectsWithTag("NPC"); GameObject[] items = GameObject.FindGameObjectsWithTag("Item"); Debug.Log("board: " + board.mapName); Debug.Log("player pos: " + board.playerPos); foreach (GameObject npc in npcs) { Debug.Log("board npc: " + (new PosMeta(npc.transform.position)).ToString()); Debug.Log("equals battle: " + meta.trainer.pos.Equals(new PosMeta(npc.transform.position)).ToString()); foreach (NPCMeta NPCMeta in board.NPCs) { if (NPCMeta.name.Equals(npc.GetComponent <NPCMain>().meta.name)) { npc.GetComponent <NPCMain>().meta = new NPCMeta(NPCMeta); } } if (meta.trainer != null && meta.trainer.name.Equals(npc.GetComponent <NPCMain>().meta.name)) { Debug.Log("Found: " + npc.GetComponent <NPCMain>().meta.ToString()); npc.GetComponent <NPCMain>().meta = new NPCMeta(meta.trainer); Debug.Log("changed: " + npc.GetComponent <NPCMain>().meta.ToString()); } } foreach (GameObject item in items) { item.GetComponent <TreasureMain>().UpdateInteractable(); } //GameObject.FindWithTag("Player").transform.position = new Vector3(board.playerPos.x, board.playerPos.y, board.playerPos.z); BaseSaver.putBoard(GameUtilities.getBoardState(BaseSaver.getMap(), new PosMeta(GameObject.FindWithTag("Player").transform.position))); } else { Debug.Log("Board is null"); } }