Added all the other GhostSystem Scripts

This commit is contained in:
Thorbjoern
2025-05-26 01:23:52 +02:00
parent e5bca03433
commit 3ec28d4bc5
30 changed files with 1638 additions and 149 deletions
+18 -5
View File
@@ -1,3 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -5,29 +6,41 @@ using UnityEngine;
public class RoomManager : MonoBehaviour
{
public RoomPrefs myRoom;
public string sceneId;
public List<GameObject> doors;
public List<GameObject> furnitures;
public List<GameObject> portals;
public List<GameObject> enemies;
public static event Action<string> OnSceneIdReady; // um das Replay erst auszulösen, wenn die SceneId da ist, die nun über die RoomPrefs festgelegt wird.
public void Awake()
{
if (!myRoom.doors && myRoom.furniture && !myRoom.portals && !myRoom.enemies) return;
if (myRoom == null)
{
Debug.LogError("RoomPrefs is not assigned in RoomManager.");
return;
}
//if (!myRoom.doors && myRoom.furniture && !myRoom.portals && !myRoom.enemies) return;
if (myRoom.doors)
{
foreach (GameObject door in doors) door.SetActive(true);
}
if (!myRoom.furniture)
{
foreach(GameObject f in furnitures) f.SetActive(false);
foreach (GameObject f in furnitures) f.SetActive(false);
}
if (myRoom.portals)
{
foreach(GameObject portal in portals) portal.SetActive(true);
foreach (GameObject portal in portals) portal.SetActive(true);
}
if (myRoom.enemies)
{
foreach ( GameObject enemy in enemies) enemy.SetActive(true);
foreach (GameObject enemy in enemies) enemy.SetActive(true);
}
sceneId = myRoom.sceneId;
OnSceneIdReady?.Invoke(sceneId);
}
}
}