Files
aibis-dream/Assets/Scripts/FixSystem/Cable/Socket.cs
T
2025-03-08 12:07:35 +08:00

72 lines
1.5 KiB
C#

using AibisDream;
using UnityEngine;
using System;
using AibisDream.Kit;
public class Socket : MonoBehaviour, ISocket
{
public bool IsAvailable { get; set; } = true;
public Vector2 InsertionPoint => transform.position;
[HideInInspector]
public Plug plug=null;
private YarnOption _option;
private bool waitYarnCommand = false;
public bool WaitYarnCommand
{
get { return waitYarnCommand; }
}
public bool notAlowedDeep = false;
[HideInInspector] public TargetPointData targetData; // 新增属性
public YarnOption Option
{
set => _option = value;
}
public void Start()
{
targetData = transform.GetComponent<TargetPointData>();
}
public void Update()
{
if (plug != null)
{
plug.transform.position = transform.position;
}
}
public void InsertPlug(Plug p)
{
if (IsAvailable)
{
IsAvailable = false;
}
AudioManager.Instance.PlaySfx("event:/FollowInput/plugin");
plug = p;
plug.CableRef.End = plug.transform;
// 可插入就可以触发对话
}
public void RemovePlug(Plug p)
{
IsAvailable = true;
AudioManager.Instance.PlaySfx("event:/FollowInput/plugout");
if (plug != null)
{
plug.CableRef.End = plug.transform.GetChild(0).transform;
plug.currentSocket = null;
plug = null;
}
}
public Vector2 GetPosition()
{
return transform.position;
}
}