void Initialize() { Logger.LogInfo("> Initializing wrappers for Wurm log files "); // init all the log wrappers except PM and add them to Generic list EventLogState = new GameLogState(WurmLogsDir, GameLogTypes.Event, IsDailyLogging); GenericLogsList.Add(EventLogState); CombatLogState = new GameLogState(WurmLogsDir, GameLogTypes.Combat, IsDailyLogging); GenericLogsList.Add(CombatLogState); AllianceLogState = new GameLogState(WurmLogsDir, GameLogTypes.Alliance, IsDailyLogging); GenericLogsList.Add(AllianceLogState); CA_HELPLogState = new GameLogState(WurmLogsDir, GameLogTypes.CA_HELP, IsDailyLogging); GenericLogsList.Add(CA_HELPLogState); FreedomLogState = new GameLogState(WurmLogsDir, GameLogTypes.Freedom, IsDailyLogging); GenericLogsList.Add(FreedomLogState); FriendsLogState = new GameLogState(WurmLogsDir, GameLogTypes.Friends, IsDailyLogging); GenericLogsList.Add(FriendsLogState); GLFreedomLogState = new GameLogState(WurmLogsDir, GameLogTypes.GLFreedom, IsDailyLogging); GenericLogsList.Add(GLFreedomLogState); LocalLogState = new GameLogState(WurmLogsDir, GameLogTypes.Local, IsDailyLogging); GenericLogsList.Add(LocalLogState); MGMTLogState = new GameLogState(WurmLogsDir, GameLogTypes.MGMT, IsDailyLogging); GenericLogsList.Add(MGMTLogState); SkillsLogState = new GameLogState(WurmLogsDir, GameLogTypes.Skills, IsDailyLogging); GenericLogsList.Add(SkillsLogState); TeamLogState = new GameLogState(WurmLogsDir, GameLogTypes.Team, IsDailyLogging); GenericLogsList.Add(TeamLogState); VillageLogState = new GameLogState(WurmLogsDir, GameLogTypes.Village, IsDailyLogging); GenericLogsList.Add(VillageLogState); // init all PM logs and add them to PM list, then combine Generic and PM lists to Combined list ManagePMLogs(); int numOfLogFilesFound = 0; foreach (var log in CombinedLogsList) { if (log.LogTextFileExists) numOfLogFilesFound++; } if (numOfLogFilesFound == 0) { Logger.LogInfo("? No log files acquired for " + PlayerName + ", path: " + WurmLogsDir, this); } else { Logger.LogInfo("> Tracking " + numOfLogFilesFound + " logs for " + PlayerName); } }
internal void ManagePMLogs() { string[] AllLogFiles = Directory.GetFiles(WurmLogsDir); if (AllLogFiles.Length != lastLogCount) { PMLogsList.Clear(); foreach (string file in AllLogFiles) { string workstring = Path.GetFileNameWithoutExtension(file); if (workstring.StartsWith("PM", StringComparison.Ordinal)) { //filename parsing also in gamelogstate if (workstring.EndsWith(DateTime.Now.ToString("yyyy-MM-dd"))) { string playername = workstring.Remove(0, 4); playername = playername.Remove(playername.IndexOf('.')); GameLogState newlog = new GameLogState(WurmLogsDir, GameLogTypes.PM, IsDailyLogging, playername); PMLogsList.Add(newlog); } else if (workstring.EndsWith(DateTime.Now.ToString("yyyy-MM"))) { string playername = workstring.Remove(0, 4); playername = playername.Remove(playername.IndexOf('.')); GameLogState newlog = new GameLogState(WurmLogsDir, GameLogTypes.PM, IsDailyLogging, playername); PMLogsList.Add(newlog); } } } CombinedLogsList.Clear(); CombinedLogsList.AddRange(GenericLogsList); CombinedLogsList.AddRange(PMLogsList); lastLogCount = AllLogFiles.Length; UpdateIfDisplayLogEntries(); } }