Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
                }
            }
        }