From 59dd5d67dce84cbdae2641862e9d46dccfcf59ee Mon Sep 17 00:00:00 2001 From: Ding Yuntian <1491671119@qq.com> Date: Fri, 17 Jan 2025 21:17:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=95=E6=93=8E=E7=9B=B8=E5=85=B3=E7=8E=A9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scenes/ExpressFixScene.unity | 11 ++++++++ Assets/Scripts/MiniGame/Engine/CordPull.cs | 2 +- .../Scripts/MiniGame/Engine/EngineSystem.cs | 26 ++++++++++++------- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/Assets/Scenes/ExpressFixScene.unity b/Assets/Scenes/ExpressFixScene.unity index f71fe0fee..fb6940201 100644 --- a/Assets/Scenes/ExpressFixScene.unity +++ b/Assets/Scenes/ExpressFixScene.unity @@ -4035,15 +4035,26 @@ MonoBehaviour: engineConfig: oilRate: 0.5 resistance: 0.1 + gearSpeed: 0.1 speedRate: 15 + targetDuration: 2 + pullMaxSpeed: 1.2 + returnSpeed: 5 engineData: config: oilRate: 0 resistance: 0 + gearSpeed: 0 speedRate: 0 + targetDuration: 0 + pullMaxSpeed: 0 + returnSpeed: 0 curSpeed: 0 curOil: 0 curAcceleration: 0 + isSuccess: 0 + reachTargetTime: 0 + isAvailable: 0 updateSpeedEvent: m_PersistentCalls: m_Calls: [] diff --git a/Assets/Scripts/MiniGame/Engine/CordPull.cs b/Assets/Scripts/MiniGame/Engine/CordPull.cs index 3807826d6..7d9f7446c 100644 --- a/Assets/Scripts/MiniGame/Engine/CordPull.cs +++ b/Assets/Scripts/MiniGame/Engine/CordPull.cs @@ -99,7 +99,7 @@ namespace AibisDream { _isDragging = false; // 松手后抽回去 - var retractTime = (_initPos.y - transform.localPosition.y) / _engineSystem.engineConfig.retrunSpeed; + var retractTime = (_initPos.y - transform.localPosition.y) / _engineSystem.engineConfig.returnSpeed; transform.DOMove(_initPos, retractTime); } diff --git a/Assets/Scripts/MiniGame/Engine/EngineSystem.cs b/Assets/Scripts/MiniGame/Engine/EngineSystem.cs index c3760db2b..bee4d96af 100644 --- a/Assets/Scripts/MiniGame/Engine/EngineSystem.cs +++ b/Assets/Scripts/MiniGame/Engine/EngineSystem.cs @@ -15,7 +15,7 @@ namespace AibisDream [Header("系统配置")] public EngineConfig engineConfig; [Header("系统数据")] public EngineData engineData; - + public bool isAvailable; [HideInInspector] public UnityEvent updateSpeedEvent = new(); @@ -29,7 +29,8 @@ namespace AibisDream FixSystemCenter.SystemDic.Register(this); _cordPull = transform.Find("拉绳").GetComponent(); _centerGear = transform.Find("中央齿轮").GetComponent(); - + _centerGear.initSpeed = engineConfig.gearSpeed; + // 注册相机 var virtualCam = transform.Find("Engine Camera").GetComponentInChildren(); CameraKit.Instance.RegisterCamera(CameraEnum.Engine, virtualCam); @@ -59,6 +60,12 @@ namespace AibisDream // 传递速度 updateSpeedEvent.Invoke(engineData.GetRealSpeed()); + + if (engineData.CheckSuccess()) + { + Debug.Log("引擎成功"); + DialogController.Instance?.StartDialogNode("EngineSuccess"); + } } /// @@ -81,12 +88,13 @@ namespace AibisDream [Serializable] public struct EngineConfig { - public float oilRate; - public float resistance; - public float speedRate; - public float targetDuration; - public float pullMaxSpeed; - public float retrunSpeed; + [Header("油门倍率")] public float oilRate; + [Header("阻力倍率")] public float resistance; + [Header("齿轮基础速度")] public float gearSpeed; + [Header("齿轮速度倍率")] public float speedRate; + [Header("成功所需时间")] public float targetDuration; + [Header("拉绳最大速度")] public float pullMaxSpeed; + [Header("拉绳回缩速度")] public float returnSpeed; } [Serializable] @@ -128,7 +136,7 @@ namespace AibisDream { reachTargetTime = 0; } - + // 如果速度达标时间足够就判断成功 if (!(reachTargetTime >= config.targetDuration)) return false;