using GhostSystem;
using JetBrains.Annotations;
using Oculus.Interaction;
using System;
using System.Collections;
using System.Collections.Generic;
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, List<GameObject>> OnSceneIdReady; // um das Replay erst auszulösen, wenn die SceneId da ist, die nun über die RoomPrefs festgelegt wird.
    GhostRecorderBatch ghostRecorder;

    public void Awake()
    {
        ghostRecorder =  FindFirstObjectByType<GhostRecorderBatch>();
        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);
        }
        if (myRoom.portals)
        {
            foreach (GameObject portal in portals) portal.SetActive(true);
        }
        if (myRoom.enemies)
        {
            foreach (GameObject enemy in enemies) enemy.SetActive(true);
        }
        sceneId = myRoom.sceneId;
        OnSceneIdReady?.Invoke(sceneId, doors);

    }
}