Non résolu Fermer un Gui en réappuyant sur la touche d'ouverture
-
Bonjour,
je suis conscient que mon problème n’est pas une urgence. Cependant si quelqu’un a une solution ce serait cool. Voila j’ai fait un Gui qui s’ouvre avec la touche “U” et j’aimerais qu’il se ferme avec la même touche. Sauf que je n’y arrive pas pourtant sa a l’air simple. Si quelqu’un a une idée je l’en remercie.
code d’ouverture :
@SubscribeEvent public void onKeyDown(InputEvent.KeyInputEvent event) { if(R6Keys.INSTANCE.getKeyByIndex(0).isPressed()) GlobalUI.displayGui(Minecraft.getMinecraft().player); }
displayGui:
public static void displayGui(EntityPlayerSP player) { if(globalsUi.containsKey(player)) { Minecraft.getMinecraft().displayGuiScreen(globalsUi.get(player)); } else Minecraft.getMinecraft().displayGuiScreen(new GlobalUI(player)); }
PS: j’utilise un Map<EntityPlayer, GlobalUi> mais c’est juste pour moi sa ne change rien je pense.
-
Bonjour,
L’event KeyInputEvent est appelé coté client uniquement, donc c’est pas necessaire de prendre en compte les autres joueurs. Donc pas besoin d’une Map. Ensuite, là si un Gui est déja ouvert, t le réouvre au lieu de le fermer. -
@lebossmax2 Pour la map c’est simplement un design pattern d’Object Pool donc pas de soucis, sinon merci du conseil mais comment savoir si le GUI est ouvert ou fermé ?
-
-
@Helios_38 faits un boolean
-
Merci de ne pas remonter des discussions inactives depuis plus de 2 ans.