diff --git a/src/main/java/org/terasology/module/inventory/ui/ContainerScreen.java b/src/main/java/org/terasology/module/inventory/ui/ContainerScreen.java index c88395b56..bef599bd5 100644 --- a/src/main/java/org/terasology/module/inventory/ui/ContainerScreen.java +++ b/src/main/java/org/terasology/module/inventory/ui/ContainerScreen.java @@ -14,6 +14,7 @@ import org.terasology.nui.widgets.UILabel; /** + * A UI screen to show a container inventory next to the player's inventory. */ public class ContainerScreen extends CoreScreenLayer { @@ -23,8 +24,6 @@ public class ContainerScreen extends CoreScreenLayer { @In private TranslationSystem i18n; - private InventoryGrid containerInventory; - @Override public void initialise() { InventoryGrid inventory = find("inventory", InventoryGrid.class); @@ -37,19 +36,18 @@ public EntityRef get() { inventory.setCellOffset(10); UILabel containerTitle = find("containerTitle", UILabel.class); - containerInventory = find("container", InventoryGrid.class); + InventoryGrid containerInventory = find("container", InventoryGrid.class); - EntityRef characterEntity = localPlayer.getCharacterEntity(); containerInventory.bindTargetEntity(new ReadOnlyBinding() { @Override public EntityRef get() { - return characterEntity.getComponent(CharacterComponent.class).predictedInteractionTarget; + return getPredictedInteractionTarget(); } }); containerTitle.bindText(new ReadOnlyBinding() { @Override public String get() { - Prefab parentPrefab = characterEntity.getComponent(CharacterComponent.class).predictedInteractionTarget.getParentPrefab(); + Prefab parentPrefab = getPredictedInteractionTarget().getParentPrefab(); DisplayNameComponent displayName = parentPrefab.getComponent(DisplayNameComponent.class); if (displayName != null) { // The display name may contain a translatable string reference, thus we attempt to get the translation. @@ -63,6 +61,14 @@ public String get() { }); } + /** + * Retrieve the predicted interaction target entity for the local player. + */ + private EntityRef getPredictedInteractionTarget() { + EntityRef characterEntity = localPlayer.getCharacterEntity(); + return characterEntity.getComponent(CharacterComponent.class).predictedInteractionTarget; + } + @Override public boolean isModal() { return false;