public WurmTimer AddNewTimer(TimerDefinition definition) { WurmTimer newTimer = timerInstances.CreateTimer(definition.Id); newTimer.Initialize(this, CharacterName, definition); activeTimerDefinitions.Add(new ActiveTimer() { DefinitionId = definition.Id, TimerId = newTimer.Id }); layoutControl.RegisterNewTimerDisplay(newTimer.View); timers.Add(newTimer); FlagAsChanged(); return(newTimer); }
private async void PerformAsyncInits() { try { await AttemptToEstablishCurrentServer(TimeSpan.FromDays(120)); if (currentServerOnTheGroup == null) { await AttemptToEstablishCurrentServer(TimeSpan.FromDays(365)); } foreach (var activeTimer in activeTimerDefinitions) { try { var definition = timerDefinitions.GetById(activeTimer.DefinitionId); WurmTimer timer = timerInstances.GetTimer(activeTimer.DefinitionId, activeTimer.TimerId); timer.Initialize(this, CharacterName, definition); layoutControl.RegisterNewTimerDisplay(timer.View); timers.Add(timer); FlagAsChanged(); } catch (Exception exception) { logger.Error(exception, "Error at InitTimers for timer " + activeTimer); FlagAsChanged(); } } layoutControl.EnableAddingTimers(); } catch (Exception _e) { logger.Error(_e, "problem updating current server group"); if (layoutControl != null) { layoutControl.SetInitializationError(); } } }