extract linkIcon

This commit is contained in:
OMGeeky
2025-06-23 15:15:16 +02:00
parent 93f0a902ba
commit 7018703ba6
3 changed files with 9 additions and 10 deletions

View File

@@ -30,7 +30,12 @@ public final class Common {
linkConditions(effect.conditions_source, proj, backlink);
}
}
public static void linkIcon(Project proj, String iconId, GameDataElement backlink) {
if (iconId != null) {
String spritesheetId = iconId.split(":")[0];
proj.getSpritesheet(spritesheetId).addBacklink(backlink);
}
}
public static class TimedActorConditionEffect extends ActorConditionEffect {
//Available from parsed state
public Integer duration = null;

View File

@@ -216,10 +216,7 @@ public class Item extends JSONElement {
return;
}
if (this.icon_id != null) {
String spritesheetId = this.icon_id.split(":")[0];
proj.getSpritesheet(spritesheetId).addBacklink(this);
}
linkIcon(proj, this.icon_id, this);
if (this.category_id != null) this.category = proj.getItemCategory(this.category_id);
if (this.category != null) this.category.addBacklink(this);
if (this.equip_effect != null && this.equip_effect.conditions != null) {
@@ -232,6 +229,7 @@ public class Item extends JSONElement {
this.state = State.linked;
}
@Override
public Image getIcon() {
return getProject().getIcon(icon_id);

View File

@@ -219,11 +219,7 @@ public class NPC extends JSONElement {
Notification.addError("Error linking item " + id + ". No parent project found.");
return;
}
if (this.icon_id != null) {
String spritesheetId = this.icon_id.split(":")[0];
proj.getSpritesheet(spritesheetId).addBacklink(this);
}
linkIcon(proj, this.icon_id, this);
if (this.dialogue_id != null) this.dialogue = proj.getDialogue(this.dialogue_id);
if (this.dialogue != null) this.dialogue.addBacklink(this);