mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-18 14:44:29 +01:00
Add updating of changed items to mod changes.
This commit is contained in:
parent
40a6ec6010
commit
513a2780f1
1 changed files with 22 additions and 13 deletions
|
|
@ -331,20 +331,29 @@ public sealed partial class Mod
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ComputeChangedItems()
|
||||||
|
{
|
||||||
|
mod.ComputeChangedItems();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// State can not change on adding groups, as they have no immediate options.
|
// State can not change on adding groups, as they have no immediate options.
|
||||||
var unused = type switch
|
var unused = type switch
|
||||||
{
|
{
|
||||||
ModOptionChangeType.GroupAdded => mod.SetCounts(),
|
ModOptionChangeType.GroupAdded => ComputeChangedItems() & mod.SetCounts(),
|
||||||
ModOptionChangeType.GroupDeleted => mod.SetCounts(),
|
ModOptionChangeType.GroupDeleted => ComputeChangedItems() & mod.SetCounts(),
|
||||||
ModOptionChangeType.GroupMoved => false,
|
ModOptionChangeType.GroupMoved => false,
|
||||||
ModOptionChangeType.GroupTypeChanged => mod.HasOptions = mod.Groups.Any( o => o.IsOption ),
|
ModOptionChangeType.GroupTypeChanged => mod.HasOptions = mod.Groups.Any( o => o.IsOption ),
|
||||||
ModOptionChangeType.PriorityChanged => false,
|
ModOptionChangeType.PriorityChanged => false,
|
||||||
ModOptionChangeType.OptionAdded => mod.SetCounts(),
|
ModOptionChangeType.OptionAdded => ComputeChangedItems() & mod.SetCounts(),
|
||||||
ModOptionChangeType.OptionDeleted => mod.SetCounts(),
|
ModOptionChangeType.OptionDeleted => ComputeChangedItems() & mod.SetCounts(),
|
||||||
ModOptionChangeType.OptionMoved => false,
|
ModOptionChangeType.OptionMoved => false,
|
||||||
ModOptionChangeType.OptionFilesChanged => 0 < ( mod.TotalFileCount = mod.AllSubMods.Sum( s => s.Files.Count ) ),
|
ModOptionChangeType.OptionFilesChanged => ComputeChangedItems()
|
||||||
ModOptionChangeType.OptionSwapsChanged => 0 < ( mod.TotalSwapCount = mod.AllSubMods.Sum( s => s.FileSwaps.Count ) ),
|
& ( 0 < ( mod.TotalFileCount = mod.AllSubMods.Sum( s => s.Files.Count ) ) ),
|
||||||
ModOptionChangeType.OptionMetaChanged => 0 < ( mod.TotalManipulations = mod.AllSubMods.Sum( s => s.Manipulations.Count ) ),
|
ModOptionChangeType.OptionSwapsChanged => ComputeChangedItems()
|
||||||
|
& ( 0 < ( mod.TotalSwapCount = mod.AllSubMods.Sum( s => s.FileSwaps.Count ) ) ),
|
||||||
|
ModOptionChangeType.OptionMetaChanged => ComputeChangedItems()
|
||||||
|
& ( 0 < ( mod.TotalManipulations = mod.AllSubMods.Sum( s => s.Manipulations.Count ) ) ),
|
||||||
ModOptionChangeType.DisplayChange => false,
|
ModOptionChangeType.DisplayChange => false,
|
||||||
_ => false,
|
_ => false,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue