From 07b2e388817ae50731808c1870bf74ccbda855ba Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 29 Jun 2017 09:39:45 -0400 Subject: Beeper virus --- ShiftOS.WinForms/Viruses/BeeperVirus.cs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 ShiftOS.WinForms/Viruses/BeeperVirus.cs (limited to 'ShiftOS.WinForms/Viruses') diff --git a/ShiftOS.WinForms/Viruses/BeeperVirus.cs b/ShiftOS.WinForms/Viruses/BeeperVirus.cs new file mode 100644 index 0000000..79299c9 --- /dev/null +++ b/ShiftOS.WinForms/Viruses/BeeperVirus.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ShiftOS.Engine; +using System.Windows.Forms; + +namespace ShiftOS.WinForms.Viruses +{ + [Virus("beeper", "Beeper", "Sends a few annoying beeps through the speaker repeatedly on a set interval. The threatlevel determines the interval.")] + public class BeeperVirus : IVirus + { + private Timer _virusTimer = null; + + public void Disinfect() + { + _virusTimer.Stop(); + _virusTimer = null; + } + + public void Infect(int threatlevel) + { + _virusTimer = new Timer(); + _virusTimer.Interval = 5000 / threatlevel; + _virusTimer.Tick += (o, a) => + { + Engine.AudioManager.PlayStream(Properties.Resources._3beepvirus); + }; + _virusTimer.Start(); + } + } +} -- cgit v1.2.3