37 lines
1.3 KiB
C#
37 lines
1.3 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace AibisDream
|
|
{
|
|
public class AirDashboard : Dashboard
|
|
{
|
|
private Transform _pointer;
|
|
private Transform _minPointer;
|
|
private Transform _maxPointer;
|
|
|
|
[SerializeField] private float topPosY;
|
|
[SerializeField] private float bottomPosY;
|
|
|
|
protected override void OnStart()
|
|
{
|
|
_pointer = transform.Find("Pointer");
|
|
_maxPointer = transform.Find("Max Pointer");
|
|
_minPointer = transform.Find("Min Pointer");
|
|
}
|
|
|
|
protected override void UpdateDashboard(EngineData data)
|
|
{
|
|
// 气门
|
|
var targetPosY = (topPosY - bottomPosY) * data.curAir + bottomPosY;
|
|
_pointer.position = new Vector3(_pointer.position.x, targetPosY, _pointer.position.z);
|
|
|
|
// 气门上下限
|
|
var minPosY = (topPosY - bottomPosY) * data.curAirMin + bottomPosY;
|
|
var maxPosY = (topPosY - bottomPosY) * data.curAirMax + bottomPosY;
|
|
_minPointer.position = new Vector3(_minPointer.position.x, minPosY, _minPointer.position.z);
|
|
_maxPointer.position = new Vector3(_maxPointer.position.x, maxPosY, _maxPointer.position.z);
|
|
}
|
|
}
|
|
}
|