变速箱修改
This commit is contained in:
@@ -182,17 +182,12 @@ namespace AibisDream.FixSystem
|
||||
|
||||
// 切换相机
|
||||
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Engine);
|
||||
// 激活交互
|
||||
engineSystem.EnableSystem();
|
||||
}
|
||||
|
||||
public IEnumerator Exit()
|
||||
{
|
||||
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
||||
bodyModuleSystem.ResetPlug();
|
||||
// 关闭交互
|
||||
var engineSystem = FixSystemCenter.SystemDic.Get<EngineSystem>();
|
||||
engineSystem.DisableSystem();
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace AibisDream
|
||||
public class EngineSystem : MonoBehaviour
|
||||
{
|
||||
private StaticGear _centerGear;
|
||||
private SpriteRenderer _cover;
|
||||
|
||||
[Header("系统配置")] public EngineConfig engineConfig;
|
||||
public bool isAvailable;
|
||||
@@ -20,7 +21,9 @@ namespace AibisDream
|
||||
private bool _isSuccess;
|
||||
|
||||
public float curSpeed;
|
||||
public float targetSpeed=0.95f;
|
||||
public float targetSpeed = 0.95f;
|
||||
[SerializeField] private float coverMoveDuration = 5f;
|
||||
[SerializeField] private float coverMoveDistance = 2.8f;
|
||||
[HideInInspector] public UnityEvent<float, float> updateSpeedEvent = new();
|
||||
|
||||
private void Awake()
|
||||
@@ -28,7 +31,8 @@ namespace AibisDream
|
||||
FixSystemCenter.SystemDic.Register(this);
|
||||
_centerGear = transform.Find("中央齿轮").GetComponent<StaticGear>();
|
||||
_centerGear.initSpeed = engineConfig.gearSpeed;
|
||||
|
||||
_cover = transform.Find("Cover").GetComponent<SpriteRenderer>();
|
||||
|
||||
// 注册相机
|
||||
var virtualCam = transform.Find("Engine Camera").GetComponentInChildren<ICinemachineCamera>();
|
||||
CameraKit.Instance.RegisterCamera(CameraEnum.Engine, virtualCam);
|
||||
@@ -74,7 +78,7 @@ namespace AibisDream
|
||||
/// <summary>
|
||||
/// 开启系统交互
|
||||
/// </summary>
|
||||
public void EnableSystem()
|
||||
private void EnableSystem()
|
||||
{
|
||||
isAvailable = true;
|
||||
}
|
||||
@@ -82,10 +86,51 @@ namespace AibisDream
|
||||
/// <summary>
|
||||
/// 关闭系统交互
|
||||
/// </summary>
|
||||
public void DisableSystem()
|
||||
private void DisableSystem()
|
||||
{
|
||||
isAvailable = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 打开盖板
|
||||
/// 关闭系统交互
|
||||
/// </summary>
|
||||
/// <returns>动画序列</returns>
|
||||
public Tween OpenCover()
|
||||
{
|
||||
AudioManager.PlayLoop2Audio("amb_shitou_engine");
|
||||
|
||||
var sq = DOTween.Sequence();
|
||||
// 盖板上移
|
||||
var moveDis = new Vector3(0, coverMoveDistance, 0);
|
||||
sq.Join(_cover.transform.DOBlendableMoveBy(moveDis, coverMoveDuration));
|
||||
// 盖板淡出
|
||||
sq.Join(_cover.DOFade(0, coverMoveDuration));
|
||||
|
||||
// 为引擎系统解锁
|
||||
sq.OnComplete(EnableSystem);
|
||||
|
||||
return sq;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 关闭盖板
|
||||
/// </summary>
|
||||
/// <returns>动画序列</returns>
|
||||
public Tween CloseCover()
|
||||
{
|
||||
AudioManager.PauseLoop2Audio();
|
||||
var sq = DOTween.Sequence();
|
||||
sq.Join(_cover.DOFade(1, coverMoveDuration));
|
||||
|
||||
var moveDis = new Vector3(0, -coverMoveDistance, 0);
|
||||
sq.Join(_cover.transform.DOBlendableMoveBy(moveDis, coverMoveDuration));
|
||||
|
||||
// 锁定引擎系统
|
||||
sq.OnComplete(DisableSystem);
|
||||
|
||||
return sq;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
@@ -94,7 +139,6 @@ namespace AibisDream
|
||||
[Header("齿轮基础速度")] public float gearSpeed;
|
||||
[Header("齿轮速度倍率")] public float speedRate;
|
||||
[Header("拉满几次到全速")] public float pullCount;
|
||||
[Header("拉绳最大速度")] public float pullMaxSpeed;
|
||||
[Header("拉绳回缩速度")] public float returnSpeed;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
using System.Collections;
|
||||
using AibisDream.FixSystem;
|
||||
using UnityEngine;
|
||||
using Yarn.Unity;
|
||||
|
||||
namespace AibisDream
|
||||
@@ -13,16 +12,14 @@ namespace AibisDream
|
||||
[YarnCommand("open_engine_cover")]
|
||||
public static IEnumerator OpenEngineCover()
|
||||
{
|
||||
Debug.LogWarning("打开引擎盖命令已废弃,请尽快删除");
|
||||
yield break;
|
||||
yield return EngineSystem.OpenCover();
|
||||
}
|
||||
|
||||
// 打开引擎盖
|
||||
[YarnCommand("close_engine_cover")]
|
||||
public static IEnumerator CloseEngineCover()
|
||||
{
|
||||
Debug.LogWarning("关闭引擎盖命令已废弃,请尽快删除");
|
||||
yield break;
|
||||
yield return EngineSystem.CloseCover();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -9,22 +9,21 @@ namespace AibisDream
|
||||
private EngineSystem _engineSystem;
|
||||
|
||||
private ProgressBarGridCircular progress;
|
||||
private static readonly int Progress1 = Shader.PropertyToID("_Progress");
|
||||
private static readonly int VibrateFade = Shader.PropertyToID("_VibrateFade");
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
{
|
||||
_engineSystem = transform.parent.GetComponent<EngineSystem>();
|
||||
_material = _engineSystem.transform.Find("心脏引擎").GetComponent<SpriteRenderer>().material;
|
||||
progress=FindObjectOfType<ProgressBarGridCircular>();
|
||||
progress = FindObjectOfType<ProgressBarGridCircular>();
|
||||
|
||||
_engineSystem.updateSpeedEvent.AddListener(OnSpeedChange);
|
||||
}
|
||||
|
||||
private void OnSpeedChange(float originSpeed, float speedScale)
|
||||
{
|
||||
_material.SetFloat("_VibrateFade", originSpeed);
|
||||
progress.CurrentValue=Mathf.RoundToInt(originSpeed * 50);
|
||||
//_material.SetFloat(Progress1, originSpeed);
|
||||
_material.SetFloat(VibrateFade, originSpeed);
|
||||
progress.CurrentValue = Mathf.RoundToInt(originSpeed * 16000 + 1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user