Beispiel #1
0
    public void CreateTeleporter(MapInfo.Teleporter data)
    {
        GameObject go = Game.Database.LoadResource("Map/Teleporter");

        go.name = "to " + data.toMap;
        go.transform.SetParent(m_teleporterRoot);

        go.transform.localScale = data.scaling;
        data.pos.CopyTo(go.transform);

        Teleporter tel = go.AddComponent <Teleporter>();

        tel.m_toMap = data.toMap;
    }
Beispiel #2
0
    public void SaveMapInfo()
    {
        MapInfo mapInfo = new MapInfo();

        mapInfo.born.CopyFrom(m_bornPosition);

        MapInfo.Npc mapNpc = new MapInfo.Npc();
        int         count  = m_npcRoot.childCount;

        for (int i = 0; i < count; i++)
        {
            Transform t   = m_npcRoot.GetChild(i);
            Npc       npc = t.GetComponent <Npc>();
            if (npc != null)
            {
                mapNpc.id = npc.id;
                mapNpc.pos.CopyFrom(t);
                mapInfo.npc.Add(mapNpc);
            }
        }

        MapInfo.Monster mapMonster = new MapInfo.Monster();
        count = m_monsterRoot.childCount;
        for (int i = 0; i < count; i++)
        {
            Transform t       = m_monsterRoot.GetChild(i);
            Monster   monster = t.GetComponent <Monster>();
            if (monster != null)
            {
                mapMonster.id = monster.id;
                mapMonster.pos.CopyFrom(t);
                mapInfo.monster.Add(mapMonster);
            }
        }

        MapInfo.Position savePoint = new MapInfo.Position();
        count = m_savePointRoot.childCount;
        for (int i = 0; i < count; i++)
        {
            Transform t = m_savePointRoot.GetChild(i);
            savePoint.CopyFrom(t);
            mapInfo.savepoint.Add(savePoint);
        }

        MapInfo.Teleporter mapTel = new MapInfo.Teleporter();
        count = m_teleporterRoot.childCount;
        for (int i = 0; i < count; i++)
        {
            Transform  t   = m_teleporterRoot.GetChild(i);
            Teleporter tel = t.GetComponent <Teleporter>();
            if (tel != null)
            {
                mapTel.pos.CopyFrom(t);
                mapTel.scaling = tel.transform.localScale;
                mapTel.toMap   = tel.m_toMap;
                mapInfo.teleporter.Add(mapTel);
            }
        }

        Game.Database.SaveMapInfo(mapInfo, m_name);
    }