Fixed rooms not loading as prefabs

This commit is contained in:
Max 2025-02-14 08:52:08 +01:00
parent 438d3a9a79
commit 0ade17a3c8
3 changed files with 10737 additions and 85695 deletions

View file

@ -3,6 +3,7 @@ using System.Collections.Generic;
using UnityEngine;
using DungeonMapGenerator;
using Unity.VisualScripting;
using UnityEditor;
using Object = UnityEngine.Object;
@ -25,39 +26,28 @@ namespace DungeonGenerator
GameObject monsterRoomPrefab = Resources.Load<GameObject>(MONSTER_ROOM);
GameObject normalRoomPrefab = Resources.Load<GameObject>(NORMAL_ROOM);
GameObject bossRoomGO = Object.Instantiate(bossRoomPrefab,
ConvertToUnityPosition(map.GetBossRoom().GetCenterOfRoom(), map.Width, map.Height),
Quaternion.identity,
gameObject.transform);
GameObject bossRoomGO = PrefabUtility.InstantiatePrefab(bossRoomPrefab, gameObject.transform) as GameObject;
bossRoomGO.transform.position = ConvertToUnityPosition(map.GetBossRoom().GetCenterOfRoom(), map.Width, map.Height);
_roomIdToGameObject[map.GetBossRoom().Id] = bossRoomGO;
foreach (var monsterRoom in map.GetMonsterRooms())
{
GameObject monsterRoomGO = Object.Instantiate(
monsterRoomPrefab,
ConvertToUnityPosition(monsterRoom.GetCenterOfRoom(), map.Width, map.Height),
Quaternion.identity,
gameObject.transform);
GameObject monsterRoomGO = PrefabUtility.InstantiatePrefab(monsterRoomPrefab, gameObject.transform) as GameObject;
monsterRoomGO.transform.position = ConvertToUnityPosition(monsterRoom.GetCenterOfRoom(), map.Width, map.Height);
_roomIdToGameObject[monsterRoom.Id] = monsterRoomGO;
}
foreach (var normalRoom in map.GetNormalRooms())
{
GameObject normalRoomGO = Object.Instantiate(
normalRoomPrefab,
ConvertToUnityPosition(normalRoom.GetCenterOfRoom(), map.Width, map.Height),
Quaternion.identity,
gameObject.transform);
GameObject normalRoomGO = PrefabUtility.InstantiatePrefab(normalRoomPrefab, gameObject.transform) as GameObject;
normalRoomGO.transform.position = ConvertToUnityPosition(normalRoom.GetCenterOfRoom(), map.Width, map.Height);
_roomIdToGameObject[normalRoom.Id] = normalRoomGO;
}
foreach (var entranceRoom in map.GetEntranceRooms())
{
GameObject entranceRoomGO = Object.Instantiate(
normalRoomPrefab,
ConvertToUnityPosition(entranceRoom.GetCenterOfRoom(), map.Width, map.Height),
Quaternion.identity,
gameObject.transform);
GameObject entranceRoomGO = PrefabUtility.InstantiatePrefab(normalRoomPrefab, gameObject.transform) as GameObject;
entranceRoomGO.transform.position = ConvertToUnityPosition(entranceRoom.GetCenterOfRoom(), map.Width, map.Height);
entranceRoomGO.GetComponent<Room>().IsEntrance = true;
_roomIdToGameObject[entranceRoom.Id] = entranceRoomGO;
}