58 lines
1.2 KiB
C#
58 lines
1.2 KiB
C#
using AibisDream;
|
|
using UnityEngine;
|
|
|
|
public class Socket : MonoBehaviour, ISocket
|
|
{
|
|
public bool IsAvailable { get; private set; } = true;
|
|
public Vector2 InsertionPoint => transform.position;
|
|
private Plug plug=null;
|
|
private YarnOption _option;
|
|
|
|
public YarnOption Option
|
|
|
|
{
|
|
set => _option = value;
|
|
}
|
|
public void Update()
|
|
{
|
|
if(plug!=null)
|
|
{
|
|
plug.transform.position=transform.position;
|
|
}
|
|
}
|
|
|
|
public void InsertPlug(Plug p)
|
|
{
|
|
if (IsAvailable)
|
|
{
|
|
IsAvailable = false;
|
|
}
|
|
AudioManager.RandomPlayInteraction("plug_in");
|
|
plug=p;
|
|
plug.CableRef.End=plug.transform;
|
|
// 可插入就可以触发对话
|
|
_option?.SelectOption();
|
|
}
|
|
|
|
public void RemovePlug(Plug p)
|
|
{
|
|
IsAvailable = true;
|
|
AudioManager.RandomPlayInteraction("plug_out");
|
|
//MessageBox.Instance.HandleMessageBoxCommand("null","");
|
|
if(plug!=null)
|
|
{
|
|
plug.CableRef.End=plug.transform.GetChild(0).transform;
|
|
plug=null;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
public Vector2 GetPosition()
|
|
{
|
|
return transform.position;
|
|
}
|
|
}
|