diff --git a/src/main/java/fr/hashtek/spigot/breakffa/gui/cosmetics/GuiCosmeticBuy.java b/src/main/java/fr/hashtek/spigot/breakffa/gui/cosmetics/GuiCosmeticBuy.java index 74c5ae6..fc03eed 100644 --- a/src/main/java/fr/hashtek/spigot/breakffa/gui/cosmetics/GuiCosmeticBuy.java +++ b/src/main/java/fr/hashtek/spigot/breakffa/gui/cosmetics/GuiCosmeticBuy.java @@ -61,9 +61,16 @@ public HashItem getItem() private final CosmeticManager.CurrentCosmeticSetter> currentCosmeticSetter; + /** + * Creates a new instance of GuiCosmeticBuy. + * + * @param parentGui Parent Gui (instance of {@link GuiCosmeticsCategory}) + * @param cosmetic Cosmetic to buy + * @param ownedCosmeticsGetter Owned cosmetics getter (from a {@link CosmeticManager} instance) + * @param currentCosmeticSetter Current cosmetic setter (from a {@link CosmeticManager} instance) + */ public GuiCosmeticBuy( GuiCosmeticsCategory parentGui, - CosmeticManager cosmeticManager, Cosmetic cosmetic, CosmeticManager.OwnedCosmeticsGetter> ownedCosmeticsGetter, CosmeticManager.CurrentCosmeticSetter> currentCosmeticSetter @@ -80,6 +87,11 @@ public GuiCosmeticBuy( } + /** + * Creates the Gui. + * + * @param cosmetic Cosmetic to buy + */ private void createGui(Cosmetic cosmetic) { final HashItem cosmeticItem = new HashItem(cosmetic.getMaterial()) @@ -105,6 +117,7 @@ private void createGui(Cosmetic cosmetic) final CosmeticManager playerCosmeticManager = MAIN.getGameManager().getPlayerManager(player).getCosmeticManager(); + /* Unlocks the cosmetic for the player. */ gui.getOwnedCosmeticsGetter().getOwnedGetter(playerCosmeticManager).get().add(cosmeticToBuy); } )) @@ -136,6 +149,10 @@ private void createGui(Cosmetic cosmetic) mask.apply(); } + /** + * @param action Action to execute before returning to the Parent Gui + * @return Action that returns to the Parent Gui. + */ private ClickAction returnToParentGui(ClickAction action) { return (Player player, HashGui hashGui, ItemStack item, int slot) -> { @@ -160,22 +177,34 @@ private ClickAction returnToParentGui(ClickAction action) }; } + /** + * @return Action that returns to the Parent Gui, without custom action before. + */ private ClickAction returnToParentGui() { return this.returnToParentGui(null); } + /** + * @return Parent Gui (instance of {@link GuiCosmeticsCategory}) + */ public GuiCosmeticsCategory getParentGui() { return this.parentGui; } + /** + * @return Cosmetic to buy + */ public Cosmetic getCosmetic() { return this.cosmetic; } + /** + * @return Owned cosmetics getter (from a {@link CosmeticManager} instance) + */ public CosmeticManager.OwnedCosmeticsGetter> getOwnedCosmeticsGetter() { return this.ownedCosmeticsGetter; diff --git a/src/main/java/fr/hashtek/spigot/breakffa/gui/cosmetics/GuiCosmeticsCategory.java b/src/main/java/fr/hashtek/spigot/breakffa/gui/cosmetics/GuiCosmeticsCategory.java index ff305bb..f11d137 100644 --- a/src/main/java/fr/hashtek/spigot/breakffa/gui/cosmetics/GuiCosmeticsCategory.java +++ b/src/main/java/fr/hashtek/spigot/breakffa/gui/cosmetics/GuiCosmeticsCategory.java @@ -45,17 +45,17 @@ public abstract class GuiCosmeticsCategory< * @param playerCosmeticManager Player Cosmetic Manager * @param attributes Category attributes * @param cosmetics Cosmetic class - * @param ownedCosmeticsGetter Cosmetics that player currently owns Getter - * @param cosmeticGetter Cosmetic getter (from a CosmeticManager instance) - * @param cosmeticSetter Cosmetic setter (from a CosmeticManager instance) + * @param ownedCosmeticsGetter Owned cosmetics getter (from a {@link CosmeticManager} instance) + * @param currentCosmeticGetter Current cosmetic getter (from a {@link CosmeticManager} instance) + * @param currentCosmeticSetter Current cosmetic setter (from a {@link CosmeticManager} instance) */ public GuiCosmeticsCategory( CosmeticManager playerCosmeticManager, GuiCosmeticsCategoryAttributes attributes, Class cosmetics, CosmeticManager.OwnedCosmeticsGetter> ownedCosmeticsGetter, - CosmeticManager.CurrentCosmeticGetter> cosmeticGetter, - CosmeticManager.CurrentCosmeticSetter> cosmeticSetter + CosmeticManager.CurrentCosmeticGetter> currentCosmeticGetter, + CosmeticManager.CurrentCosmeticSetter> currentCosmeticSetter ) { super( @@ -69,8 +69,8 @@ public GuiCosmeticsCategory( this.cosmetics = cosmetics; this.ownedCosmeticsGetter = ownedCosmeticsGetter; - this.currentCosmeticGetter = cosmeticGetter; - this.currentCosmeticSetter = cosmeticSetter; + this.currentCosmeticGetter = currentCosmeticGetter; + this.currentCosmeticSetter = currentCosmeticSetter; this.initializeGui(this.getCategoryTitleItem()); this.reloadGui( @@ -129,8 +129,8 @@ private void initializeGui(HashItem titleItem) /** * Reloads the Gui. Used at each current cosmetic change. * - * @param gui Gui to update - * @param manager Cosmetic Manager + * @param gui Gui to update + * @param manager Cosmetic Manager */ public void reloadGui( GuiCosmeticsCategory gui, @@ -145,8 +145,8 @@ public void reloadGui( * Creates an item for a cosmetic, with the click handlers for buy, * select etc... * - * @param cosmetic Cosmetic to add - * @param manager Cosmetic Manager (for current / possession detection) + * @param cosmetic Cosmetic to add + * @param manager Cosmetic Manager (for current / possession detection) * @return Built item */ private HashItem createCosmeticItem( @@ -190,7 +190,6 @@ private HashItem createCosmeticItem( if (!gui.getOwnedCosmeticsGetter().getOwnedGetter(playerCosmeticManager).get().contains(cosmetic)) { new GuiCosmeticBuy( gui, - playerCosmeticManager, cosmetic, gui.getOwnedCosmeticsGetter(), gui.getCurrentCosmeticSetter() @@ -213,8 +212,8 @@ private HashItem createCosmeticItem( /** * Adds a cosmetic to the Gui. * - * @param cosmetic Cosmetic to add - * @param manager Cosmetic Manager (for current / possession detection) + * @param cosmetic Cosmetic to add + * @param manager Cosmetic Manager (for current / possession detection) * * @apiNote TODO: Finish this and beautify ! */ @@ -245,10 +244,7 @@ private void addCosmeticsItems( ) { for (E enumConstant : enumClass.getEnumConstants()) { - this.addCosmeticItem( - enumConstant.getCosmetic(), - manager - ); + this.addCosmeticItem(enumConstant.getCosmetic(), manager); } } @@ -260,6 +256,9 @@ private void addCosmeticsItems( */ public abstract HashItem getCategoryTitleItem(); + /** + * @return Gui's attributes + */ public GuiCosmeticsCategoryAttributes getAttributes() { return this.attributes; @@ -273,16 +272,25 @@ public Class getCosmeticsClass() return this.cosmetics; } + /** + * @return Owned cosmetics getter (from a {@link CosmeticManager} instance) + */ public CosmeticManager.OwnedCosmeticsGetter> getOwnedCosmeticsGetter() { return this.ownedCosmeticsGetter; } + /** + * @return Current cosmetic getter (from a {@link CosmeticManager} instance) + */ public CosmeticManager.CurrentCosmeticGetter> getCurrentCosmeticGetter() { return this.currentCosmeticGetter; } + /** + * @return Current cosmetic setter (from a {@link CosmeticManager} instance) + */ public CosmeticManager.CurrentCosmeticSetter> getCurrentCosmeticSetter() { return this.currentCosmeticSetter;