mirror of
https://github.com/hawkeye-stan/msfs-popout-panel-manager.git
synced 2024-11-22 22:00:11 +00:00
95 lines
2.6 KiB
C#
95 lines
2.6 KiB
C#
|
using MSFSPopoutPanelManager.DomainModel.Profile;
|
|||
|
using MSFSPopoutPanelManager.Shared;
|
|||
|
using System;
|
|||
|
using System.Reflection;
|
|||
|
|
|||
|
namespace MSFSPopoutPanelManager.DomainModel.SimConnect
|
|||
|
{
|
|||
|
public class HudBarData737 : ObservableObject, IHudBarData
|
|||
|
{
|
|||
|
public HudBarType HudBarType => HudBarType.PMDG_737;
|
|||
|
|
|||
|
public double ElevatorTrim { get; set; }
|
|||
|
|
|||
|
public double AileronTrim { get; set; }
|
|||
|
|
|||
|
public double RudderTrim { get; set; }
|
|||
|
|
|||
|
public double Flap { get; set; }
|
|||
|
|
|||
|
public double ParkingBrake { get; set; }
|
|||
|
|
|||
|
public double GearLeft { get; set; }
|
|||
|
|
|||
|
public double GearCenter { get; set; }
|
|||
|
|
|||
|
public double GearRight { get; set; }
|
|||
|
|
|||
|
public double SimRate { get; set; }
|
|||
|
|
|||
|
public string ElevatorTrimFormatted => Math.Round(ElevatorTrim / 10, 2).ToString("F2");
|
|||
|
|
|||
|
public string AileronTrimFormatted => Math.Round(AileronTrim / 16384 * 57, 2).ToString("F2");
|
|||
|
|
|||
|
public string RudderTrimFormatted => Math.Round(RudderTrim * 2 * 10, 2).ToString("F2");
|
|||
|
|
|||
|
public string FlapFormatted => MapFlap(Flap);
|
|||
|
|
|||
|
public string ParkingBrakeFormatted => ParkingBrake > 0 ? "Engaged" : "Disengaged";
|
|||
|
|
|||
|
public string GearLeftFormatted => MapGear(GearLeft);
|
|||
|
|
|||
|
public string GearCenterFormatted => MapGear(GearCenter);
|
|||
|
|
|||
|
public string GearRightFormatted => MapGear(GearRight);
|
|||
|
|
|||
|
private string MapFlap(double flap)
|
|||
|
{
|
|||
|
switch (Convert.ToInt32(flap))
|
|||
|
{
|
|||
|
case 0:
|
|||
|
return "0";
|
|||
|
case 1:
|
|||
|
return "1";
|
|||
|
case 2:
|
|||
|
return "2";
|
|||
|
case 3:
|
|||
|
return "5";
|
|||
|
case 4:
|
|||
|
return "10";
|
|||
|
case 5:
|
|||
|
return "15";
|
|||
|
case 6:
|
|||
|
return "25";
|
|||
|
case 7:
|
|||
|
return "30";
|
|||
|
case 8:
|
|||
|
return "40";
|
|||
|
default:
|
|||
|
return "5";
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private string MapGear(double gear)
|
|||
|
{
|
|||
|
if (gear == 100)
|
|||
|
return "DOWN";
|
|||
|
if (gear == 0)
|
|||
|
return "UP";
|
|||
|
|
|||
|
return "MOVING";
|
|||
|
}
|
|||
|
|
|||
|
public void Clear()
|
|||
|
{
|
|||
|
Type type = this.GetType();
|
|||
|
PropertyInfo[] properties = type.GetProperties();
|
|||
|
for (int i = 0; i < properties.Length; ++i)
|
|||
|
{
|
|||
|
if (properties[i].SetMethod != null)
|
|||
|
properties[i].SetValue(this, 0);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|