Fix ItemSwap with changed target IMC material variant.

This commit is contained in:
Ottermandias 2023-01-30 22:17:00 +01:00
parent 20303a9416
commit 960c936f8d
2 changed files with 4 additions and 3 deletions

View file

@ -60,7 +60,8 @@ public static class EquipmentSwap
foreach( var slot in ConvertSlots( slotFrom, rFinger, lFinger ) ) foreach( var slot in ConvertSlots( slotFrom, rFinger, lFinger ) )
{ {
(var imcFileFrom, var variants, affectedItems) = GetVariants( slot, idFrom, idTo, variantFrom ); (var imcFileFrom, var variants, affectedItems) = GetVariants( slot, idFrom, idTo, variantFrom );
var imcFileTo = new ImcFile( new ImcManipulation( slot, variantTo, idTo.Value, default ) ); var imcManip = new ImcManipulation( slot, variantTo, idTo.Value, default );
var imcFileTo = new ImcFile( imcManip);
var isAccessory = slot.IsAccessory(); var isAccessory = slot.IsAccessory();
var estType = slot switch var estType = slot switch
@ -72,7 +73,7 @@ public static class EquipmentSwap
var skipFemale = false; var skipFemale = false;
var skipMale = false; var skipMale = false;
var mtrlVariantTo = imcFileTo.GetEntry( ImcFile.PartIndex( slot ), variantTo ).MaterialId; var mtrlVariantTo = manips( imcManip.Copy( imcFileTo.GetEntry( ImcFile.PartIndex( slot ), variantTo ) ) ).Imc.Entry.MaterialId;
foreach( var gr in Enum.GetValues< GenderRace >() ) foreach( var gr in Enum.GetValues< GenderRace >() )
{ {
switch( gr.Split().Item1 ) switch( gr.Split().Item1 )

View file

@ -421,7 +421,7 @@ public class ItemSwapWindow : IDisposable
if( _affectedItems is { Length: > 1 } ) if( _affectedItems is { Length: > 1 } )
{ {
ImGui.SameLine(); ImGui.SameLine();
ImGuiUtil.DrawTextButton( $"which will also affect {_affectedItems.Length} other Items.", Vector2.Zero, Colors.PressEnterWarningBg ); ImGuiUtil.DrawTextButton( $"which will also affect {_affectedItems.Length - 1} other Items.", Vector2.Zero, Colors.PressEnterWarningBg );
if( ImGui.IsItemHovered() ) if( ImGui.IsItemHovered() )
{ {
ImGui.SetTooltip( string.Join( '\n', _affectedItems.Where( i => !ReferenceEquals( i, targetSelector.CurrentSelection.Item2 ) ) ImGui.SetTooltip( string.Join( '\n', _affectedItems.Where( i => !ReferenceEquals( i, targetSelector.CurrentSelection.Item2 ) )