// Constructors public LogData(string buildVersion, CombatData combatData, long evtcLogDuration, List <Player> playerList, OperationController operation) { BuildVersion = buildVersion; double unixStart = 0; double unixEnd = 0; // PointOfViewEvent povEvt = combatData.GetPointOfViewEvent(); if (povEvt != null) { SetPOV(povEvt.PoV, playerList); } operation.UpdateProgressWithCancellationCheck("PoV " + PoVName); // BuildEvent buildEvt = combatData.GetBuildEvent(); if (buildEvt != null) { GW2Version = buildEvt.Build; } operation.UpdateProgressWithCancellationCheck("GW2 Build " + GW2Version); // LanguageEvent langEvt = combatData.GetLanguageEvent(); if (langEvt != null) { Language = langEvt.ToString(); LanguageID = langEvt.Language; } operation.UpdateProgressWithCancellationCheck("Language " + Language); // LogStartEvent logStr = combatData.GetLogStartEvent(); if (logStr != null) { SetLogStart(logStr.LocalUnixTimeStamp); SetLogStartStd(logStr.LocalUnixTimeStamp); unixStart = logStr.LocalUnixTimeStamp; } // LogEndEvent logEnd = combatData.GetLogEndEvent(); if (logEnd != null) { SetLogEnd(logEnd.LocalUnixTimeStamp); SetLogEndStd(logEnd.LocalUnixTimeStamp); unixEnd = logEnd.LocalUnixTimeStamp; } // log end event is missing, log start is present if (LogEnd == DefaultTimeValue && LogStart != DefaultTimeValue) { operation.UpdateProgressWithCancellationCheck("Missing Log End Event"); double dur = Math.Round(evtcLogDuration / 1000.0, 3); SetLogEnd(dur + unixStart); SetLogEndStd(dur + unixStart); } // log start event is missing, log end is present if (LogEnd != DefaultTimeValue && LogStart == DefaultTimeValue) { operation.UpdateProgressWithCancellationCheck("Missing Log Start Event"); double dur = Math.Round(evtcLogDuration / 1000.0, 3); SetLogStart(unixEnd - dur); SetLogStartStd(unixEnd - dur); } operation.UpdateProgressWithCancellationCheck("Log Start " + LogStartStd); operation.UpdateProgressWithCancellationCheck("Log End " + LogEndStd); // foreach (ErrorEvent evt in combatData.GetErrorEvents()) { operation.UpdateProgressWithCancellationCheck("Error " + evt.Message); LogErrors.Add(evt.Message); } }
/// <summary> /// 设置语言 /// </summary> /// <param name="code"></param> public void SetLanguage(LanguageCode code) { LocalizatioCodeIndex = GetCodeIndex(code); PlayerPrefs.SetString(LocalizatioCode, code.ToString()); LanguageEvent?.Invoke(); }
private void OnChangedLanguage(LanguageEvent evt) { view.CurrentLanguage = evt.LanguageKey; }