using System; using Hazel; internal class HudOverrideSystemType : ISystemType, IActivatable { public bool IsActive { get; private set; } public const byte DamageBit = 128; public const byte TaskMask = 127; public bool Detoriorate(float deltaTime) { if (this.IsActive && !PlayerTask.PlayerHasHudTask(PlayerControl.LocalPlayer)) { PlayerControl.LocalPlayer.AddSystemTask(SystemTypes.Comms); } return false; } public void RepairDamage(PlayerControl player, byte amount) { if ((amount & 128) > 0) { this.IsActive = true; return; } this.IsActive = false; } public void Serialize(MessageWriter writer, bool initialState) { writer.Write(this.IsActive); } public void Deserialize(MessageReader reader, bool initialState) { this.IsActive = reader.ReadBoolean(); } }