UI/Inspector/StaffInspector.razor
@using Sandbox;
@namespace HC3.UI
@inherits PinnableWindow<StaffInspector>
@if (!Staff.IsValid())
{
Close();
return;
}
<root>
<ActionDisplay Agent=@Staff />
@if ( Staff.Stats.Count > 0 )
{
<div style="margin-top: 4px; margin-bottom: 4px;">
@foreach ( var (k, v) in Staff.Stats )
{
<label class="subtitle">@k.ToString().ToTitleCase(): @v</label>
}
</div>
}
<div class="footer">
<div class="button @(isFollowing ? "selected" : "")" onclick=@(() => CameraPanning.Instance.ToggleFollow( Staff.GameObject )) tooltip="Follow"><i>filter_center_focus</i></div>
</div>
</root>
@code
{
public Staff Staff { get; set; }
public override string Title => Staff?.FullName;
public override string Icon => "user_gray";
public override object Key => Staff;
bool isFollowing => CameraPanning.Instance.FollowTarget == Staff.GameObject;
private void FrameTo()
{
CameraPanning.Instance.FrameOn( Staff.WorldPosition );
}
protected override int BuildHash() => System.HashCode.Combine( Time.Now );
public override void OnDeleted()
{
base.OnDeleted();
CameraPanning.Instance.StopFollowing( Staff.GameObject );
}
}