2025-10-22 17:34:58 +08:00
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
using Script.Gameplay.Interface;
|
|
|
|
|
using Script.Gameplay.Connect;
|
|
|
|
|
|
|
|
|
|
namespace Script.Gameplay.Facility
|
|
|
|
|
{
|
|
|
|
|
public class LeverInteractController : BaseFacilityController
|
|
|
|
|
{
|
|
|
|
|
private bool isPulled = false;
|
|
|
|
|
|
|
|
|
|
public override string GetInteractPrompt()
|
|
|
|
|
{
|
|
|
|
|
return "按F拉动拉杆";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void Interact(GameObject interactor)
|
|
|
|
|
{
|
|
|
|
|
if (!IsEnableInteract) return;
|
|
|
|
|
isPulled = !isPulled;
|
|
|
|
|
SendSignal(isPulled, this.gameObject);
|
|
|
|
|
// 可选:拉杆动画
|
2025-10-22 19:38:22 +08:00
|
|
|
if (isPulled)
|
|
|
|
|
{
|
|
|
|
|
// 旋转拉杆到下拉位置
|
|
|
|
|
transform.rotation = Quaternion.Euler(0f, 0f, 45f);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// 旋转拉杆回到初始位置
|
|
|
|
|
transform.rotation = Quaternion.Euler(0f, 0f, 0f);
|
|
|
|
|
}
|
2025-10-22 17:34:58 +08:00
|
|
|
//Debug.Log(isPulled ? "Lever pulled down" : "Lever reset");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void OnGazeEnter(GameObject go)
|
|
|
|
|
{
|
|
|
|
|
// 可选:高亮拉杆
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void OnGazeExit(GameObject go)
|
|
|
|
|
{
|
|
|
|
|
// 可选:取消高亮
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|