Compare commits
3 Commits
7f6311b888
...
617ade0163
Author | SHA1 | Date | |
---|---|---|---|
617ade0163 | |||
e2d59a54b7 | |||
ae7495632e |
@ -197,6 +197,10 @@ namespace EliteBGS.BGS {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!objective.IsEnabled) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
log.AppendFormat("**Date:** {0}\n", FormatDate());
|
log.AppendFormat("**Date:** {0}\n", FormatDate());
|
||||||
log.AppendFormat("**Location:** {0}\n", objective.ToShortString());
|
log.AppendFormat("**Location:** {0}\n", objective.ToShortString());
|
||||||
log.AppendFormat("**Faction:** {0}\n", objective.Faction);
|
log.AppendFormat("**Faction:** {0}\n", objective.Faction);
|
||||||
|
@ -32,5 +32,7 @@ namespace EliteBGS.BGS {
|
|||||||
public virtual int CompareTo(LogEntry other) {
|
public virtual int CompareTo(LogEntry other) {
|
||||||
throw new NotImplementedException("not implemented");
|
throw new NotImplementedException("not implemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string Name => this.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -196,6 +196,10 @@ namespace EliteBGS.BGS {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!objective.IsEnabled) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
log.AppendFormat(":globe_with_meridians: `Location:` {0}\n", objective.ToShortString());
|
log.AppendFormat(":globe_with_meridians: `Location:` {0}\n", objective.ToShortString());
|
||||||
log.Append(":clipboard: `Conducted:`\n");
|
log.Append(":clipboard: `Conducted:`\n");
|
||||||
log.Append("```\n");
|
log.Append("```\n");
|
||||||
|
@ -11,11 +11,26 @@ namespace EliteBGS.BGS {
|
|||||||
|
|
||||||
private List<LogEntry> entries = new List<LogEntry>();
|
private List<LogEntry> entries = new List<LogEntry>();
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
public bool IsEnabled { get; set; }
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
public List<LogEntry> Children {
|
||||||
|
get => entries;
|
||||||
|
}
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
public string Name => this.ToString();
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
public bool IsExpanded { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<LogEntry> LogEntries {
|
public List<LogEntry> LogEntries {
|
||||||
get => entries;
|
get => entries;
|
||||||
set => entries = value;
|
set => entries = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Clear() {
|
public void Clear() {
|
||||||
if (entries == null) {
|
if (entries == null) {
|
||||||
return;
|
return;
|
||||||
@ -23,6 +38,8 @@ namespace EliteBGS.BGS {
|
|||||||
entries.RemoveAll(x => !x.ManuallyAdded);
|
entries.RemoveAll(x => !x.ManuallyAdded);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool ManuallyAdded { get; set; }
|
||||||
|
|
||||||
public int Matches(LogEntry e) {
|
public int Matches(LogEntry e) {
|
||||||
int match_count = 0;
|
int match_count = 0;
|
||||||
|
|
||||||
|
@ -48,7 +48,26 @@
|
|||||||
<Label Content="To:" Height="26.2857142857143" VerticalAlignment="Top"/>
|
<Label Content="To:" Height="26.2857142857143" VerticalAlignment="Top"/>
|
||||||
<DatePicker x:Name="enddate" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
<DatePicker x:Name="enddate" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||||
</ToolBar>
|
</ToolBar>
|
||||||
<TreeView x:Name="entries" Margin="0,0,0,0" Grid.ColumnSpan="3" Grid.Row="2" KeyUp="entries_KeyUp"/>
|
<TreeView x:Name="entries" Margin="0,0,0,0" Grid.ColumnSpan="3" Grid.Row="2" KeyUp="entries_KeyUp">
|
||||||
|
<TreeView.ItemTemplate>
|
||||||
|
<HierarchicalDataTemplate DataType="{x:Type BGS:Objective}" ItemsSource="{Binding Children}">
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<CheckBox Focusable="False" IsChecked="{Binding IsEnabled}" VerticalAlignment="Center"/>
|
||||||
|
<TextBlock Text="{Binding Name}" Margin="5,0" />
|
||||||
|
</StackPanel>
|
||||||
|
<HierarchicalDataTemplate.ItemTemplate>
|
||||||
|
<HierarchicalDataTemplate>
|
||||||
|
<TextBlock Text="{Binding Name}"/>
|
||||||
|
</HierarchicalDataTemplate>
|
||||||
|
</HierarchicalDataTemplate.ItemTemplate>
|
||||||
|
</HierarchicalDataTemplate>
|
||||||
|
</TreeView.ItemTemplate>
|
||||||
|
<TreeView.ItemContainerStyle>
|
||||||
|
<Style TargetType="TreeViewItem">
|
||||||
|
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
|
||||||
|
</Style>
|
||||||
|
</TreeView.ItemContainerStyle>
|
||||||
|
</TreeView>
|
||||||
</Grid>
|
</Grid>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem Header="Discord Report">
|
<TabItem Header="Discord Report">
|
||||||
|
@ -107,22 +107,10 @@ namespace EliteBGS {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var obj in report.Objectives) {
|
foreach (Objective obj in report.Objectives) {
|
||||||
var item_objective = new TreeViewItem {
|
entries.Items.Add(obj);
|
||||||
Header = obj.ToString(),
|
obj.IsExpanded = obj.ManuallyAdded;
|
||||||
Tag = obj
|
obj.IsEnabled = obj.ManuallyAdded;
|
||||||
};
|
|
||||||
|
|
||||||
foreach (var log in obj.LogEntries) {
|
|
||||||
var log_objective = new TreeViewItem {
|
|
||||||
Header = log.ToString(),
|
|
||||||
Tag = log
|
|
||||||
};
|
|
||||||
item_objective.Items.Add(log_objective);
|
|
||||||
}
|
|
||||||
|
|
||||||
item_objective.IsExpanded = true;
|
|
||||||
entries.Items.Add(item_objective);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,7 +132,8 @@ namespace EliteBGS {
|
|||||||
Objective objective = new Objective {
|
Objective objective = new Objective {
|
||||||
System = system.Text,
|
System = system.Text,
|
||||||
Faction = faction.Text,
|
Faction = faction.Text,
|
||||||
Station = station.Text
|
Station = station.Text,
|
||||||
|
ManuallyAdded = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!objective.IsValid) {
|
if (!objective.IsValid) {
|
||||||
@ -179,16 +168,18 @@ namespace EliteBGS {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
TreeViewItem item = entries.SelectedItem as TreeViewItem;
|
object obj = entries.SelectedItem;
|
||||||
var obj = item.Tag;
|
|
||||||
bool removed = false;
|
bool removed = false;
|
||||||
|
|
||||||
if (obj.GetType() == typeof(Objective)) {
|
if (obj.GetType() == typeof(Objective)) {
|
||||||
removed = report.Objectives.Remove(obj as Objective);
|
removed = report.Objectives.Remove(obj as Objective);
|
||||||
} else if (obj.GetType() == typeof(LogEntry) ||
|
} else if (obj.GetType() == typeof(LogEntry) ||
|
||||||
obj.GetType().IsSubclassOf(typeof(LogEntry))) {
|
obj.GetType().IsSubclassOf(typeof(LogEntry))) {
|
||||||
var parent = (item.Parent as TreeViewItem).Tag as Objective;
|
foreach (Objective parent in report.Objectives) {
|
||||||
removed = parent.LogEntries.Remove(obj as LogEntry);
|
if (parent.LogEntries.Remove(obj as LogEntry)) {
|
||||||
|
removed = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (removed) {
|
if (removed) {
|
||||||
|
17
README.md
17
README.md
@ -15,7 +15,9 @@ Binary downloads can be found here: [https://bgs.n0la.org/](https://bgs.n0la.org
|
|||||||
|
|
||||||
Use the main tab to add objectives to the program. To do this, insert the system name,
|
Use the main tab to add objectives to the program. To do this, insert the system name,
|
||||||
faction, and, optionally, a station. Then press "Add Objective". Objectives can be deleted
|
faction, and, optionally, a station. Then press "Add Objective". Objectives can be deleted
|
||||||
by selecting them and pressing the "DEL" key.
|
by selecting them and pressing the "DEL" key. Manually added objectives like this are
|
||||||
|
enabled by default. You can always enable, and disable an objective by checking the box
|
||||||
|
next to its name. Disabled objectives are not included in the BGS discord log generation.
|
||||||
|
|
||||||
Once you have your objectives have been configured, you can press "Parse Journal", which
|
Once you have your objectives have been configured, you can press "Parse Journal", which
|
||||||
will check your Elite Dangerous player journal for completed missions. Currently the tool
|
will check your Elite Dangerous player journal for completed missions. Currently the tool
|
||||||
@ -41,10 +43,11 @@ the combat zone entries by selecting them, and pressing "DEL".
|
|||||||
![Main Window with entries](main-entries.png)
|
![Main Window with entries](main-entries.png)
|
||||||
|
|
||||||
The window will then list all the journal entries it has found, and group them by objectives. You
|
The window will then list all the journal entries it has found, and group them by objectives. You
|
||||||
can remove individual entries (if you think the tool detected soemthing you thought was wrong), by
|
can remove individual entries (if you think the tool detected something you thought was wrong), by
|
||||||
selecting the entry, and pressing the "DEL" key.
|
selecting the entry, and pressing the "DEL" key.
|
||||||
|
|
||||||
Once you are satisfied with the result, move to "Discord Report" tab, and click "Generate Report".
|
Once you are satisfied with the result, move to "Discord Report" tab, select a template, and click
|
||||||
|
"Generate Report".
|
||||||
|
|
||||||
![Generated Report](main-report.png)
|
![Generated Report](main-report.png)
|
||||||
|
|
||||||
@ -86,9 +89,13 @@ also an ommission from FDev:
|
|||||||
|
|
||||||
Until this is fixed, please edit the resulting BGS log text, and manually add such entries.
|
Until this is fixed, please edit the resulting BGS log text, and manually add such entries.
|
||||||
|
|
||||||
|
The tool also currently cannot differentiate between missions you have abandoned in the transaction
|
||||||
|
tab before it was completed, and those that you have failed - either delibaretly or by time-out. So
|
||||||
|
it will find and add them all, and you simply can remove those that you have abandoned manually.
|
||||||
|
|
||||||
## Use EDDB information
|
## Use EDDB information
|
||||||
|
|
||||||
EliteBGS can download information from EDDB to auto complete system- and station names. You can
|
EliteBGS can download information from EDDB to auto complete system and station names. You can
|
||||||
enable its use in the "Settings". Once enabled, you must also press "Download", to download and
|
enable its use in the "Settings". Once enabled, you must also press "Download", to download and
|
||||||
process the current version of the EDDB database.
|
process the current version of the EDDB database.
|
||||||
|
|
||||||
@ -117,6 +124,6 @@ And of course, `Newtonsoft.Json` as the JSON parser.
|
|||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
This tool was made by CMDR Hekateh (Discord: `nola#2457`) of Vulcan Industrial Ventures.
|
This tool was made by CMDR Hekateh (Discord: `nola#2457`).
|
||||||
|
|
||||||
Long live the Empire.
|
Long live the Empire.
|
@ -66,9 +66,13 @@ namespace EliteBGS.Util {
|
|||||||
|
|
||||||
public void SaveObjectives(Report report) {
|
public void SaveObjectives(Report report) {
|
||||||
var serializer = JsonSerializer.CreateDefault();
|
var serializer = JsonSerializer.CreateDefault();
|
||||||
using (var file = new StreamWriter(File.OpenWrite(objectives_file), Encoding.UTF8)) {
|
using (FileStream filestream = File.OpenWrite(objectives_file)) {
|
||||||
var stream = new JsonTextWriter(file);
|
filestream.SetLength(0);
|
||||||
serializer.Serialize(stream, report.Objectives);
|
filestream.Flush();
|
||||||
|
using (StreamWriter file = new StreamWriter(filestream, Encoding.UTF8)) {
|
||||||
|
JsonTextWriter stream = new JsonTextWriter(file);
|
||||||
|
serializer.Serialize(stream, report.Objectives);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BIN
main-entries.png
BIN
main-entries.png
Binary file not shown.
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 32 KiB |
Binary file not shown.
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 19 KiB |
BIN
main-report.png
BIN
main-report.png
Binary file not shown.
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 21 KiB |
Loading…
x
Reference in New Issue
Block a user