RuneHive-Game
Loading...
Searching...
No Matches
com.runehive.game.task.impl.PlayerRemovalTask Class Reference
Inheritance diagram for com.runehive.game.task.impl.PlayerRemovalTask:
Collaboration diagram for com.runehive.game.task.impl.PlayerRemovalTask:

Public Member Functions

 PlayerRemovalTask (Player player, boolean force)
Public Member Functions inherited from com.runehive.game.task.TickableTask
void execute ()
 A function representing the unit of work that will be carried out.
 TickableTask (boolean instant, int delay)
Public Member Functions inherited from com.runehive.game.task.Task
Task attach (Object newKey)
 Attaches a new key.
synchronized final void cancel ()
 Cancels all subsequent executions.
synchronized final void cancel (boolean logout)
 Cancels all subsequent executions.
boolean canRun ()
 Determines if the task can be ran.
Optional< Object > getAttachment ()
String getCreationStackTraceStr ()
int getDelay ()
Long getElapsedTimeFromRunStartTime ()
Optional< Long > getRunStartTime ()
long getTaskCreationTime ()
String getTaskId ()
boolean isInstant ()
boolean isRunning ()
void setDelay (int delay)
 Sets the cyclic delay.
void setExecutionTime ()
 Task (boolean instant, int delay)
 Creates a new Task.
 Task (int delay)
 Creates a new Task that doesn't execute instantly.

Protected Member Functions

void onCancel (boolean logout)
 A function executed on cancellation.
void tick ()
Protected Member Functions inherited from com.runehive.game.task.Task
void baseExecute ()
boolean canSchedule ()
 A function executed on registration.
void onSchedule ()
 A function executed on registration.

Private Attributes

boolean flag
final boolean force
final Player player
final Stopwatch stopwatch = Stopwatch.start()

Additional Inherited Members

Package Functions inherited from com.runehive.game.task.Task
void onException (Exception e)
 A function executed on thrown exceptions.
void onLoop ()
 A function executed when iterated over.
final synchronized void process ()
synchronized void setRunning (boolean running)

Detailed Description

Definition at line 13 of file PlayerRemovalTask.java.

Constructor & Destructor Documentation

◆ PlayerRemovalTask()

com.runehive.game.task.impl.PlayerRemovalTask.PlayerRemovalTask ( Player player,
boolean force )

Definition at line 20 of file PlayerRemovalTask.java.

20 {
21 super(true, 0);
22 this.player = player;
23 this.force = force;
24 }

References force, and player.

Member Function Documentation

◆ onCancel()

void com.runehive.game.task.impl.PlayerRemovalTask.onCancel ( boolean logout)
protected

A function executed on cancellation.

Reimplemented from com.runehive.game.task.Task.

Definition at line 61 of file PlayerRemovalTask.java.

61 {
62 player.unregister();
63 }

References player.

◆ tick()

void com.runehive.game.task.impl.PlayerRemovalTask.tick ( )
protected

Reimplemented from com.runehive.game.task.TickableTask.

Definition at line 27 of file PlayerRemovalTask.java.

27 {
28
29 // wait till player death task is finished
30 if (player.isDead()) {
31 return;
32 }
33
34 // player is in combat for too long
35 if (player.getCombat().isUnderAttack() && stopwatch.elapsedTime(TimeUnit.SECONDS) < 60) {
36 return;
37 }
38
39 // if a player is in an activity they can logout if the activity lets them or unless 60 seconds has elapsed
40 if (Activity.evaluate(player, it -> !it.canLogout(player)) && (Activity.search(player, DuelArenaActivity.class).isPresent() || stopwatch.elapsedTime(TimeUnit.SECONDS) < 60)) {
41 return;
42 }
43
44 if (!flag) {
45 CannonManager.logout(player);
46 com.runehive.content.ai.LazyAIManager.clearPlayerConsent(player.getUsername());
47 PlayerSerializer.save(player);
48 flag = true;
49 return;
50 }
51
52 // make sure the players account has saved first, player saving is on a different thread so its gonna take
53 // a few seconds
54 if (player.saved.get()) {
55 cancel();
56 }
57
58 }

References com.runehive.game.task.Task.cancel(), com.runehive.content.activity.Activity.evaluate(), flag, com.runehive.content.combat.cannon.CannonManager.logout(), player, com.runehive.game.world.entity.mob.player.persist.PlayerSerializer.save(), com.runehive.content.activity.Activity.search(), and stopwatch.

Here is the call graph for this function:

Member Data Documentation

◆ flag

boolean com.runehive.game.task.impl.PlayerRemovalTask.flag
private

Definition at line 18 of file PlayerRemovalTask.java.

Referenced by tick().

◆ force

final boolean com.runehive.game.task.impl.PlayerRemovalTask.force
private

Definition at line 17 of file PlayerRemovalTask.java.

Referenced by PlayerRemovalTask().

◆ player

final Player com.runehive.game.task.impl.PlayerRemovalTask.player
private

Definition at line 15 of file PlayerRemovalTask.java.

Referenced by onCancel(), PlayerRemovalTask(), and tick().

◆ stopwatch

final Stopwatch com.runehive.game.task.impl.PlayerRemovalTask.stopwatch = Stopwatch.start()
private

Definition at line 16 of file PlayerRemovalTask.java.

Referenced by tick().


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