Tweak: В волшебном зеркале теперь можно менять черты внешности (#457)
This commit is contained in:
@@ -291,6 +291,15 @@ public sealed partial class WizardMirrorWindow : DefaultWindow
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endregion Eyes
|
#endregion Eyes
|
||||||
|
|
||||||
|
#region Markings
|
||||||
|
|
||||||
|
CMarkings.OnMarkingAdded += OnMarkingChange;
|
||||||
|
CMarkings.OnMarkingRemoved += OnMarkingChange;
|
||||||
|
CMarkings.OnMarkingColorChange += OnMarkingChange;
|
||||||
|
CMarkings.OnMarkingRankChange += OnMarkingChange;
|
||||||
|
|
||||||
|
#endregion Markings
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Set
|
#region Set
|
||||||
@@ -354,6 +363,15 @@ public sealed partial class WizardMirrorWindow : DefaultWindow
|
|||||||
IsDirty = true;
|
IsDirty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnMarkingChange(MarkingSet markings)
|
||||||
|
{
|
||||||
|
if (Profile is null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Profile = Profile.WithCharacterAppearance(Profile.Appearance.WithMarkings(markings.GetForwardEnumerator().ToList()));
|
||||||
|
IsDirty = true;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Update
|
#region Update
|
||||||
@@ -602,6 +620,18 @@ public sealed partial class WizardMirrorWindow : DefaultWindow
|
|||||||
EyesPicker.SetData(Profile.Appearance.EyeColor);
|
EyesPicker.SetData(Profile.Appearance.EyeColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void UpdateMarkings()
|
||||||
|
{
|
||||||
|
if (Profile == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CMarkings.SetData(Profile.Appearance.Markings, Profile.Species,
|
||||||
|
Profile.Sex, Profile.BodyType, Profile.Appearance.SkinColor, Profile.Appearance.EyeColor
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private void OnSkinColorOnValueChanged()
|
private void OnSkinColorOnValueChanged()
|
||||||
@@ -688,5 +718,6 @@ public sealed partial class WizardMirrorWindow : DefaultWindow
|
|||||||
UpdateCMarkingsFacialHair();
|
UpdateCMarkingsFacialHair();
|
||||||
UpdateTtsVoicesControls();
|
UpdateTtsVoicesControls();
|
||||||
UpdateBodyTypes();
|
UpdateBodyTypes();
|
||||||
|
UpdateMarkings();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,6 +80,12 @@
|
|||||||
<humanoid:SingleMarkingPicker Name="CFacialHairPicker" Category="FacialHair" />
|
<humanoid:SingleMarkingPicker Name="CFacialHairPicker" Category="FacialHair" />
|
||||||
</BoxContainer>
|
</BoxContainer>
|
||||||
</prefUi:HighlightedContainer>
|
</prefUi:HighlightedContainer>
|
||||||
|
<!-- Markings -->
|
||||||
|
<prefUi:HighlightedContainer>
|
||||||
|
<BoxContainer Name="CMarkingsTab" Orientation="Vertical" Margin="10">
|
||||||
|
<humanoid:MarkingPicker Name="CMarkings" IgnoreCategories="Hair,FacialHair" />
|
||||||
|
</BoxContainer>
|
||||||
|
</prefUi:HighlightedContainer>
|
||||||
</BoxContainer>
|
</BoxContainer>
|
||||||
</ScrollContainer>
|
</ScrollContainer>
|
||||||
</DefaultWindow>
|
</DefaultWindow>
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using Content.Server.Humanoid;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Content.Server.Humanoid;
|
||||||
using Content.Server.IdentityManagement;
|
using Content.Server.IdentityManagement;
|
||||||
using Content.Shared._White.Wizard.Mirror;
|
using Content.Shared._White.Wizard.Mirror;
|
||||||
using Content.Shared.Humanoid;
|
using Content.Shared.Humanoid;
|
||||||
@@ -7,7 +9,9 @@ using Content.Shared.Interaction;
|
|||||||
using Content.Shared.Physics;
|
using Content.Shared.Physics;
|
||||||
using Content.Shared.Preferences;
|
using Content.Shared.Preferences;
|
||||||
using Content.Shared.UserInterface;
|
using Content.Shared.UserInterface;
|
||||||
|
using FastAccessors;
|
||||||
using Robust.Server.GameObjects;
|
using Robust.Server.GameObjects;
|
||||||
|
using Robust.Shared.GameObjects;
|
||||||
using Robust.Shared.Player;
|
using Robust.Shared.Player;
|
||||||
|
|
||||||
namespace Content.Server._White.Wizard.Mirror;
|
namespace Content.Server._White.Wizard.Mirror;
|
||||||
@@ -129,6 +133,8 @@ public sealed class WizardMirrorSystem : EntitySystem
|
|||||||
.Appearance.WithFacialHairColor(facialHair.MarkingColors[0]));
|
.Appearance.WithFacialHairColor(facialHair.MarkingColors[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
profile = profile.WithCharacterAppearance(profile.Appearance.WithMarkings(humanoid.MarkingSet.GetForwardEnumerator().ToList()));
|
||||||
|
|
||||||
var state = new WizardMirrorUiState(profile);
|
var state = new WizardMirrorUiState(profile);
|
||||||
|
|
||||||
component.Target = targetUid;
|
component.Target = targetUid;
|
||||||
|
|||||||
Reference in New Issue
Block a user