public void CheckEntry(CachedSNOEntry entry) { var d = new DebugEntry(entry); if (entry.Gizmotype.HasValue) { if (entry.Gizmotype.Value == GizmoType.Door) { if (!FunkyBaseExtension.Settings.Debugging.DebuggingDataTypes.HasFlag(DebugDataTypes.Doors)) { return; } if (Doors.Entries.Contains(d)) { return; } Doors.Entries.Add(d); DebugData_Doors.SerializeToXML(Doors); } else if (entry.Gizmotype.Value == GizmoType.Chest) { if (!FunkyBaseExtension.Settings.Debugging.DebuggingDataTypes.HasFlag(DebugDataTypes.Containers)) { return; } if (Containers.Entries.Contains(d)) { return; } Containers.Entries.Add(d); DebugData_Containers.SerializeToXML(Containers); } else if (entry.Gizmotype.Value == GizmoType.BreakableChest || entry.Gizmotype.Value == GizmoType.DestroyableObject) { if (!FunkyBaseExtension.Settings.Debugging.DebuggingDataTypes.HasFlag(DebugDataTypes.Destructibles)) { return; } if (Destructibles.Entries.Contains(d)) { return; } Destructibles.Entries.Add(d); DebugData_Destructibles.SerializeToXML(Destructibles); } else if (entry.Gizmotype.Value == GizmoType.BreakableDoor) { if (!FunkyBaseExtension.Settings.Debugging.DebuggingDataTypes.HasFlag(DebugDataTypes.Barricades)) { return; } if (Barricades.Entries.Contains(d)) { return; } Barricades.Entries.Add(d); DebugData_Barricades.SerializeToXML(Barricades); } } else if (d.ActorType == PluginActorType.Item || d.TargetType == TargetType.Item) { if (!FunkyBaseExtension.Settings.Debugging.DebuggingDataTypes.HasFlag(DebugDataTypes.Items)) { return; } if (Items.Entries.Contains(d)) { return; } Items.Entries.Add(d); DebugData_DroppedItems.SerializeToXML(Items); } }