RuneHive-Game
Loading...
Searching...
No Matches
com.runehive.game.engine.sync.ParallelClientSynchronizer Class Reference
Inheritance diagram for com.runehive.game.engine.sync.ParallelClientSynchronizer:
Collaboration diagram for com.runehive.game.engine.sync.ParallelClientSynchronizer:

Public Member Functions

void synchronize (MobList< Player > players, MobList< Npc > npcs)

Private Attributes

final Phaser phaser = new Phaser(1)

Static Private Attributes

static final ExecutorService executor

Detailed Description

Definition at line 12 of file ParallelClientSynchronizer.java.

Member Function Documentation

◆ synchronize()

void com.runehive.game.engine.sync.ParallelClientSynchronizer.synchronize ( MobList< Player > players,
MobList< Npc > npcs )

Implements com.runehive.game.engine.sync.ClientSynchronizer.

Definition at line 20 of file ParallelClientSynchronizer.java.

20 {
21 // npc movement
22/* phaser.bulkRegister(npcs.size());
23 npcs.forEach(npc -> executor.submit(new PhasedUpdateTask(phaser, new NpcPreUpdateTask(npc))));
24 phaser.arriveAndAwaitAdvance();*/
25
26 // player movement
27/* phaser.bulkRegister(players.size());
28 players.forEach(player -> executor.submit(new PhasedUpdateTask(phaser, new PlayerPreUpdateTask(player))));
29 phaser.arriveAndAwaitAdvance();*/
30
31 // player updating
32 phaser.bulkRegister(players.size());
33 players.forEach(player -> executor.submit(new PhasedUpdateTask(phaser, new PlayerUpdateTask(player))));
34 phaser.arriveAndAwaitAdvance();
35
36 // npc updating
37 phaser.bulkRegister(players.size());
38 players.forEach(player -> executor.submit(new PhasedUpdateTask(phaser, new NpcUpdateTask(player))));
39 phaser.arriveAndAwaitAdvance();
40
41 // reset npc
42 phaser.bulkRegister(npcs.size());
43 npcs.forEach(npc -> executor.submit(new PhasedUpdateTask(phaser, new NpcPostUpdateTask(npc))));
44 phaser.arriveAndAwaitAdvance();
45
46 // reset player
47 phaser.bulkRegister(players.size());
48 players.forEach(player -> executor.submit(new PhasedUpdateTask(phaser, new PlayerPostUpdateTask(player))));
49 phaser.arriveAndAwaitAdvance();
50 }

References executor, com.runehive.game.world.entity.MobList< E extends Mob >.forEach(), phaser, and com.runehive.game.world.entity.MobList< E extends Mob >.size.

Here is the call graph for this function:

Member Data Documentation

◆ executor

final ExecutorService com.runehive.game.engine.sync.ParallelClientSynchronizer.executor
staticprivate
Initial value:
= Executors
.newFixedThreadPool(Runtime.getRuntime().availableProcessors())

Definition at line 14 of file ParallelClientSynchronizer.java.

Referenced by synchronize().

◆ phaser

final Phaser com.runehive.game.engine.sync.ParallelClientSynchronizer.phaser = new Phaser(1)
private

Definition at line 17 of file ParallelClientSynchronizer.java.

Referenced by synchronize().


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