using System.Collections.Generic; namespace Barotrauma { class EventManager { const float CriticalPriority = 50.0f; private List events; public List Events { get { return events; } } public EventManager(GameSession session) { events = new List(); } public void StartRound(Level level) { CreateScriptedEvents(level); foreach (ScriptedEvent ev in events) { ev.Init(); } } public void EndRound() { events.Clear(); } private void CreateScriptedEvents(Level level) { MTRandom rand = new MTRandom(ToolBox.StringToInt(level.Seed)); events.AddRange(ScriptedEvent.GenerateLevelEvents(rand, level)); } public void Update(float deltaTime) { events.RemoveAll(t => t.IsFinished); foreach (ScriptedEvent ev in events) { if (!ev.IsFinished) { ev.Update(deltaTime); } } } } }