37 lines
990 B
C#
37 lines
990 B
C#
using System;
|
|
using System.Runtime.Serialization;
|
|
using BinaryPack.Attributes;
|
|
|
|
namespace NitroxModel.DataStructures.GameLogic.Entities.Metadata;
|
|
|
|
[Serializable, DataContract]
|
|
public class FlareMetadata : EntityMetadata
|
|
{
|
|
[DataMember(Order = 1)]
|
|
public float EnergyLeft { get; }
|
|
|
|
[DataMember(Order = 2)]
|
|
public bool HasBeenThrown { get; }
|
|
|
|
[DataMember(Order = 3)]
|
|
public float? FlareActivateTime { get; }
|
|
|
|
[IgnoreConstructor]
|
|
protected FlareMetadata()
|
|
{
|
|
// Constructor for serialization. Has to be "protected" for json serialization.
|
|
}
|
|
|
|
public FlareMetadata(float energyLeft, bool hasBeenThrown, float? flareActivateTime)
|
|
{
|
|
EnergyLeft = energyLeft;
|
|
HasBeenThrown = hasBeenThrown;
|
|
FlareActivateTime = flareActivateTime;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"[FlareMetadata EnergyLeft: {EnergyLeft}, HasBeenThrown: {HasBeenThrown}, FlareActivateTime: {FlareActivateTime}]";
|
|
}
|
|
}
|