Files
BITFALL/Assets/Artists/Scripts/Scenes/InteractiveArea.cs
CortexCore 4062e1b8e2 1
2024-01-03 00:27:12 +08:00

28 lines
847 B
C#

using System;
using System.Collections;
using System.Collections.Generic;
using BITFALL.Hotkey;
using BITKit;
using UnityEngine;
using UnityEngine.Events;
namespace BITFALL.Scene
{
public class InteractiveArea : MonoBehaviour,IHotkeyProvider
{
[SerializeReference, SubclassSelector] private IReference areaName;
[SerializeReference, SubclassSelector] private IReference description;
[SerializeReference,SubclassSelector] private IReference disableDescription;
[SerializeField] private UnityEvent onPerform = new();
public virtual string Name => areaName.Value;
public string Description =>Enabled ? description.Value : disableDescription.Value;
public object Data { get; set; } = null;
public bool Enabled => enabled;
public Action OnPerform => Perform;
protected virtual void Perform()
{
onPerform?.Invoke();
}
}
}