mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2025-12-12 18:27:24 +01:00
Update display of saved material values.
This commit is contained in:
parent
2282f3f87a
commit
af58a52a59
1 changed files with 21 additions and 14 deletions
|
|
@ -100,12 +100,12 @@ public readonly record struct MaterialValueIndex(
|
||||||
|| SlotIndex >= model.AsCharacterBase->SlotCount
|
|| SlotIndex >= model.AsCharacterBase->SlotCount
|
||||||
|| model.AsCharacterBase->ColorTableTexturesSpan.Length < (SlotIndex + 1) * MaterialService.MaterialsPerModel)
|
|| model.AsCharacterBase->ColorTableTexturesSpan.Length < (SlotIndex + 1) * MaterialService.MaterialsPerModel)
|
||||||
{
|
{
|
||||||
textures = [];
|
textures = [];
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var from = SlotIndex * MaterialService.MaterialsPerModel;
|
var from = SlotIndex * MaterialService.MaterialsPerModel;
|
||||||
textures = model.AsCharacterBase->ColorTableTexturesSpan.Slice(from, MaterialService.MaterialsPerModel);
|
textures = model.AsCharacterBase->ColorTableTexturesSpan.Slice(from, MaterialService.MaterialsPerModel);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -220,20 +220,27 @@ public readonly record struct MaterialValueIndex(
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
=> DrawObject switch
|
=> DrawObject switch
|
||||||
{
|
{
|
||||||
DrawObjectType.Invalid => "Invalid",
|
DrawObjectType.Invalid => "Invalid",
|
||||||
DrawObjectType.Human when SlotIndex < 10 =>
|
DrawObjectType.Human when SlotIndex < 10 => $"{((uint)SlotIndex).ToEquipSlot().ToName()} {MaterialString()} {RowString()}",
|
||||||
$"{((uint)SlotIndex).ToEquipSlot().ToName()} Material #{MaterialIndex + 1} Row #{RowIndex + 1}",
|
DrawObjectType.Human when SlotIndex == 10 => $"{BodySlot.Hair} {MaterialString()} {RowString()}",
|
||||||
DrawObjectType.Human when SlotIndex == 10 => $"BodySlot.Hair.ToString() Material #{MaterialIndex + 1} Row #{RowIndex + 1}",
|
DrawObjectType.Human when SlotIndex == 11 => $"{BodySlot.Face} {MaterialString()} {RowString()}",
|
||||||
DrawObjectType.Human when SlotIndex == 11 => $"BodySlot.Face.ToString() Material #{MaterialIndex + 1} Row #{RowIndex + 1}",
|
DrawObjectType.Human when SlotIndex == 12 => $"{BodySlot.Tail} / {BodySlot.Ear} {MaterialString()} {RowString()}",
|
||||||
DrawObjectType.Human when SlotIndex == 12 => $"{BodySlot.Tail} / {BodySlot.Ear} Material #{MaterialIndex + 1} Row #{RowIndex + 1}",
|
DrawObjectType.Human when SlotIndex == 13 => $"Connectors {MaterialString()} {RowString()}",
|
||||||
DrawObjectType.Human when SlotIndex == 13 => $"Connectors Material #{MaterialIndex + 1} Row #{RowIndex + 1}",
|
DrawObjectType.Human when SlotIndex == 16 => $"{BonusItemFlag.Glasses.ToName()} {MaterialString()} {RowString()}",
|
||||||
DrawObjectType.Human when SlotIndex == 16 => $"{BonusItemFlag.Glasses.ToName()} Material #{MaterialIndex + 1} Row #{RowIndex + 1}",
|
DrawObjectType.Human when SlotIndex == 17 => $"{BonusItemFlag.UnkSlot.ToName()} {MaterialString()} {RowString()}",
|
||||||
DrawObjectType.Human when SlotIndex == 17 => $"{BonusItemFlag.UnkSlot.ToName()} Material #{MaterialIndex + 1} Row #{RowIndex + 1}",
|
DrawObjectType.Mainhand when SlotIndex == 0 => $"{EquipSlot.MainHand.ToName()} {MaterialString()} {RowString()}",
|
||||||
DrawObjectType.Mainhand when SlotIndex == 0 => $"{EquipSlot.MainHand.ToName()} Material #{MaterialIndex + 1} Row #{RowIndex + 1}",
|
DrawObjectType.Offhand when SlotIndex == 0 => $"{EquipSlot.OffHand.ToName()} {MaterialString()} {RowString()}",
|
||||||
DrawObjectType.Offhand when SlotIndex == 0 => $"{EquipSlot.OffHand.ToName()} Material #{MaterialIndex + 1} Row #{RowIndex + 1}",
|
_ => $"{DrawObject} Slot {SlotIndex} {MaterialString()} {RowString()}",
|
||||||
_ => $"{DrawObject} Slot {SlotIndex} Material #{MaterialIndex + 1} Row #{RowIndex + 1}",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
private string MaterialString()
|
||||||
|
=> $"Material {(char)(MaterialIndex + 'A')}";
|
||||||
|
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
private string RowString()
|
||||||
|
=> $"Row {RowIndex / 2 + 1}{(char)(RowIndex % 2 + 'A')}";
|
||||||
|
|
||||||
private class Converter : JsonConverter<MaterialValueIndex>
|
private class Converter : JsonConverter<MaterialValueIndex>
|
||||||
{
|
{
|
||||||
public override void WriteJson(JsonWriter writer, MaterialValueIndex value, JsonSerializer serializer)
|
public override void WriteJson(JsonWriter writer, MaterialValueIndex value, JsonSerializer serializer)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue