mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-05-22 01:06:35 +00:00
"Show Armor" now hides boxes appropriately
This commit is contained in:
@@ -465,6 +465,7 @@ namespace PckStudio.Forms.Editor
|
||||
if (index > -1)
|
||||
{
|
||||
renderer3D1.ModelData[index] = boxEditorControl1.GetBOX();
|
||||
renderer3D1.ShowArmor = showArmorCheckbox.Checked;
|
||||
_skinPartListBindingSource.ResetItem(index);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +113,22 @@ namespace PckStudio.Rendering
|
||||
|
||||
public bool CenterOnSelect { get; set; } = false;
|
||||
public bool ShowBoundingBox { get; set; }
|
||||
public bool ShowArmor { get; set; } = false;
|
||||
public bool ShowArmor
|
||||
{
|
||||
get;
|
||||
set
|
||||
{
|
||||
field = value;
|
||||
|
||||
// set box armor visibility appropriately
|
||||
head.HandleArmorFlags(ShowArmor);
|
||||
body.HandleArmorFlags(ShowArmor);
|
||||
rightArm.HandleArmorFlags(ShowArmor);
|
||||
leftArm.HandleArmorFlags(ShowArmor);
|
||||
rightLeg.HandleArmorFlags(ShowArmor);
|
||||
leftLeg.HandleArmorFlags(ShowArmor);
|
||||
}
|
||||
}
|
||||
public bool ShowTools { get; set; } = false;
|
||||
public bool Animate { get; set; } = true;
|
||||
public bool RenderCape { get; set; } = true;
|
||||
|
||||
@@ -150,6 +150,21 @@ namespace PckStudio.Rendering
|
||||
cubes.RemoveAt(index);
|
||||
}
|
||||
|
||||
public void HandleArmorFlags(bool showArmor)
|
||||
{
|
||||
for (int i = 0; i < cubes.Count; i++)
|
||||
{
|
||||
if (cubes[i] is CubeMesh cubeMesh)
|
||||
{
|
||||
bool hasArmorFlags = cubeMesh.GetCube().ArmorFlags != 0;
|
||||
|
||||
bool visible = !(showArmor && hasArmorFlags);
|
||||
|
||||
cubes[i] = cubes[i].SetVisible(visible);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void ReplaceCube(int index, Vector3 position, Vector3 size, Vector2 uv, float inflate = 0f, bool mirrorTexture = false, int armorFlags = 0)
|
||||
{
|
||||
if (!cubes.IndexInRange(index))
|
||||
|
||||
Reference in New Issue
Block a user