public NPCMeta(NPCMeta meta) { string json = JsonUtility.ToJson(meta); NPCMeta copy = JsonUtility.FromJson <NPCMeta>(json); name = copy.name; pos = copy.pos; wander = copy.wander; trainer = copy.trainer; defeated = copy.defeated; talkedTo = copy.talkedTo; curious = copy.curious; lookDistance = copy.lookDistance; visible = copy.visible; canFight = copy.canFight; questsToAppear = copy.questsToAppear; questsToDisappear = copy.questsToDisappear; questsToFight = copy.questsToFight; dialogs = copy.dialogs; defeatedDialogs = copy.defeatedDialogs; infiniteTrainer = copy.infiniteTrainer; infiniteTrainerDiff = copy.infiniteTrainerDiff; roster = copy.roster; }
public MonTreasMeta(MonTreasMeta meta, PosMeta pos) { this.description = meta.description; this.effects = meta.effects; this.value = meta.value; this.pos = pos; }
public static BoardMeta getBoardState(string mapName, PosMeta playerPos) { //Debug.Log("getBoardState: " + mapName); List <NPCMeta> npcs = new List <NPCMeta>(); foreach (GameObject npc in GameObject.FindGameObjectsWithTag("NPC")) { NPCMeta thisMeta = npc.GetComponent <NPCMain>().meta; NPCMeta meta = new NPCMeta(thisMeta); meta.pos = new PosMeta(npc.transform.position); npcs.Add(meta); } List <MonTreasMeta> items = new List <MonTreasMeta>(); foreach (GameObject item in GameObject.FindGameObjectsWithTag("Item")) { //Debug.Log("Found Item: " + item.name); //Debug.Log("Active: " + item.activeInHierarchy.ToString()); if (item.activeInHierarchy) { MonTreasMeta thisMeta = item.GetComponent <TreasureMain>().monTreas; MonTreasMeta meta = new MonTreasMeta(thisMeta, new PosMeta(item.transform.position)); items.Add(meta); } } BoardMeta board = new BoardMeta(); board.NPCs = npcs.ToArray(); board.mapName = mapName; board.playerPos = playerPos; board.Items = items.ToArray(); return(board); }
public static bool getPickedUp(string scene, Vector3 pos) { BoardMeta bMeta = BaseSaver.getBoard(scene); if (bMeta != null) { foreach (MonTreasMeta treasure in bMeta.Items) { PosMeta pos1 = new PosMeta(pos); if (pos1.Equals2(treasure.pos)) { return(false); } } return(true); } return(false); }
public bool Equals2(PosMeta pos) { return((int)(this.x * 10) == (int)(pos.x * 10) && (int)(this.y * 10) == (int)(pos.y * 10) && (int)(this.z * 10) == (int)(pos.z * 10)); }