RuneHive-Game
Loading...
Searching...
No Matches
com.runehive.content.dialogue.impl.ClanRankDialogue Class Reference
Inheritance diagram for com.runehive.content.dialogue.impl.ClanRankDialogue:
Collaboration diagram for com.runehive.content.dialogue.impl.ClanRankDialogue:

Public Member Functions

void sendDialogues (DialogueFactory factory)
 Sends a player a dialogue.

Private Member Functions

void setRank (Player player, ClanChannel channel, ClanMember member, ClanRank rank)

Additional Inherited Members

Static Public Member Functions inherited from com.runehive.content.dialogue.Dialogue
static final boolean isDialogueButton (int button)
 Checks if the button triggered is an optional dialogue button.
Static Public Attributes inherited from com.runehive.content.dialogue.Dialogue
static final ImmutableList< Integer > DIALOGUE_BUTTONS = ImmutableList.of(2461, 2471, 2482, 2462, 2472, 2483, 2473, 2484, 2485, 2494, 2495, 2496, 2497, 2498)
 The action buttons responsible for dialogues.

Detailed Description

Definition at line 11 of file ClanRankDialogue.java.

Member Function Documentation

◆ sendDialogues()

void com.runehive.content.dialogue.impl.ClanRankDialogue.sendDialogues ( DialogueFactory factory)

Sends a player a dialogue.

Parameters
factoryThe factory for this dialogue.

Reimplemented from com.runehive.content.dialogue.Dialogue.

Definition at line 14 of file ClanRankDialogue.java.

14 {
15 Player player = factory.getPlayer();
16 ClanChannel channel = player.clanChannel;
17 if (channel == null)
18 return;
19 ClanMember playerMember = channel.getMember(player.getName()).orElse(null);
20 if (playerMember == null || !channel.canManage(playerMember)) {
21 player.send(new SendMessage("You do not have the required rank to do this."));
22 return;
23 }
24 ClanMember member = player.attributes.get("CLAN_RANK_MEMBER", ClanMember.class);
25 if (member == null)
26 return;
27 factory.sendOption("Recruit", () -> factory.onAction(() -> {
28 setRank(player, channel, member, ClanRank.RECRUIT);
29 }), "Corporal", () -> factory.onAction(() -> {
30 setRank(player, channel, member, ClanRank.CORPORAL);
31 }), "Sergeant", () -> factory.onAction(() -> {
32 setRank(player, channel, member, ClanRank.SERGEANT);
33 }), "Lieutenant", () -> factory.onAction(() -> {
34 setRank(player, channel, member, ClanRank.LIEUTENANT);
35 }), "Next", () -> {
36 factory.onAction(() -> {
37 factory.sendOption("Captain", () -> factory.onAction(() -> {
38 setRank(player, player.clanChannel, member, ClanRank.CAPTAIN);
39 }), "General", () -> factory.onAction(() -> {
40 setRank(player, player.clanChannel, member, ClanRank.GENERAL);
41 }), "Nevermind", () -> factory.onAction(factory::clear));
42 });
43 }).execute();
44 }

References com.runehive.game.world.entity.mob.Mob.attributes, com.runehive.content.clanchannel.channel.ClanChannel.canManage(), com.runehive.game.world.entity.mob.player.Player.clanChannel, com.runehive.util.generic.GenericAttributes.get(), com.runehive.content.clanchannel.channel.ClanChannel.getMember(), com.runehive.game.world.entity.mob.player.Player.getName(), com.runehive.content.dialogue.DialogueFactory.getPlayer(), com.runehive.content.dialogue.DialogueFactory.onAction(), com.runehive.game.world.entity.mob.player.Player.send(), and com.runehive.content.dialogue.DialogueFactory.sendOption().

Here is the call graph for this function:

◆ setRank()

void com.runehive.content.dialogue.impl.ClanRankDialogue.setRank ( Player player,
ClanChannel channel,
ClanMember member,
ClanRank rank )
private

Definition at line 46 of file ClanRankDialogue.java.

46 {
47 channel.setRank(member, rank);
48 player.dialogueFactory.sendStatement("You have promoted " + member.name + " to " + rank.getString() + " " + rank.name).execute();
49 player.interfaceManager.close();
50 }

References com.runehive.game.world.entity.mob.player.InterfaceManager.close(), com.runehive.game.world.entity.mob.player.Player.dialogueFactory, com.runehive.content.dialogue.DialogueFactory.execute(), com.runehive.content.clanchannel.ClanRank.getString(), com.runehive.game.world.entity.mob.player.Player.interfaceManager, com.runehive.content.clanchannel.ClanMember.name, com.runehive.content.clanchannel.ClanRank.name, com.runehive.content.dialogue.DialogueFactory.sendStatement(), and com.runehive.content.clanchannel.channel.ClanChannel.setRank().

Here is the call graph for this function:

The documentation for this class was generated from the following file: