Aetheria/Assets/Scripts/Gameplay/AetheriaUnityCockpitHudShell.cs

40 lines
1.4 KiB
C#
Raw Normal View History

2026-06-25 18:09:33 +01:00
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
2026-06-27 13:36:40 +01:00
using GameCult.Aetheria.State.Verse;
2026-06-25 18:09:33 +01:00
public sealed class AetheriaUnityCockpitHudShell
{
public InventoryPanel ShipPanel { get; set; }
public InventoryPanel TargetShipPanel { get; set; }
public SchematicDisplay SchematicDisplay { get; set; }
public SchematicDisplay TargetSchematicDisplay { get; set; }
public PlaceUIElementWorldspace TargetIndicator { get; set; }
public void SetRenderSettings(AetheriaRuntimeDaemonRenderSettings renderSettings)
{
SchematicDisplay?.SetRenderSettings(renderSettings);
TargetSchematicDisplay?.SetRenderSettings(renderSettings);
}
public void UpdatePlayer(Entity currentEntity)
{
ShipPanel?.Display(currentEntity, true);
SchematicDisplay?.ShowShip(currentEntity);
}
public void UpdateTarget(Entity target, Entity currentEntity)
{
if (TargetIndicator != null)
TargetIndicator.gameObject.SetActive(target != null);
if (TargetShipPanel != null)
TargetShipPanel.gameObject.SetActive(target != null);
if (target == null)
return;
TargetShipPanel?.Display(target, true);
TargetSchematicDisplay?.ShowShip(target, currentEntity);
}
}