RuneHive-Game
Loading...
Searching...
No Matches
SteppingStonesInteraction.java
Go to the documentation of this file.
1
package
com.runehive.content.skill.impl.agility.obstacle.impl;
2
3
import
com.runehive.content.skill.impl.agility.obstacle.ObstacleInteraction;
4
import
com.runehive.game.task.Task;
5
import
com.runehive.game.world.World;
6
import
com.runehive.game.world.entity.mob.Direction;
7
import
com.runehive.game.world.entity.mob.player.Player;
8
import
com.runehive.game.world.position.Position;
9
10
public
interface
SteppingStonesInteraction
extends
ObstacleInteraction
{
11
@Override
12
default
void
start
(
Player
player) {
13
}
14
15
@Override
16
default
void
onExecution
(
Player
player,
Position
start
,
Position
end) {
17
int
dX = end.
getX
() - player.
getPosition
().
getX
();
18
int
dY = end.
getY
() - player.
getPosition
().
getY
();
19
int
modX = Integer.signum(dX);
20
int
modY = Integer.signum(dY);
21
int
totalSteps = Math.abs(modX) > Math.abs(modY) ? Math.abs(dX) : Math.abs(dY);
22
23
World
.
schedule
(
new
Task
(
true
,3) {
24
int
steps = 0;
25
26
@Override
27
public
void
execute
() {
28
player.
forceMove
(1,
getAnimation
(), 10, 26,
new
Position
(modX, modY),
Direction
.
WEST
);
29
if
(++steps == totalSteps) {
30
cancel();
31
}
32
}
33
});
34
}
35
36
@Override
37
default
void
onCancellation
(
Player
player) {
38
}
39
}
com.runehive.game.task.Task
A game representing a cyclic unit of work.
Definition
Task.java:11
com.runehive.game.world.World
Represents the game world.
Definition
World.java:46
com.runehive.game.world.World.schedule
static void schedule(Task task)
Submits a new event.
Definition
World.java:247
com.runehive.game.world.entity.Entity.getPosition
Position getPosition()
Definition
Entity.java:40
com.runehive.game.world.entity.mob.Mob.forceMove
void forceMove(int animation, int x, int y)
Definition
Mob.java:255
com.runehive.game.world.entity.mob.player.Player
This class represents a character controlled by a player.
Definition
Player.java:125
com.runehive.game.world.position.Position
Represents a single tile on the game world.
Definition
Position.java:14
com.runehive.game.world.position.Position.getY
int getY()
Gets the absolute y coordinate.
Definition
Position.java:46
com.runehive.game.world.position.Position.getX
int getX()
Gets the absolute x coordinate.
Definition
Position.java:41
com.runehive.game.world.entity.mob.Direction
Represents the enumerated directions an entity can walk or face.
Definition
Direction.java:12
com.runehive.game.world.entity.mob.Direction.WEST
WEST
Definition
Direction.java:19
com.runehive.content.skill.impl.agility.obstacle.ObstacleInteraction
Definition
ObstacleInteraction.java:26
com.runehive.content.skill.impl.agility.obstacle.ObstacleInteraction.getAnimation
int getAnimation()
com.runehive.content.skill.impl.agility.obstacle.ObstacleInteraction.execute
default void execute(Player player, Obstacle next, Position start, Position end, int level, float experience, int ordinal)
Definition
ObstacleInteraction.java:40
com.runehive.content.skill.impl.agility.obstacle.impl.SteppingStonesInteraction
Definition
SteppingStonesInteraction.java:10
com.runehive.content.skill.impl.agility.obstacle.impl.SteppingStonesInteraction.onCancellation
default void onCancellation(Player player)
Definition
SteppingStonesInteraction.java:37
com.runehive.content.skill.impl.agility.obstacle.impl.SteppingStonesInteraction.start
default void start(Player player)
Definition
SteppingStonesInteraction.java:12
com.runehive.content.skill.impl.agility.obstacle.impl.SteppingStonesInteraction.onExecution
default void onExecution(Player player, Position start, Position end)
Definition
SteppingStonesInteraction.java:16