Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaShared/SharedSource/Characters/CauseOfDeath.cs
2021-12-03 13:31:10 -03:00

34 lines
1.1 KiB
C#

using System;
namespace Barotrauma
{
enum CauseOfDeathType
{
Unknown, Pressure, Suffocation, Drowning, Affliction, Disconnected
}
class CauseOfDeath
{
public readonly CauseOfDeathType Type;
public readonly AfflictionPrefab Affliction;
public readonly Character Killer;
public readonly Entity DamageSource;
public CauseOfDeath(CauseOfDeathType type, AfflictionPrefab affliction, Character killer, Entity damageSource)
{
if (type == CauseOfDeathType.Affliction && affliction == null)
{
string errorMsg = "Invalid cause of death (the type of the cause of death was Affliction, but affliction was not specified).\n" + Environment.StackTrace.CleanupStackTrace();
DebugConsole.ThrowError(errorMsg);
GameAnalyticsManager.AddErrorEventOnce("InvalidCauseOfDeath", GameAnalyticsManager.ErrorSeverity.Error, errorMsg);
type = CauseOfDeathType.Unknown;
}
Type = type;
Affliction = affliction;
Killer = killer;
DamageSource = damageSource;
}
}
}