44 lines
1.7 KiB
C#
44 lines
1.7 KiB
C#
using CitizenFX.Core;
|
|
|
|
namespace TaxiJob.Client.Handler {
|
|
public static class Taximeter {
|
|
public static TaximeeterAttributes Attributes { get; private set; } = new TaximeeterAttributes();
|
|
|
|
public static void Open() {
|
|
Attributes.MeterVisible = true;
|
|
Update();
|
|
}
|
|
|
|
public static void Close() {
|
|
Attributes.MeterVisible = false;
|
|
Update();
|
|
}
|
|
|
|
public static void Update() {
|
|
BaseScript.TriggerEvent("taxijob:client:nuimessage", Attributes.ToString());
|
|
}
|
|
|
|
public static void Reset() {
|
|
Attributes = new TaximeeterAttributes();
|
|
Update();
|
|
}
|
|
|
|
}
|
|
|
|
public sealed class TaximeeterAttributes {
|
|
public bool MeterVisible { get; set; } = false;
|
|
public string RateType { get; set; } = "distance";
|
|
public int RateAmount { get; set; } = 5;
|
|
public string CurrencyPrefix { get; set; } = "$";
|
|
public string RateSuffix { get; set; } = "/km";
|
|
public float CurrentFare { get; set; } = 0.0f;
|
|
public int DistanceTraveled { get; set; } = 0;
|
|
public int FareOnStop { get; set; } = 0;
|
|
public bool MeterPause { get; set; } = true;
|
|
public bool IsMoving { get; set; } = true;
|
|
|
|
public override string ToString() {
|
|
return $"{{\"meterVisible\": {MeterVisible.ToString().ToLower()}, \"rateType\": \"{RateType}\", \"rateAmount\": {RateAmount}, \"currencyPrefix\": \"{CurrencyPrefix}\", \"rateSuffix\": \"{RateSuffix}\", \"currentFare\": \"{CurrentFare}\", \"distanceTraveled\": {DistanceTraveled}, \"fareOnStop\": {FareOnStop}, \"meterPause\": {MeterPause.ToString().ToLower()}, \"isMoving\": {IsMoving.ToString().ToLower()} }}";
|
|
}
|
|
}
|
|
} |