45 lines
No EOL
1.2 KiB
C#
45 lines
No EOL
1.2 KiB
C#
using TechbloxModdingAPI;
|
|
using TechbloxModdingAPI.App;
|
|
using TechbloxModdingAPI.Interface.IMGUI;
|
|
using TechbloxModdingAPI.Tasks;
|
|
using Unity.Mathematics;
|
|
using UnityEngine;
|
|
|
|
namespace BuildingTools
|
|
{
|
|
public class UI
|
|
{
|
|
private static Label _speedLabel = new Label(new Rect(Screen.width - 200, 0, 200, 20), "Speed: ", "SpeedLabel")
|
|
{
|
|
Enabled = false
|
|
};
|
|
|
|
public static void Init()
|
|
{
|
|
Game.Simulate += OnGameOnSimulate;
|
|
Game.Edit += OnGameOnEditOrExit;
|
|
Game.Exit += OnGameOnEditOrExit;
|
|
}
|
|
|
|
private static void OnGameOnSimulate(object sender, GameEventArgs args)
|
|
{
|
|
_speedLabel.Enabled = true;
|
|
Scheduler.Schedule(new Repeatable(UpdateTask, ShouldLabelBeUpdated));
|
|
}
|
|
|
|
private static void OnGameOnEditOrExit(object sender, GameEventArgs args)
|
|
{
|
|
_speedLabel.Enabled = false;
|
|
}
|
|
|
|
private static void UpdateTask()
|
|
{
|
|
_speedLabel.Text = $"Speed: {math.length(Player.LocalPlayer?.Velocity ?? 0) * 3.6:F} km/h";
|
|
}
|
|
|
|
private static bool ShouldLabelBeUpdated()
|
|
{
|
|
return _speedLabel.Enabled;
|
|
}
|
|
}
|
|
} |