RuneHive-Game
Loading...
Searching...
No Matches
KeyPacketEvent.kt
Go to the documentation of this file.
1package org.jire.runehiveps.event.widget
2
3import com.runehive.game.world.entity.mob.data.PacketType
4import com.runehive.game.world.entity.mob.player.Player
5import java.awt.event.KeyEvent
6
7/**
8 * @author Jire
9 */
10class KeyPacketEvent(val key: Int) : WidgetEvent {
11
12 override fun canHandle(player: Player) = key >= 0 && !player.locking.locked(PacketType.KEY)
13
14 override fun handle(player: Player) {
15 when (key) {
16 KeyEvent.VK_ESCAPE -> if (player.settings.ESC_CLOSE) {
17 player.interfaceManager.close()
18 }
19
20 KeyEvent.VK_SPACE -> if (player.dialogueFactory.isActive) {
21 player.dialogueFactory.execute()
22 }
23
24 KeyEvent.VK_1, KeyEvent.VK_NUMPAD1 -> if (player.dialogueFactory.isActive) {
25 if (player.optionDialogue.isPresent) {
26 player.dialogueFactory.executeOption(0, player.optionDialogue)
27 return
28 }
29 }
30
31 KeyEvent.VK_2, KeyEvent.VK_NUMPAD2 -> if (player.dialogueFactory.isActive) {
32 if (player.optionDialogue.isPresent) {
33 player.dialogueFactory.executeOption(1, player.optionDialogue)
34 return
35 }
36 }
37
38 KeyEvent.VK_3, KeyEvent.VK_NUMPAD3 -> if (player.dialogueFactory.isActive) {
39 if (player.optionDialogue.isPresent) {
40 player.dialogueFactory.executeOption(2, player.optionDialogue)
41 return
42 }
43 }
44
45 KeyEvent.VK_4, KeyEvent.VK_NUMPAD4 -> if (player.dialogueFactory.isActive) {
46 if (player.optionDialogue.isPresent) {
47 player.dialogueFactory.executeOption(3, player.optionDialogue)
48 return
49 }
50 }
51
52 KeyEvent.VK_5, KeyEvent.VK_NUMPAD5 -> if (player.dialogueFactory.isActive) {
53 if (player.optionDialogue.isPresent) {
54 player.dialogueFactory.executeOption(4, player.optionDialogue)
55 return
56 }
57 }
58 }
59 }
60
61}