mirror of
https://github.com/tribufu/ServerManagers
synced 2026-05-06 15:17:34 +00:00
Crafting Override Changes
- added good, warning and bad icons to crafting override grids.
This commit is contained in:
parent
a5e1f78629
commit
9df02ec05e
6 changed files with 184 additions and 16 deletions
|
|
@ -1,10 +1,46 @@
|
|||
using ServerManagerTool.Common.Attibutes;
|
||||
using ServerManagerTool.Common.Model;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Windows;
|
||||
|
||||
namespace ServerManagerTool.Lib
|
||||
{
|
||||
[DataContract]
|
||||
public class CraftingOverrideList : AggregateIniValueList<CraftingOverride>
|
||||
{
|
||||
public CraftingOverrideList(string aggregateValueName)
|
||||
: base(aggregateValueName, null)
|
||||
{
|
||||
}
|
||||
|
||||
public IEnumerable<string> RenderToView()
|
||||
{
|
||||
List<string> errors = new List<string>();
|
||||
|
||||
Update();
|
||||
|
||||
return errors;
|
||||
}
|
||||
|
||||
public void RenderToModel()
|
||||
{
|
||||
}
|
||||
|
||||
public void UpdateForLocalization()
|
||||
{
|
||||
}
|
||||
|
||||
public void Update(bool recursive = true)
|
||||
{
|
||||
IsEnabled = this.Count > 0;
|
||||
|
||||
foreach (var craftingOverride in this)
|
||||
craftingOverride.Update(recursive);
|
||||
}
|
||||
}
|
||||
|
||||
[DataContract]
|
||||
public class CraftingOverride : AggregateIniValue
|
||||
{
|
||||
|
|
@ -44,7 +80,10 @@ namespace ServerManagerTool.Lib
|
|||
public override void InitializeFromINIValue(string value)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(value))
|
||||
{
|
||||
Update();
|
||||
return;
|
||||
}
|
||||
|
||||
var kvPair = value.Split(new[] { '=' }, 2);
|
||||
var kvValue = kvPair[1].Trim(' ');
|
||||
|
|
@ -64,6 +103,25 @@ namespace ServerManagerTool.Lib
|
|||
public string DisplayName => GameData.FriendlyItemNameForClass(ItemClassString);
|
||||
|
||||
public bool IsValid => !string.IsNullOrWhiteSpace(ItemClassString) && BaseCraftingResourceRequirements.Count > 0;
|
||||
|
||||
public static readonly DependencyProperty ValidStatusProperty = DependencyProperty.Register(nameof(ValidStatus), typeof(string), typeof(CraftingOverride), new PropertyMetadata("N"));
|
||||
|
||||
public string ValidStatus
|
||||
{
|
||||
get { return (string)GetValue(ValidStatusProperty); }
|
||||
set { SetValue(ValidStatusProperty, value); }
|
||||
}
|
||||
|
||||
public void Update(bool recursive = true)
|
||||
{
|
||||
if (recursive && BaseCraftingResourceRequirements != null)
|
||||
{
|
||||
foreach (var resource in BaseCraftingResourceRequirements)
|
||||
resource.Update();
|
||||
}
|
||||
|
||||
ValidStatus = IsValid ? (BaseCraftingResourceRequirements.Any(i => i.ValidStatus == "N") ? "N" : (BaseCraftingResourceRequirements.Any(i => i.ValidStatus == "W") ? "W" : "Y")) : "N";
|
||||
}
|
||||
}
|
||||
|
||||
[DataContract]
|
||||
|
|
@ -119,5 +177,18 @@ namespace ServerManagerTool.Lib
|
|||
public string DisplayName => GameData.FriendlyItemNameForClass(ResourceItemTypeString);
|
||||
|
||||
public bool IsValid => !string.IsNullOrWhiteSpace(ResourceItemTypeString);
|
||||
|
||||
public static readonly DependencyProperty ValidStatusProperty = DependencyProperty.Register(nameof(ValidStatus), typeof(string), typeof(CraftingResourceRequirement), new PropertyMetadata("N"));
|
||||
|
||||
public string ValidStatus
|
||||
{
|
||||
get { return (string)GetValue(ValidStatusProperty); }
|
||||
set { SetValue(ValidStatusProperty, value); }
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
ValidStatus = IsValid ? (GameData.HasItemForClass(ResourceItemTypeString) ? "Y" : "W") : "N";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ namespace ServerManagerTool.Lib
|
|||
this.EngramEntryAutoUnlocks = new EngramAutoUnlockList(nameof(EngramEntryAutoUnlocks));
|
||||
this.EngramSettings = new EngramSettingsList(this.OverrideNamedEngramEntries, this.EngramEntryAutoUnlocks);
|
||||
|
||||
this.ConfigOverrideItemCraftingCosts = new AggregateIniValueList<CraftingOverride>(nameof(ConfigOverrideItemCraftingCosts), null);
|
||||
this.ConfigOverrideItemCraftingCosts = new CraftingOverrideList(nameof(ConfigOverrideItemCraftingCosts));
|
||||
this.ConfigOverrideItemMaxQuantity = new StackSizeOverrideList(nameof(ConfigOverrideItemMaxQuantity));
|
||||
this.ConfigOverrideSupplyCrateItems = new SupplyCrateOverrideList(nameof(ConfigOverrideSupplyCrateItems));
|
||||
this.PreventTransferForClassNames = new PreventTransferOverrideList(nameof(PreventTransferForClassNames));
|
||||
|
|
@ -3128,11 +3128,11 @@ namespace ServerManagerTool.Lib
|
|||
#endregion
|
||||
|
||||
#region Crafting Overrides
|
||||
public static readonly DependencyProperty ConfigOverrideItemCraftingCostsProperty = DependencyProperty.Register(nameof(ConfigOverrideItemCraftingCosts), typeof(AggregateIniValueList<CraftingOverride>), typeof(ServerProfile), new PropertyMetadata(null));
|
||||
public static readonly DependencyProperty ConfigOverrideItemCraftingCostsProperty = DependencyProperty.Register(nameof(ConfigOverrideItemCraftingCosts), typeof(CraftingOverrideList), typeof(ServerProfile), new PropertyMetadata(null));
|
||||
[IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.CraftingOverrides)]
|
||||
public AggregateIniValueList<CraftingOverride> ConfigOverrideItemCraftingCosts
|
||||
public CraftingOverrideList ConfigOverrideItemCraftingCosts
|
||||
{
|
||||
get { return (AggregateIniValueList<CraftingOverride>)GetValue(ConfigOverrideItemCraftingCostsProperty); }
|
||||
get { return (CraftingOverrideList)GetValue(ConfigOverrideItemCraftingCostsProperty); }
|
||||
set { SetValue(ConfigOverrideItemCraftingCostsProperty, value); }
|
||||
}
|
||||
#endregion
|
||||
|
|
@ -4057,6 +4057,8 @@ namespace ServerManagerTool.Lib
|
|||
profile.NPCSpawnSettings.RenderToView();
|
||||
if (Config.Default.SectionSupplyCrateOverridesEnabled)
|
||||
profile.ConfigOverrideSupplyCrateItems.RenderToView();
|
||||
if (Config.Default.SectionCraftingOverridesEnabled)
|
||||
profile.ConfigOverrideItemCraftingCosts.RenderToView();
|
||||
if (Config.Default.SectionStackSizeOverridesEnabled)
|
||||
profile.ConfigOverrideItemMaxQuantity.RenderToView();
|
||||
if (Config.Default.SectionPreventTransferOverridesEnabled)
|
||||
|
|
@ -4135,6 +4137,8 @@ namespace ServerManagerTool.Lib
|
|||
profile.NPCSpawnSettings.RenderToView();
|
||||
if (Config.Default.SectionSupplyCrateOverridesEnabled)
|
||||
profile.ConfigOverrideSupplyCrateItems.RenderToView();
|
||||
if (Config.Default.SectionCraftingOverridesEnabled)
|
||||
profile.ConfigOverrideItemCraftingCosts.RenderToView();
|
||||
if (Config.Default.SectionStackSizeOverridesEnabled)
|
||||
profile.ConfigOverrideItemMaxQuantity.RenderToView();
|
||||
if (Config.Default.SectionPreventTransferOverridesEnabled)
|
||||
|
|
@ -4274,6 +4278,12 @@ namespace ServerManagerTool.Lib
|
|||
this.ConfigOverrideSupplyCrateItems.RenderToModel();
|
||||
}
|
||||
|
||||
if (Config.Default.SectionCraftingOverridesEnabled)
|
||||
{
|
||||
progressCallback?.Invoke(0, _globalizer.GetResourceString("ProfileSave_ConstructingCraftingOverridesInformation"));
|
||||
this.ConfigOverrideItemCraftingCosts.RenderToModel();
|
||||
}
|
||||
|
||||
if (Config.Default.SectionStackSizeOverridesEnabled)
|
||||
{
|
||||
progressCallback?.Invoke(0, _globalizer.GetResourceString("ProfileSave_ConstructingStackSizeInformation"));
|
||||
|
|
@ -5312,7 +5322,7 @@ namespace ServerManagerTool.Lib
|
|||
|
||||
public void ResetCraftingOverridesSection()
|
||||
{
|
||||
this.ConfigOverrideItemCraftingCosts = new AggregateIniValueList<CraftingOverride>(nameof(ConfigOverrideItemCraftingCosts), null);
|
||||
this.ConfigOverrideItemCraftingCosts = new CraftingOverrideList(nameof(ConfigOverrideItemCraftingCosts));
|
||||
this.ConfigOverrideItemCraftingCosts.Reset();
|
||||
}
|
||||
|
||||
|
|
@ -5939,9 +5949,12 @@ namespace ServerManagerTool.Lib
|
|||
|
||||
private void SyncCraftingOverridesSection(ServerProfile sourceProfile)
|
||||
{
|
||||
sourceProfile.ConfigOverrideItemCraftingCosts.RenderToModel();
|
||||
|
||||
this.ConfigOverrideItemCraftingCosts.Clear();
|
||||
this.ConfigOverrideItemCraftingCosts.FromIniValues(sourceProfile.ConfigOverrideItemCraftingCosts.ToIniValues());
|
||||
this.ConfigOverrideItemCraftingCosts.IsEnabled = this.ConfigOverrideItemCraftingCosts.Count > 0;
|
||||
this.ConfigOverrideItemCraftingCosts.RenderToView();
|
||||
}
|
||||
|
||||
private void SyncCustomEngineSettingsSection(ServerProfile sourceProfile)
|
||||
|
|
|
|||
|
|
@ -4836,7 +4836,7 @@
|
|||
</StackPanel>
|
||||
</GroupBox.Header>
|
||||
|
||||
<DataGrid Name="CraftingOverrideItemGrid" ItemsSource="{Binding ConfigOverrideItemCraftingCosts}" SelectedItem="{Binding Path=SelectedCraftingOverride, ElementName=SettingsControl, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserSortColumns="true" SelectionMode="Single" CanUserResizeRows="False" RowHeaderWidth="25">
|
||||
<DataGrid Name="CraftingOverrideItemGrid" ItemsSource="{Binding ConfigOverrideItemCraftingCosts}" SelectedItem="{Binding Path=SelectedCraftingOverride, ElementName=SettingsControl, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserSortColumns="true" SelectionMode="Single" CanUserResizeRows="False" RowHeaderWidth="25" SourceUpdated="CraftingOverrideGrids_SourceUpdated">
|
||||
<DataGrid.Resources>
|
||||
<Style TargetType="{x:Type DataGridRow}">
|
||||
<Style.Resources>
|
||||
|
|
@ -4853,6 +4853,28 @@
|
|||
<SolidColorBrush Color="#FFB4B4B4"/>
|
||||
</DataGrid.VerticalGridLinesBrush>
|
||||
|
||||
<DataGrid.RowHeaderTemplate>
|
||||
<DataTemplate>
|
||||
<Image HorizontalAlignment="Center" VerticalAlignment="Center" Width="16" Height="16">
|
||||
<Image.Style>
|
||||
<Style TargetType="{x:Type Image}">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding DataContext.ValidStatus, RelativeSource={RelativeSource AncestorType=DataGridRow}}" Value="Y">
|
||||
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusGood.ico,Size=32}"/>
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding DataContext.ValidStatus, RelativeSource={RelativeSource AncestorType=DataGridRow}}" Value="N">
|
||||
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusBad.ico,Size=32}"/>
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding DataContext.ValidStatus, RelativeSource={RelativeSource AncestorType=DataGridRow}}" Value="W">
|
||||
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusWarning.ico,Size=32}"/>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Image.Style>
|
||||
</Image>
|
||||
</DataTemplate>
|
||||
</DataGrid.RowHeaderTemplate>
|
||||
|
||||
<DataGrid.Columns>
|
||||
<DataGridTemplateColumn Width="2*" CanUserSort="True" SortMemberPath="DisplayName">
|
||||
<DataGridTemplateColumn.Header>
|
||||
|
|
@ -4860,7 +4882,7 @@
|
|||
</DataGridTemplateColumn.Header>
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<ComboBox IsEditable="True" ItemsSource="{Binding BasePrimalItemList, ElementName=SettingsControl}" SelectedValue="{Binding ItemClassString, Mode=TwoWay, UpdateSourceTrigger=Explicit}" SelectedValuePath="ValueMember" DisplayMemberPath="DisplayMember" LostFocus="ComboBoxItemList_LostFocus" PreviewMouseWheel="ComboBox_PreviewMouseWheel"/>
|
||||
<ComboBox IsEditable="True" ItemsSource="{Binding BasePrimalItemList, ElementName=SettingsControl}" SelectedValue="{Binding ItemClassString, Mode=TwoWay, UpdateSourceTrigger=Explicit, NotifyOnSourceUpdated=True}" SelectedValuePath="ValueMember" DisplayMemberPath="DisplayMember" LostFocus="ComboBoxItemList_LostFocus" PreviewMouseWheel="ComboBox_PreviewMouseWheel"/>
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
|
|
@ -4901,7 +4923,7 @@
|
|||
</StackPanel>
|
||||
</GroupBox.Header>
|
||||
|
||||
<DataGrid Name="CraftingOverrideResourceGrid" ItemsSource="{Binding Path=SelectedCraftingOverride.BaseCraftingResourceRequirements, ElementName=SettingsControl}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserSortColumns="true" SelectionMode="Single" CanUserResizeRows="False" RowHeaderWidth="25">
|
||||
<DataGrid Name="CraftingOverrideResourceGrid" ItemsSource="{Binding Path=SelectedCraftingOverride.BaseCraftingResourceRequirements, ElementName=SettingsControl}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserSortColumns="true" SelectionMode="Single" CanUserResizeRows="False" RowHeaderWidth="25" SourceUpdated="CraftingOverrideGrids_SourceUpdated">
|
||||
<DataGrid.Resources>
|
||||
<Style TargetType="{x:Type DataGridRow}">
|
||||
<Style.Resources>
|
||||
|
|
@ -4918,6 +4940,28 @@
|
|||
<SolidColorBrush Color="#FFB4B4B4"/>
|
||||
</DataGrid.VerticalGridLinesBrush>
|
||||
|
||||
<DataGrid.RowHeaderTemplate>
|
||||
<DataTemplate>
|
||||
<Image HorizontalAlignment="Center" VerticalAlignment="Center" Width="16" Height="16">
|
||||
<Image.Style>
|
||||
<Style TargetType="{x:Type Image}">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding Path=DataContext.ValidStatus, RelativeSource={RelativeSource AncestorType=DataGridRow}}" Value="Y">
|
||||
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusGood.ico,Size=32}"/>
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding Path=DataContext.ValidStatus, RelativeSource={RelativeSource AncestorType=DataGridRow}}" Value="N">
|
||||
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusBad.ico,Size=32}"/>
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding Path=DataContext.ValidStatus, RelativeSource={RelativeSource AncestorType=DataGridRow}}" Value="W">
|
||||
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusWarning.ico,Size=32}"/>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Image.Style>
|
||||
</Image>
|
||||
</DataTemplate>
|
||||
</DataGrid.RowHeaderTemplate>
|
||||
|
||||
<DataGrid.Columns>
|
||||
<DataGridTemplateColumn Width="2*" CanUserSort="True" SortMemberPath="DisplayName">
|
||||
<DataGridTemplateColumn.Header>
|
||||
|
|
@ -4925,12 +4969,12 @@
|
|||
</DataGridTemplateColumn.Header>
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<ComboBox IsEditable="True" ItemsSource="{Binding BasePrimalItemList, ElementName=SettingsControl}" SelectedValue="{Binding ResourceItemTypeString, Mode=TwoWay, UpdateSourceTrigger=Explicit}" SelectedValuePath="ValueMember" DisplayMemberPath="DisplayMember" LostFocus="ComboBoxItemList_LostFocus" PreviewMouseWheel="ComboBox_PreviewMouseWheel"/>
|
||||
<ComboBox IsEditable="True" ItemsSource="{Binding BasePrimalItemList, ElementName=SettingsControl}" SelectedValue="{Binding ResourceItemTypeString, Mode=TwoWay, UpdateSourceTrigger=Explicit, NotifyOnSourceUpdated=True}" SelectedValuePath="ValueMember" DisplayMemberPath="DisplayMember" LostFocus="ComboBoxItemList_LostFocus" PreviewMouseWheel="ComboBox_PreviewMouseWheel"/>
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
|
||||
<DataGridTextColumn Width="100" Binding="{Binding BaseResourceRequirement}" ElementStyle="{StaticResource CenteredTextBlockStyle}" >
|
||||
|
||||
<DataGridTextColumn Width="100" Binding="{Binding BaseResourceRequirement, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True}" ElementStyle="{StaticResource CenteredTextBlockStyle}" >
|
||||
<DataGridTextColumn.Header>
|
||||
<TextBlock Text="{DynamicResource ServerSettings_CraftingOverrides_ResourceQuantityColumnLabel}" ToolTip="{DynamicResource ServerSettings_CraftingOverrides_ResourceQuantityColumnTooltip}" />
|
||||
</DataGridTextColumn.Header>
|
||||
|
|
|
|||
|
|
@ -1314,6 +1314,11 @@ namespace ServerManagerTool
|
|||
Settings.ConfigOverrideSupplyCrateItems.Update();
|
||||
}
|
||||
|
||||
private void CraftingOverrideGrids_SourceUpdated(object sender, DataTransferEventArgs e)
|
||||
{
|
||||
Settings.ConfigOverrideItemCraftingCosts.Update();
|
||||
}
|
||||
|
||||
#region Dinos
|
||||
private void DinoCustomization_Reset(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
|
@ -1749,7 +1754,7 @@ namespace ServerManagerTool
|
|||
private void AddCraftingOverride_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Settings.ConfigOverrideItemCraftingCosts.Add(new CraftingOverride());
|
||||
Settings.ConfigOverrideItemCraftingCosts.IsEnabled = true;
|
||||
Settings.ConfigOverrideItemCraftingCosts.Update();
|
||||
}
|
||||
|
||||
private void AddCraftingOverrideResource_Click(object sender, RoutedEventArgs e)
|
||||
|
|
@ -1761,6 +1766,7 @@ namespace ServerManagerTool
|
|||
}
|
||||
|
||||
SelectedCraftingOverride.BaseCraftingResourceRequirements.Add(new CraftingResourceRequirement());
|
||||
Settings.ConfigOverrideItemCraftingCosts.Update();
|
||||
}
|
||||
|
||||
private void ClearCraftingOverrides_Click(object sender, RoutedEventArgs e)
|
||||
|
|
@ -1770,7 +1776,7 @@ namespace ServerManagerTool
|
|||
|
||||
SelectedCraftingOverride = null;
|
||||
Settings.ConfigOverrideItemCraftingCosts.Clear();
|
||||
Settings.ConfigOverrideItemCraftingCosts.IsEnabled = false;
|
||||
Settings.ConfigOverrideItemCraftingCosts.Update();
|
||||
}
|
||||
|
||||
private void ClearCraftingOverrideResources_Click(object sender, RoutedEventArgs e)
|
||||
|
|
@ -1779,6 +1785,7 @@ namespace ServerManagerTool
|
|||
return;
|
||||
|
||||
SelectedCraftingOverride?.BaseCraftingResourceRequirements.Clear();
|
||||
Settings.ConfigOverrideItemCraftingCosts.Update();
|
||||
}
|
||||
|
||||
private void PasteCraftingOverride_Click(object sender, RoutedEventArgs e)
|
||||
|
|
@ -1794,6 +1801,8 @@ namespace ServerManagerTool
|
|||
// read the pasted data into an ini file.
|
||||
var iniFile = IniFileUtils.ReadString(window.ConfigData.Replace(" ", ""));
|
||||
|
||||
Server.Profile.ConfigOverrideItemCraftingCosts.RenderToModel();
|
||||
|
||||
// cycle through the sections, adding them to the engrams list. Will bypass any sections that are named as per the ARK default sections.
|
||||
foreach (var section in iniFile.Sections.Where(s => s.SectionName != null && !SystemIniFile.IniSectionNames.ContainsValue(s.SectionName)))
|
||||
{
|
||||
|
|
@ -1803,6 +1812,8 @@ namespace ServerManagerTool
|
|||
Server.Profile.ConfigOverrideItemCraftingCosts.IsEnabled |= configOverrideItemCraftingCosts.IsEnabled;
|
||||
}
|
||||
|
||||
var errors = Server.Profile.ConfigOverrideItemCraftingCosts.RenderToView();
|
||||
|
||||
RefreshBasePrimalItemList();
|
||||
}
|
||||
|
||||
|
|
@ -1813,7 +1824,7 @@ namespace ServerManagerTool
|
|||
|
||||
var item = ((CraftingOverride)((Button)e.Source).DataContext);
|
||||
Settings.ConfigOverrideItemCraftingCosts.Remove(item);
|
||||
Settings.ConfigOverrideItemCraftingCosts.IsEnabled = Settings.ConfigOverrideItemCraftingCosts.Count > 0;
|
||||
Settings.ConfigOverrideItemCraftingCosts.Update();
|
||||
}
|
||||
|
||||
private void RemoveCraftingOverrideResource_Click(object sender, RoutedEventArgs e)
|
||||
|
|
@ -1826,10 +1837,13 @@ namespace ServerManagerTool
|
|||
|
||||
var item = ((CraftingResourceRequirement)((Button)e.Source).DataContext);
|
||||
SelectedCraftingOverride.BaseCraftingResourceRequirements.Remove(item);
|
||||
Settings.ConfigOverrideItemCraftingCosts.Update();
|
||||
}
|
||||
|
||||
private void SaveCraftingOverride_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Settings.ConfigOverrideItemCraftingCosts.RenderToModel();
|
||||
|
||||
var iniValues = new List<string>();
|
||||
iniValues.AddRange(Settings.ConfigOverrideItemCraftingCosts.ToIniValues());
|
||||
var iniValue = string.Join("\r\n", iniValues);
|
||||
|
|
@ -1848,6 +1862,8 @@ namespace ServerManagerTool
|
|||
if (item == null)
|
||||
return;
|
||||
|
||||
Settings.ConfigOverrideItemCraftingCosts.RenderToModel();
|
||||
|
||||
var iniName = Settings.ConfigOverrideItemCraftingCosts.IniCollectionKey;
|
||||
var iniValue = $"{iniName}={item.ToINIValue()}";
|
||||
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@
|
|||
|
||||
<entry>
|
||||
<id>urn:uuid:93A04A12-C632-4C2B-AC76-42D9E476431C</id>
|
||||
<title>1.1.432 (1.1.432.1)</title>
|
||||
<summary>1.1.432.1</summary>
|
||||
<title>1.1.432 (1.1.432.3)</title>
|
||||
<summary>1.1.432.3</summary>
|
||||
<link href="" />
|
||||
<updated>2022-06-13T00:00:00Z</updated>
|
||||
<content type="xhtml">
|
||||
|
|
@ -25,6 +25,7 @@
|
|||
<br/>
|
||||
<ul>
|
||||
<li>Gamedata Files - changed the Fjordur official mod to the correct mod id.</li>
|
||||
<li>Crafting Override Grids - Added new icons to show Good (green), Warning (orange) or Bad (red). Warnings will show for resources not familiar with (raw class names, not loaded via gamedata files), Errors will show for empty resources.</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,6 +7,29 @@
|
|||
<link href="http://arkservermanager.freeforums.net/" />
|
||||
<updated>2022-06-16T00:00:00Z</updated>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:93A04A12-C632-4C2B-AC76-42D9E476431C</id>
|
||||
<title>1.1.432 (1.1.432.3)</title>
|
||||
<summary>1.1.432.3</summary>
|
||||
<link href="" />
|
||||
<updated>2022-06-16T00:00:00Z</updated>
|
||||
<content type="xhtml">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="font-family: Arial, Verdana, Helvetica, Sans-Serif;font-size: .8em;">
|
||||
<p>
|
||||
<u style="font-size: .9em;">CHANGE</u>
|
||||
<br/>
|
||||
<ul>
|
||||
<li>Crafting Override Grids - Added new icons to show Good (green), Warning (orange) or Bad (red). Warnings will show for resources not familiar with (raw class names, not loaded via gamedata files), Errors will show for empty resources.</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
</content>
|
||||
<author>
|
||||
<name>bletch</name>
|
||||
<email>bletch1971@hotmail.com</email>
|
||||
</author>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:93A04A12-C632-4C2B-AC76-42D9E476431C</id>
|
||||
<title>1.1.432 (1.1.432.2)</title>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue