コード例 #1
0
        public LiveSessionForm(string gameChar, IWurmApi wurmApi, ILogger logger)
        {
            if (gameChar == null)
            {
                throw new ArgumentNullException("gameChar");
            }
            if (wurmApi == null)
            {
                throw new ArgumentNullException("wurmApi");
            }
            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }
            this.gameChar = gameChar;
            this.wurmApi  = wurmApi;
            this.logger   = logger;
            InitializeComponent();

            Text = "Skills monitor " + gameChar;

            wurmCharacter = wurmApi.Characters.Get(gameChar);

            objectListView.SetObjects(reportItems);
            descBase = gameChar + " (since: " + DateTime.Now.ToString("g") + ")";
            stopwatch.Start();

            Collecting = true;
            timer.Start();

            wurmCharacter.Skills.SkillsChanged += SkillsOnSkillsChanged;
        }
コード例 #2
0
        public LogSearchForm([NotNull] IWurmApi wurmApi, [NotNull] ILogger logger, [NotNull] ITelemetry telemetry)
        {
            this.wurmApi   = wurmApi ?? throw new ArgumentNullException(nameof(wurmApi));
            this.logger    = logger ?? throw new ArgumentNullException(nameof(logger));
            this.telemetry = telemetry ?? throw new ArgumentNullException(nameof(telemetry));

            InitializeComponent();
            lastVisibleWindowState = this.WindowState;

            comboBoxPlayerName.Items.AddRange(
                wurmApi.Characters.All.Select(character => (object)character.Name).ToArray());
            comboBoxLogType.Items.AddRange(wurmApi.LogDefinitions.AllLogTypes.Select(type => (object)type.ToString()).ToArray());
            comboBoxSearchType.Items.AddRange(SearchTypes.Select(type => (object)type.ToString()).ToArray());

            dateTimePickerTimeFrom.Value = DateTime.Now;
            dateTimePickerTimeTo.Value   = DateTime.Now;

            comboBoxLogType.Text    = LogType.Event.ToString();
            comboBoxSearchType.Text = SearchTypeId.RegexEscapedCaseIns.ToString();

            if (comboBoxPlayerName.Items.Count > 0)
            {
                comboBoxPlayerName.Text = comboBoxPlayerName.Items[0].ToString();
            }
        }
コード例 #3
0
        public CalendarFeature(
            [NotNull] IWurmApi wurmApi,
            [NotNull] ILogger logger,
            [NotNull] ITimerFactory timerFactory,
            [NotNull] ISoundManager soundManager,
            [NotNull] ITrayPopups trayPopups,
            [NotNull] WurmSeasonsManager seasonsManager)
        {
            if (wurmApi == null)
            {
                throw new ArgumentNullException(nameof(wurmApi));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            if (timerFactory == null)
            {
                throw new ArgumentNullException(nameof(timerFactory));
            }
            if (soundManager == null)
            {
                throw new ArgumentNullException(nameof(soundManager));
            }
            if (trayPopups == null)
            {
                throw new ArgumentNullException(nameof(trayPopups));
            }
            if (seasonsManager == null)
            {
                throw new ArgumentNullException(nameof(seasonsManager));
            }
            this.wurmApi        = wurmApi;
            this.logger         = logger;
            this.soundManager   = soundManager;
            this.trayPopups     = trayPopups;
            this.seasonsManager = seasonsManager;

            useWurmTimeForDisplay = false;
            soundWarning          = false;
            soundId        = Guid.Empty;
            popupWarning   = false;
            trackedSeasons = new string[0];
            serverName     = "";
            mainWindowSize = new System.Drawing.Size(487, 414);

            updateTimer          = timerFactory.CreateUiThreadTimer();
            updateTimer.Interval = TimeSpan.FromMilliseconds(500);
            updateTimer.Tick    += (sender, args) =>
            {
                ObtainWdtForCurrentServer();
                if (hasWdt)
                {
                    UpdateOutputList();
                }
            };
            seasonsManager.DataChanged += SeasonsManagerOnDataChanged;
        }