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; }
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); }