Files
2025TapTapGameJam/Assets/Script/Gameplay/Facility/DoorInteractController.cs

50 lines
1.2 KiB
C#

using System;
using Gameplay.Player;
using UnityEngine;
using Interface;
namespace Script.Gameplay.Facility
{
public class DoorInteractController : InteractableBaseController, IEditableComponent
{
[SerializeField] private bool isActive = true;
public bool IsActive
{
get => isActive;
set
{
isActive = value;
//具体被编辑的逻辑
Interactable = isActive;
}
}
public string ComponentName { get; set; } = "DoorSwitch";
public LockLevel LockLevel => LockLevel.Red;
private bool isOpened = false;
public override void Interact(GameObject interactor)
{
if (!Interactable) return;
if (isOpened)
{
CloseDoor();
isOpened = false;
}
else
{
OpenDoor();
isOpened = true;
}
}
private void OpenDoor()
{
Debug.Log("Open door");
}
private void CloseDoor()
{
Debug.Log("Close door");
}
}
}