improve create pane content calls with overrides

also fixes a bug where the wrong one was used on accident
This commit is contained in:
OMGeeky
2025-09-23 20:10:30 +02:00
parent 3b99a94654
commit b2003bfc38
3 changed files with 15 additions and 14 deletions

View File

@@ -102,9 +102,10 @@ public class CommonEditor {
super(title, editor, applyToHint, applyToTargetHint);
}
void createHitReceivedEffectPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) {
@Override
public void createPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) {
effect = e;
createHitEffectPaneContent(listener, writable, e);
super.createPaneContent(listener, writable, e);
}
@Override
@@ -168,10 +169,11 @@ public class CommonEditor {
}
}
void createHitEffectPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) {
@Override
public void createPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) {
effect = e;
hitTargetConditionPane.conditionsModel = new TargetTimedConditionsListModel(e);
createDeathEffectPaneContent(listener, writable, e);
super.createPaneContent(listener, writable, e);
}
@Override
@@ -244,8 +246,7 @@ public class CommonEditor {
this.applyToHint = String.format(" (%s)", applyToHint);
}
}
void createDeathEffectPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) {
public void createPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) {
effect = e;
sourceConditionPane.conditionsModel = new SourceTimedConditionsListModel(e);

View File

@@ -161,23 +161,23 @@ public class ItemEditor extends JSONElementEditor {
}
HitEffect hitEffect = Objects.requireNonNullElseGet(item.hit_effect, HitEffect::new);
hitEffectPane.createHitEffectPaneContent(listener, item.writable, hitEffect);
hitEffectPane.createPaneContent(listener, item.writable, hitEffect);
pane.add(hitEffectPane.effectPane, JideBoxLayout.FIX);
DeathEffect killEffect = Objects.requireNonNullElseGet(item.kill_effect, DeathEffect::new);
killEffectPane.createDeathEffectPaneContent(listener, item.writable, killEffect);
killEffectPane.createPaneContent(listener, item.writable, killEffect);
pane.add(killEffectPane.effectPane, JideBoxLayout.FIX);
HitReceivedEffect hitReceivedEffect = Objects.requireNonNullElseGet(item.hit_received_effect, HitReceivedEffect::new);
hitReceivedEffectPane.createHitReceivedEffectPaneContent(listener, item.writable, hitReceivedEffect);
hitReceivedEffectPane.createPaneContent(listener, item.writable, hitReceivedEffect);
pane.add(hitReceivedEffectPane.effectPane, JideBoxLayout.FIX);
HitReceivedEffect missEffect = Objects.requireNonNullElseGet(item.miss_effect, HitReceivedEffect::new);
missEffectPane.createHitEffectPaneContent(listener, item.writable, missEffect);
missEffectPane.createPaneContent(listener, item.writable, missEffect);
pane.add(missEffectPane.effectPane, JideBoxLayout.FIX);
HitReceivedEffect missReceivedEffect = Objects.requireNonNullElseGet(item.miss_received_effect, HitReceivedEffect::new);
missReceivedEffectPane.createHitReceivedEffectPaneContent(listener, item.writable, missReceivedEffect);
missReceivedEffectPane.createPaneContent(listener, item.writable, missReceivedEffect);
pane.add(missReceivedEffectPane.effectPane, JideBoxLayout.FIX);
if (item.category == null || item.category.action_type == null || item.category.action_type == ItemCategory.ActionType.none) {

View File

@@ -150,15 +150,15 @@ public class NPCEditor extends JSONElementEditor {
dmgRes = addIntegerField(combatTraitPane, "Damage resistance: ", npc.damage_resistance, false, npc.writable, listener);
HitEffect hitEffect = Objects.requireNonNullElseGet(npc.hit_effect, HitEffect::new);
hitEffectPane.createHitEffectPaneContent(listener, npc.writable, hitEffect);
hitEffectPane.createPaneContent(listener, npc.writable, hitEffect);
combatTraitPane.add(hitEffectPane.effectPane, JideBoxLayout.FIX);
HitReceivedEffect hitReceivedEffect = Objects.requireNonNullElseGet(npc.hit_received_effect, HitReceivedEffect::new);
hitReceivedEffectPane.createHitReceivedEffectPaneContent(listener, npc.writable, hitReceivedEffect);
hitReceivedEffectPane.createPaneContent(listener, npc.writable, hitReceivedEffect);
combatTraitPane.add(hitReceivedEffectPane.effectPane, JideBoxLayout.FIX);
DeathEffect deathEffect = Objects.requireNonNullElseGet(npc.death_effect, DeathEffect::new);
deathEffectPane.createDeathEffectPaneContent(listener, npc.writable, deathEffect);
deathEffectPane.createPaneContent(listener, npc.writable, deathEffect);
combatTraitPane.add(deathEffectPane.effectPane, JideBoxLayout.FIX);
pane.add(combatTraitPane, JideBoxLayout.FIX);