RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
TestCutscene.java
1package com.osroyale.content.activity.impl.cutscene;
2
3import com.osroyale.content.activity.ActivityType;
4import com.osroyale.game.world.World;
5import com.osroyale.game.world.entity.mob.player.Player;
6import com.osroyale.game.world.position.Position;
7
8public class TestCutscene extends CutsceneActivity {
9
10 private static final Position CUTSCENE_POSITION = new Position(3222, 3222, 0);
11
12 private TestCutscene(Player player) {
13 super(player, 1, true);
14 }
15
16 public static TestCutscene create(Player player) {
17 TestCutscene cutscene = new TestCutscene(player);
18 cutscene.add(player);
19 cutscene.resetCooldown();
20 return cutscene;
21 }
22
23 @Override
24 protected void onFadeIn() {
25 spawnNpc(1, CUTSCENE_POSITION.transform(2, 0, 0));
26
27 runStages();
28 }
29
30 private void runStages() {
31 runStage(0);
32 }
33
34 private void runStage(int stage) {
35 switch (stage) {
36 case 0:
37 dialogue("Welcome to the test cutscene!");
38 World.schedule(3, () -> runStage(1));
39 break;
40 case 1:
41 npcDialogue(1, "Hello there!", "This is a test of the cutscene system.");
42 World.schedule(4, () -> runStage(2));
43 break;
44 case 2:
45 playerDialogue("Wow, this is amazing!");
46 World.schedule(4, () -> runStage(3));
47 break;
48 case 3:
49 moveCamera(player.getPosition().transform(5, 5, 0), 100, 0);
50 World.schedule(3, () -> runStage(4));
51 break;
52 case 4:
53 dialogue("The camera has moved!", "Let's shake it a bit...");
54 World.schedule(4, () -> runStage(5));
55 break;
56 case 5:
57 shakeCamera(2, 2);
58 World.schedule(3, () -> runStage(6));
59 break;
60 case 6:
61 resetCamera();
62 dialogue("And that's the end of our test cutscene!");
63 World.schedule(4, () -> finish());
64 break;
65 }
66 }
67
68 @Override
69 protected Position getStartPosition() {
70 return CUTSCENE_POSITION;
71 }
72
73 @Override
74 protected void start() {
75 super.start();
76 }
77
78 @Override
79 public void cleanup() {
80 super.cleanup();
81 }
82
83 @Override
84 public ActivityType getType() {
85 return ActivityType.CUTSCENE;
86 }
87}