mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2025-12-12 18:27:24 +01:00
Add All Dye box.
This commit is contained in:
parent
5417013bc3
commit
90d4a06253
3 changed files with 51 additions and 2 deletions
|
|
@ -254,12 +254,38 @@ public class EquipmentDrawer
|
|||
|
||||
if (!locked && armor.ModelId.Id != 0)
|
||||
{
|
||||
ImGuiUtil.HoverTooltip("Right-click to clear.");
|
||||
if (clear || ImGui.IsItemClicked(ImGuiMouseButton.Right))
|
||||
{
|
||||
change = true;
|
||||
armor = ItemManager.NothingItem(slot);
|
||||
}
|
||||
|
||||
ImGuiUtil.HoverTooltip("Right-click to clear.");
|
||||
}
|
||||
|
||||
return change;
|
||||
}
|
||||
|
||||
public bool DrawAllStain(out StainId ret, bool locked)
|
||||
{
|
||||
using var disabled = ImRaii.Disabled(locked);
|
||||
var change = _stainCombo.Draw("Dye All Slots", Stain.None.RgbaColor, string.Empty, false, false);
|
||||
ret = Stain.None.RowIndex;
|
||||
if (change)
|
||||
if (_stainData.TryGetValue(_stainCombo.CurrentSelection.Key, out var stain))
|
||||
ret = stain.RowIndex;
|
||||
else if (_stainCombo.CurrentSelection.Key == Stain.None.RowIndex)
|
||||
ret = Stain.None.RowIndex;
|
||||
|
||||
if (!locked)
|
||||
{
|
||||
if (ImGui.IsItemClicked(ImGuiMouseButton.Right) && _config.DeleteDesignModifier.IsActive())
|
||||
{
|
||||
ret = Stain.None.RowIndex;
|
||||
change = true;
|
||||
}
|
||||
|
||||
ImGuiUtil.HoverTooltip($"{_config.DeleteDesignModifier.ToString()} and Right-click to clear.");
|
||||
}
|
||||
|
||||
return change;
|
||||
|
|
@ -281,12 +307,13 @@ public class EquipmentDrawer
|
|||
|
||||
if (!locked && ret != Stain.None.RowIndex)
|
||||
{
|
||||
ImGuiUtil.HoverTooltip("Right-click to clear.");
|
||||
if (ImGui.IsItemClicked(ImGuiMouseButton.Right))
|
||||
{
|
||||
ret = Stain.None.RowIndex;
|
||||
change = true;
|
||||
}
|
||||
|
||||
ImGuiUtil.HoverTooltip("Right-click to clear.");
|
||||
}
|
||||
|
||||
return change;
|
||||
|
|
|
|||
|
|
@ -148,10 +148,18 @@ public class ActorPanel
|
|||
return;
|
||||
|
||||
_equipmentDrawer.Prepare();
|
||||
|
||||
var usedAllStain = _equipmentDrawer.DrawAllStain(out var newAllStain, _state!.IsLocked);
|
||||
foreach (var slot in EquipSlotExtensions.EqdpSlots)
|
||||
{
|
||||
var changes = _equipmentDrawer.DrawEquip(slot, _state!.ModelData, out var newArmor, out var newStain, null, out _, out _,
|
||||
_state.IsLocked);
|
||||
if (usedAllStain)
|
||||
{
|
||||
changes |= DataChange.Stain;
|
||||
newStain = newAllStain;
|
||||
}
|
||||
|
||||
switch (changes)
|
||||
{
|
||||
case DataChange.Item:
|
||||
|
|
@ -168,6 +176,12 @@ public class ActorPanel
|
|||
|
||||
var weaponChanges = _equipmentDrawer.DrawWeapons(_state!.ModelData, out var newMainhand, out var newOffhand, out var newMainhandStain,
|
||||
out var newOffhandStain, null, GameMain.IsInGPose(), out _, out _, out _, out _, _state.IsLocked);
|
||||
if (usedAllStain)
|
||||
{
|
||||
weaponChanges |= DataChange.Stain | DataChange.Stain2;
|
||||
newMainhandStain = newAllStain;
|
||||
newOffhandStain = newAllStain;
|
||||
}
|
||||
|
||||
if (weaponChanges.HasFlag(DataChange.Item))
|
||||
if (weaponChanges.HasFlag(DataChange.Stain))
|
||||
|
|
|
|||
|
|
@ -105,6 +105,8 @@ public class DesignPanel
|
|||
return;
|
||||
|
||||
_equipmentDrawer.Prepare();
|
||||
|
||||
var usedAllStain = _equipmentDrawer.DrawAllStain(out var newAllStain, _selector.Selected!.WriteProtected());
|
||||
foreach (var slot in EquipSlotExtensions.EqdpSlots)
|
||||
{
|
||||
var changes = _equipmentDrawer.DrawEquip(slot, _selector.Selected!.DesignData, out var newArmor, out var newStain,
|
||||
|
|
@ -113,6 +115,8 @@ public class DesignPanel
|
|||
_manager.ChangeEquip(_selector.Selected, slot, newArmor);
|
||||
if (changes.HasFlag(DataChange.Stain))
|
||||
_manager.ChangeStain(_selector.Selected, slot, newStain);
|
||||
else if (usedAllStain)
|
||||
_manager.ChangeStain(_selector.Selected, slot, newAllStain);
|
||||
if (changes.HasFlag(DataChange.ApplyItem))
|
||||
_manager.ChangeApplyEquip(_selector.Selected, slot, newApply);
|
||||
if (changes.HasFlag(DataChange.ApplyStain))
|
||||
|
|
@ -127,6 +131,8 @@ public class DesignPanel
|
|||
_manager.ChangeWeapon(_selector.Selected, EquipSlot.MainHand, newMainhand);
|
||||
if (weaponChanges.HasFlag(DataChange.Stain))
|
||||
_manager.ChangeStain(_selector.Selected, EquipSlot.MainHand, newMainhandStain);
|
||||
else if (usedAllStain)
|
||||
_manager.ChangeStain(_selector.Selected, EquipSlot.MainHand, newAllStain);
|
||||
if (weaponChanges.HasFlag(DataChange.ApplyItem))
|
||||
_manager.ChangeApplyEquip(_selector.Selected, EquipSlot.MainHand, applyMain);
|
||||
if (weaponChanges.HasFlag(DataChange.ApplyStain))
|
||||
|
|
@ -135,6 +141,8 @@ public class DesignPanel
|
|||
_manager.ChangeWeapon(_selector.Selected, EquipSlot.OffHand, newOffhand);
|
||||
if (weaponChanges.HasFlag(DataChange.Stain2))
|
||||
_manager.ChangeStain(_selector.Selected, EquipSlot.OffHand, newOffhandStain);
|
||||
else if (usedAllStain)
|
||||
_manager.ChangeStain(_selector.Selected, EquipSlot.OffHand, newAllStain);
|
||||
if (weaponChanges.HasFlag(DataChange.ApplyItem2))
|
||||
_manager.ChangeApplyEquip(_selector.Selected, EquipSlot.OffHand, applyOff);
|
||||
if (weaponChanges.HasFlag(DataChange.ApplyStain2))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue