public SkillDumpsManager([NotNull] IWurmCharacter character, [NotNull] IWurmPaths wurmPaths, IWurmApiLogger logger) { if (character == null) { throw new ArgumentNullException(nameof(character)); } if (wurmPaths == null) { throw new ArgumentNullException(nameof(wurmPaths)); } this.character = character; this.logger = logger; skillDumpsDirectory = new DirectoryInfo(wurmPaths.GetSkillDumpsFullPathForCharacter(character.Name)); skillDumpsDirectory.Create(); skillDumpFilesMonitor = new FileSystemWatcher() { Path = skillDumpsDirectory.FullName, IncludeSubdirectories = false }; skillDumpFilesMonitor.Created += SkillDumpFilesMonitorOnChanged; skillDumpFilesMonitor.Changed += SkillDumpFilesMonitorOnChanged; skillDumpFilesMonitor.Renamed += SkillDumpFilesMonitorOnChanged; skillDumpFilesMonitor.Deleted += SkillDumpFilesMonitorOnChanged; skillDumpFilesMonitor.EnableRaisingEvents = true; }
public virtual void Initialize(PlayerTimersGroup parentGroup, string player, TimerDefinition definition) { //derived must call this base before their own inits! TimerDefinition = definition; Name = definition.ToString(); ShortName = definition.ToString(); playerTimersGroup = parentGroup; Player = player; View = new TimerDisplayView(this); CDNotify = new CooldownHandler(Logger, SoundManager, TrayPopups) { DurationMillis = PopupDurationMillis, Title = Player, Message = Name + " cooldown finished", SoundEnabled = SoundNotify, PopupEnabled = PopupNotify, PersistentPopup = PersistentPopup, SoundId = SoundId }; if (PopupOnWaLaunch) { CDNotify.ResetShownAndPlayed(); } WurmCharacter = WurmApi.Characters.Get(new CharacterName(player)); WurmCharacter.LogInOrCurrentServerPotentiallyChanged += _handleServerChange; telemetry.TrackEvent($"Timers: initialized timer {Name}"); }
public WurmCharacterLogs( [NotNull] IWurmCharacter character, [NotNull] IWurmServerGroups serverGroups, [NotNull] IWurmLogsHistory logsHistory, [NotNull] IWurmServers wurmServers, [NotNull] IWurmApiLogger logger) { if (character == null) { throw new ArgumentNullException(nameof(character)); } if (serverGroups == null) { throw new ArgumentNullException(nameof(serverGroups)); } if (logsHistory == null) { throw new ArgumentNullException(nameof(logsHistory)); } if (wurmServers == null) { throw new ArgumentNullException(nameof(wurmServers)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } this.character = character; this.logsHistory = logsHistory; this.logger = logger; }
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; }
public WurmCharacterSkills([NotNull] IWurmCharacter character, [NotNull] IPublicEventInvoker publicEventInvoker, [NotNull] IWurmLogsMonitorInternal logsMonitor, [NotNull] IWurmLogsHistory logsHistory, [NotNull] IWurmApiLogger logger, IWurmPaths wurmPaths, [NotNull] IInternalEventAggregator internalEventAggregator) { if (character == null) { throw new ArgumentNullException(nameof(character)); } if (publicEventInvoker == null) { throw new ArgumentNullException(nameof(publicEventInvoker)); } if (logsMonitor == null) { throw new ArgumentNullException(nameof(logsMonitor)); } if (logsHistory == null) { throw new ArgumentNullException(nameof(logsHistory)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (internalEventAggregator == null) { throw new ArgumentNullException(nameof(internalEventAggregator)); } this.character = character; this.publicEventInvoker = publicEventInvoker; this.logsMonitor = logsMonitor; this.logsHistory = logsHistory; this.logger = logger; skillsMap = new SkillsMap(); skillDumps = new SkillDumpsManager(character, wurmPaths, logger); UpdateCurrentServer(); onSkillsChanged = publicEventInvoker.Create( InvokeOnSkillsChanged, WurmApiTuningParams.PublicEventMarshallerDelay); internalEventAggregator.Subscribe(this); logsMonitor.SubscribeInternal(character.Name, LogType.Skills, EventHandler); }
public SkillLevelTrigger(string characterName, TriggerEntity triggerEntity, ISoundManager soundManager, ITrayPopups trayPopups, IWurmApi wurmApi, ILogger logger) : base(triggerEntity, soundManager, trayPopups, wurmApi, logger) { if (characterName == null) { throw new ArgumentNullException("characterName"); } this.characterName = characterName; this.logger = logger; skillEntryParser = new SkillEntryParser(wurmApi); LockedLogTypes = new[] { LogType.Skills }; SkillFeedback = "(no data)"; skillHistoricRefresher = new TriggerableAsyncOperation(RefreshSkill); character = wurmApi.Characters.Get(characterName); character.LogInOrCurrentServerPotentiallyChanged += CharacterOnLogInOrCurrentServerPotentiallyChanged; skillHistoricRefresher.Trigger(); }
public void Initialize() { try { layoutControl = new PlayerLayoutView(this); if (!Hidden) { this.timersFeature.RegisterTimersGroup(layoutControl); } wurmApi.LogsMonitor.Subscribe(CharacterName, LogType.AllLogs, OnNewLogEvents); character = wurmApi.Characters.Get(CharacterName); character.LogInOrCurrentServerPotentiallyChanged += CharacterOnLogInOrCurrentServerPotentiallyChanged; } catch (Exception) { if (layoutControl != null) { layoutControl.SetInitializationError(); } throw; } PerformAsyncInits(); }
public override void Setup() { base.Setup(); wurmCharacter = System.Get(new CharacterName("Testguy")); }
public PlayerManager( [NotNull] GrangerFeature parentModule, [NotNull] GrangerContext context, [NotNull] string playerName, [NotNull] IWurmApi wurmApi, [NotNull] ILogger logger, [NotNull] ITrayPopups trayPopups, [NotNull] IWurmAssistantConfig wurmAssistantConfig, [NotNull] CreatureColorDefinitions creatureColorDefinitions, [NotNull] GrangerSettings grangerSettings, [NotNull] ITelemetry telemetry) { if (parentModule == null) { throw new ArgumentNullException(nameof(parentModule)); } if (context == null) { throw new ArgumentNullException(nameof(context)); } if (playerName == null) { throw new ArgumentNullException(nameof(playerName)); } if (wurmApi == null) { throw new ArgumentNullException(nameof(wurmApi)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (trayPopups == null) { throw new ArgumentNullException(nameof(trayPopups)); } if (wurmAssistantConfig == null) { throw new ArgumentNullException(nameof(wurmAssistantConfig)); } if (creatureColorDefinitions == null) { throw new ArgumentNullException(nameof(creatureColorDefinitions)); } if (grangerSettings == null) { throw new ArgumentNullException(nameof(grangerSettings)); } if (telemetry == null) { throw new ArgumentNullException(nameof(telemetry)); } this.parentModule = parentModule; this.wurmApi = wurmApi; this.logger = logger; this.PlayerName = playerName; creatureUpdateManager = new CreatureUpdatesManager(this.parentModule, context, this, trayPopups, logger, wurmAssistantConfig, creatureColorDefinitions, grangerSettings, telemetry); wurmApi.LogsMonitor.Subscribe(PlayerName, LogType.Event, OnNewEventLogEvents); character = wurmApi.Characters.Get(PlayerName); character.LogInOrCurrentServerPotentiallyChanged += CharacterOnLogInOrCurrentServerPotentiallyChanged; character.Skills.SkillsChanged += SkillsOnSkillsChanged; BeginUpdateSkillInfo(); }