using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using BinaryPack.Attributes;
namespace NitroxModel.DataStructures.GameLogic;
///
/// Aurora events data
///
[Serializable, DataContract]
public class AuroraEventData
{
///
/// In-game time in seconds at which Aurora's countdown happens
///
[DataMember(Order = 1)]
public float TimeToStartCountdown;
///
/// In-game time in seconds at which Aurora's warning messages start
///
[DataMember(Order = 2)]
public float TimeToStartWarning;
///
/// Real time in seconds at which Aurora's considered exploded
///
[DataMember(Order = 3)]
public float AuroraRealExplosionTime;
[IgnoreConstructor]
protected AuroraEventData()
{
// Constructor for serialization. Has to be "protected" for json serialization.
}
public AuroraEventData(float timeToStartCountdown, float timeToStartWarning, float auroraRealExplosionTime)
{
TimeToStartCountdown = timeToStartCountdown;
TimeToStartWarning = timeToStartWarning;
AuroraRealExplosionTime = auroraRealExplosionTime;
}
[NonSerialized]
public static readonly IReadOnlyCollection GoalNames = new[] { "Story_AuroraWarning1", "Story_AuroraWarning2", "Story_AuroraWarning3", "Story_AuroraWarning4", "Story_AuroraExplosion" };
}