51 lines
1.1 KiB
C#
51 lines
1.1 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Unity.VisualScripting;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
using Utility;
|
|
|
|
namespace Interaction
|
|
{
|
|
public enum InteractibleType
|
|
{
|
|
Pickup,
|
|
Use,
|
|
Give
|
|
}
|
|
|
|
public abstract class Interactible : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
private Outline _outline;
|
|
|
|
[SerializeField]
|
|
private Color _selectedColor = Color.white;
|
|
[SerializeField]
|
|
private Color _highlightColor = Color.yellow;
|
|
|
|
public void Highlight(bool hightlight)
|
|
{
|
|
_outline.enabled = hightlight;
|
|
_outline.OutlineColor = _highlightColor;
|
|
_outline.OutlineWidth = 2;
|
|
}
|
|
|
|
public void SetSelected(bool isSelected)
|
|
{
|
|
Highlight(true);
|
|
if (isSelected)
|
|
{
|
|
_outline.OutlineColor = _selectedColor;
|
|
_outline.OutlineWidth = 4;
|
|
}
|
|
}
|
|
|
|
public virtual bool IsBlocked()
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|