Merge pull request #80 from mohlek/feat/apply_multiple_designs

Allow multiple designs to be applied by fixed designs
This commit is contained in:
Ottermandias 2023-01-23 12:05:32 +01:00 committed by GitHub
commit 8940e813ec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -127,15 +127,20 @@ namespace Glamourer.Designs
if (!EnabledDesigns.TryGetValue(name, out var designs)) if (!EnabledDesigns.TryGetValue(name, out var designs))
return; return;
var design = designs.OrderBy(d => d.Jobs.Count).FirstOrDefault(d => d.Jobs.Fits(character.ClassJob.Id)); var applicableDesigns = designs.OrderBy(d => d.Jobs.Count).Where(d => d.Jobs.Fits(character.ClassJob.Id));
if (design == null)
return;
PluginLog.Debug("Redrawing {CharacterName} with {DesignName} for job {JobGroup}.", name, design.Design.FullName(), bool designApplied = false;
design.Jobs.Name); foreach (var design in applicableDesigns) {
design.Design.Data.Apply(character); PluginLog.Debug("Redrawing {CharacterName} with {DesignName} for job {JobGroup}.", name, design.Design.FullName(),
Glamourer.PlayerWatcher.UpdatePlayerWithoutEvent(character); design.Jobs.Name);
Glamourer.Penumbra.RedrawObject(character, RedrawType.Redraw, false); design.Design.Data.Apply(character);
Glamourer.PlayerWatcher.UpdatePlayerWithoutEvent(character);
designApplied = true;
}
if (designApplied) {
Glamourer.Penumbra.RedrawObject(character, RedrawType.Redraw, false);
}
} }
public void Add(string name, Design design, JobGroup group, bool enabled = false) public void Add(string name, Design design, JobGroup group, bool enabled = false)