RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
BankPin.java
1
package
com.osroyale.game.world.items.containers.bank;
2
3
import
com.osroyale.content.dialogue.DialogueFactory;
4
import
com.osroyale.game.world.entity.mob.player.Player;
5
import
com.osroyale.net.packet.out.SendInputMessage;
6
import
com.osroyale.net.packet.out.SendMessage;
7
import
com.osroyale.util.MessageColor;
8
47
48
public
class
BankPin
{
49
51
private
final
Player
player;
52
54
public
String
pin
;
55
57
public
boolean
entered
=
false
;
58
60
public
BankPin
(
Player
player) {
61
this.player = player;
62
}
63
65
public
void
open
() {
66
DialogueFactory
factory = player.dialogueFactory;
67
factory.
sendOption
(
"Set Bank Pin"
, () ->
set
(factory),
"Remove Bank Pin"
, () ->
remove
(factory),
"Nevermind"
, factory::clear);
68
factory.
execute
();
69
}
70
71
private
void
set
(
DialogueFactory
factory) {
72
factory.sendStatement(
"Enter a 4-5 digit pin for your bank."
,
"Make sure to write it down!"
).onAction(() -> {
73
player.send(
new
SendInputMessage
(
"Enter the pin you would like to assign your bank:"
, 5, input -> {
74
if
(input.length() < 4 || input.length() > 5) {
75
player.send(
new
SendMessage
(
"Your pin must have 4-5 digits."
,
MessageColor
.RED));
76
return
;
77
}
78
79
pin
= input;
80
entered
=
true
;
81
player.send(
new
SendMessage
(
"Your new bank pin is now: "
+
pin
+
". Write it down!"
, MessageColor.BLUE));
82
factory.clear();
83
}));
84
}).execute();
85
}
86
87
private
void
remove
(DialogueFactory factory) {
88
factory.onAction(() -> {
89
if
(!
hasPin
()) {
90
player.send(
new
SendMessage(
"You don't have a pin set!"
));
91
factory.clear();
92
return
;
93
}
94
player.send(
new
SendInputMessage(
"Enter your bank pin:"
, 5, input -> {
95
if
(!
pin
.equalsIgnoreCase(input)) {
96
player.send(
new
SendMessage(
"You have entered an invalid bank pin!"
, MessageColor.RED));
97
factory.clear();
98
return
;
99
}
100
101
pin
=
null
;
102
player.send(
new
SendMessage(
"You have successfully removed your bank pin."
, MessageColor.BLUE));
103
factory.clear();
104
}));
105
});
106
107
}
108
110
public
void
enter
() {
111
player.send(
new
SendInputMessage
(
"Enter your bank pin:"
, 5, input -> {
112
113
if
(!
pin
.equalsIgnoreCase(input)) {
114
player.dialogueFactory.sendStatement(
"You have entered an invalid bank pin!"
).execute();
115
return
;
116
}
117
118
entered
=
true
;
119
player.send(
new
SendMessage
(
"You have successfully entered your bank pin. You can access your bank for this session."
,
MessageColor
.BLUE));
120
player.bank.open();
121
}));
122
}
123
125
public
boolean
hasPin
() {
126
return
pin
!=
null
;
127
}
128
}
com.osroyale.content.dialogue.DialogueFactory
Definition
DialogueFactory.java:56
com.osroyale.content.dialogue.DialogueFactory.sendOption
final DialogueFactory sendOption(String option1, Runnable action1, String option2, Runnable action2)
Definition
DialogueFactory.java:413
com.osroyale.content.dialogue.DialogueFactory.execute
final DialogueFactory execute()
Definition
DialogueFactory.java:196
com.osroyale.game.world.entity.mob.player.Player
Definition
Player.java:162
com.osroyale.game.world.items.containers.bank.BankPin.entered
boolean entered
Definition
BankPin.java:57
com.osroyale.game.world.items.containers.bank.BankPin.BankPin
BankPin(Player player)
Definition
BankPin.java:60
com.osroyale.game.world.items.containers.bank.BankPin.open
void open()
Definition
BankPin.java:65
com.osroyale.game.world.items.containers.bank.BankPin.pin
String pin
Definition
BankPin.java:54
com.osroyale.game.world.items.containers.bank.BankPin.enter
void enter()
Definition
BankPin.java:110
com.osroyale.game.world.items.containers.bank.BankPin.hasPin
boolean hasPin()
Definition
BankPin.java:125
com.osroyale.net.packet.out.SendInputMessage
Definition
SendInputMessage.java:40
com.osroyale.net.packet.out.SendMessage
Definition
SendMessage.java:38
com.osroyale.util.MessageColor
Definition
MessageColor.java:43