protected override void Init() { aTeams = new Dictionary <int, BattlefieldData.BattlefieldTeams>(); aSheepPoints = new Dictionary <int, int>(); WolfScore = 0; SheepScore = 0; Mobs.Reset(); Reactors.Reset(); foreach (var reactor in Reactors) { if (reactor.tReactorTime == 0) { reactor.tReactorTime = 10; // TODO figure out how reactor events work with this } } tGameOverTime = DateTime.MinValue; CreateFieldClock(DURATION_SEC); }
/// <summary> /// Clears all lower object pools and resets all higher object pools. /// Map can still be used after this is called. /// DO NOT CALL DISPOSE FROM INSIDE THIS FUNCTION /// </summary> protected virtual void Reset(bool bFromDispose = false) { if (Users.Count > 0) // not good { throw new InvalidOperationException("Trying to reset map that still has users in it."); } QR = ""; nFieldDeathCount = -1; tFieldTimerExpiration = DateTime.MinValue; Mobs.Reset(); Reactors.Reset(); Drops.Clear(); AffectedAreas.Clear(); MiniRooms.Clear(); Kites.Clear(); TownPortals.Clear(); OpenGates1.Clear(); OpenGates2.Clear(); CurrentWeather.Clear(); }