Beispiel #1
0
    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;
    }
Beispiel #2
0
 public MonTreasMeta(MonTreasMeta meta, PosMeta pos)
 {
     this.description = meta.description;
     this.effects     = meta.effects;
     this.value       = meta.value;
     this.pos         = pos;
 }
Beispiel #3
0
    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);
    }
Beispiel #4
0
    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);
    }
Beispiel #5
0
 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));
 }