private void LayoutSingleLogEntry(WalletLog.LogEntry entry) { var rect = EditorGUILayout.BeginVertical(GUILayout.Height(SINGLE_ENTRY_HEIGHT)); if (!Enum.TryParse(entry.Tag, out LogTag entryTag)) { entry = FallbackLogAttempt(entry); } var dateTime = Util.GetDateTimeFromUnixTimestamp(entry.Timestamp); // Filter logic if (showOldestDateField.value && dateTime < oldest) { return; } if (showNewestDateField.value && dateTime > newest) { return; } if (!logTag.HasFlag(entryTag)) { return; } // UI GUILayout.BeginVertical(GUILayout.Height(SINGLE_ENTRY_HEIGHT)); // 1 GUILayout.Label($"{entry.Tag} | {dateTime}", EditorStyles.boldLabel); GUILayout.TextArea(JsonConvert.SerializeObject(entry.Message)); GUILayout.EndVertical(); // 0 GUILayout.EndVertical(); EditorGUILayout.Separator(); }
private WalletLog.LogEntry FallbackLogAttempt(WalletLog.LogEntry entry) => new WalletLog.LogEntry(entry.Event, JsonConvert.SerializeObject(entry), Enum.GetName(typeof(LogTag), LogTag.UNREGISTERED_LOG_TAG), entry.Timestamp);