// Copyright Rane (elijahrane@gmail.com) 2025
// All rights reserved. Relicensed under AGPL with permission
using Robust.Shared.Serialization;
namespace Content.Shared._Mono.FireControl;
///
/// Event sent from server to client to visualize firing directions for a weapon
///
[Serializable, NetSerializable]
public sealed class FireControlVisualizationEvent : EntityEventArgs
{
///
/// Entity to visualize
///
public NetEntity Entity { get; }
///
/// Dictionary mapping direction angles (in degrees) to whether firing is possible
///
public Dictionary? Directions { get; }
///
/// Whether to enable (true) or disable (false) visualization
///
public bool Enabled { get; }
///
/// Constructor for enabling/updating visualization with data
///
public FireControlVisualizationEvent(NetEntity entity, Dictionary directions)
{
Entity = entity;
Directions = directions;
Enabled = true;
}
///
/// Constructor for toggling visualization off
///
public FireControlVisualizationEvent(NetEntity entity)
{
Entity = entity;
Directions = null;
Enabled = false;
}
}