Core - Add 'SkinRenderer.LoadSkin' function

This commit is contained in:
miku-666
2025-11-26 09:37:05 +01:00
parent dabc177917
commit 004f9980fa
2 changed files with 13 additions and 17 deletions

View File

@@ -91,23 +91,7 @@ namespace PckStudio.Forms.Editor
private void LoadModelData()
{
SkinModel modelInfo = EditorValue.Model;
List<SkinBOX> boxProperties = modelInfo.AdditionalBoxes;
List<SkinPartOffset> offsetProperties = modelInfo.PartOffsets;
renderer3D1.ANIM = EditorValue.Anim;
renderer3D1.ModelData.Clear();
foreach (SkinBOX box in boxProperties)
{
renderer3D1.ModelData.Add(box);
}
renderer3D1.ResetOffsets();
foreach (SkinPartOffset offset in offsetProperties)
{
renderer3D1.SetPartOffset(offset);
}
renderer3D1?.LoadSkin(EditorValue);
if (EditorValue.Texture is not null)
{

View File

@@ -178,6 +178,18 @@ namespace PckStudio.Rendering
return bmp;
}
public void LoadSkin(Skin skin, Image cape = default)
{
ResetOffsets();
ModelData.Clear();
ANIM = skin.Anim;
Texture = skin.Texture;
CapeTexture = cape;
skin.Model.PartOffsets.ForEach(SetPartOffset);
skin.Model.AdditionalBoxes.ForEach(ModelData.Add);
}
private enum GuidelineMode
{
None = -1,