Convert game thread events to singletons (#794)

* Convert game thread events to singletons

* Fix checkstyle

* Fix copy paste error
This commit is contained in:
Owain van Brakel
2019-06-28 22:11:57 +02:00
committed by James
parent 23f6463024
commit 38d9800d10
102 changed files with 756 additions and 220 deletions

View File

@@ -186,7 +186,7 @@ public abstract class RSActorMixin implements RSActor
@Inject
public void animationChanged(int idx)
{
AnimationChanged animationChange = new AnimationChanged();
AnimationChanged animationChange = AnimationChanged.INSTANCE;
animationChange.setActor(this);
client.getCallbacks().post(animationChange);
}
@@ -195,7 +195,7 @@ public abstract class RSActorMixin implements RSActor
@Inject
public void spotAnimationChanged(int idx)
{
SpotAnimationChanged spotAnimationChanged = new SpotAnimationChanged();
SpotAnimationChanged spotAnimationChanged = SpotAnimationChanged.INSTANCE;
spotAnimationChanged.setActor(this);
client.getCallbacks().post(spotAnimationChanged);
}
@@ -204,7 +204,9 @@ public abstract class RSActorMixin implements RSActor
@Inject
public void interactingChanged(int idx)
{
InteractingChanged interactingChanged = new InteractingChanged(this, getInteracting());
InteractingChanged interactingChanged = InteractingChanged.INSTANCE;
interactingChanged.setSource(this);
interactingChanged.setTarget(getInteracting());
client.getCallbacks().post(interactingChanged);
}
@@ -215,7 +217,10 @@ public abstract class RSActorMixin implements RSActor
String overheadText = getOverheadText();
if (overheadText != null)
{
OverheadTextChanged overheadTextChanged = new OverheadTextChanged(this, overheadText);
OverheadTextChanged overheadTextChanged = OverheadTextChanged.INSTANCE;
overheadTextChanged.setActor(this);
overheadTextChanged.setOverheadText(overheadText);
client.getCallbacks().post(overheadTextChanged);
}
}
@@ -251,7 +256,7 @@ public abstract class RSActorMixin implements RSActor
{
client.getLogger().debug("You died!");
LocalPlayerDeath event = new LocalPlayerDeath();
LocalPlayerDeath event = LocalPlayerDeath.INSTANCE;
client.getCallbacks().post(event);
}
else if (this instanceof RSNPC)
@@ -278,7 +283,7 @@ public abstract class RSActorMixin implements RSActor
public void applyActorHitsplat(int type, int value, int var3, int var4, int gameCycle, int duration)
{
final Hitsplat hitsplat = new Hitsplat(Hitsplat.HitsplatType.fromInteger(type), value, gameCycle + duration);
final HitsplatApplied event = new HitsplatApplied();
final HitsplatApplied event = HitsplatApplied.INSTANCE;
event.setActor(this);
event.setHitsplat(hitsplat);
client.getCallbacks().post(event);

View File

@@ -27,7 +27,8 @@ public abstract class RSClanChatMixin implements RSClanChat
return;
}
ClanMemberJoined event = new ClanMemberJoined(member);
ClanMemberJoined event = ClanMemberJoined.INSTANCE;
event.setMember(member);
client.getCallbacks().postDeferred(event);
}
@@ -41,7 +42,8 @@ public abstract class RSClanChatMixin implements RSClanChat
return;
}
ClanMemberLeft event = new ClanMemberLeft(member);
ClanMemberLeft event = ClanMemberLeft.INSTANCE;
event.setMember(member);
client.getCallbacks().postDeferred(event);
}
}

View File

@@ -867,7 +867,7 @@ public abstract class RSClientMixin implements RSClient
@Inject
public static void draggingWidgetChanged(int idx)
{
DraggingWidgetChanged draggingWidgetChanged = new DraggingWidgetChanged();
DraggingWidgetChanged draggingWidgetChanged = DraggingWidgetChanged.INSTANCE;
draggingWidgetChanged.setDraggingWidget(client.isDraggingWidget());
client.getCallbacks().post(draggingWidgetChanged);
}
@@ -905,7 +905,7 @@ public abstract class RSClientMixin implements RSClient
if (loaded)
{
WidgetLoaded event = new WidgetLoaded();
WidgetLoaded event = WidgetLoaded.INSTANCE;
event.setGroupId(groupId);
client.getCallbacks().post(event);
}
@@ -937,7 +937,7 @@ public abstract class RSClientMixin implements RSClient
@Inject
public static void experiencedChanged(int idx)
{
ExperienceChanged experienceChanged = new ExperienceChanged();
ExperienceChanged experienceChanged = ExperienceChanged.INSTANCE;
Skill[] possibleSkills = Skill.values();
// We subtract one here because 'Overall' isn't considered a skill that's updated.
@@ -958,7 +958,7 @@ public abstract class RSClientMixin implements RSClient
if (idx >= 0 && idx < skills.length - 1)
{
Skill updatedSkill = skills[idx];
BoostedLevelChanged boostedLevelChanged = new BoostedLevelChanged();
BoostedLevelChanged boostedLevelChanged = BoostedLevelChanged.INSTANCE;
boostedLevelChanged.setSkill(updatedSkill);
client.getCallbacks().post(boostedLevelChanged);
}
@@ -977,7 +977,7 @@ public abstract class RSClientMixin implements RSClient
client.getPlayerMenuTypes()[idx] = playerAction.getId();
}
PlayerMenuOptionsChanged optionsChanged = new PlayerMenuOptionsChanged();
PlayerMenuOptionsChanged optionsChanged = PlayerMenuOptionsChanged.INSTANCE;
optionsChanged.setIndex(idx);
client.getCallbacks().post(optionsChanged);
}
@@ -986,7 +986,7 @@ public abstract class RSClientMixin implements RSClient
@Inject
public static void gameStateChanged(int idx)
{
GameStateChanged gameStateChange = new GameStateChanged();
GameStateChanged gameStateChange = GameStateChanged.INSTANCE;
gameStateChange.setGameState(client.getGameState());
client.getCallbacks().post(gameStateChange);
}
@@ -1007,7 +1007,9 @@ public abstract class RSClientMixin implements RSClient
{
npc.setIndex(idx);
client.getCallbacks().postDeferred(new NpcSpawned(npc));
NpcSpawned npcSpawned = NpcSpawned.INSTANCE;
npcSpawned.setNpc(npc);
client.getCallbacks().postDeferred(npcSpawned);
}
}
@@ -1027,11 +1029,15 @@ public abstract class RSClientMixin implements RSClient
if (oldPlayer != null)
{
client.getCallbacks().post(new PlayerDespawned(oldPlayer));
PlayerDespawned playerDespawned = PlayerDespawned.INSTANCE;
playerDespawned.setPlayer(oldPlayer);
client.getCallbacks().post(playerDespawned);
}
if (player != null)
{
client.getCallbacks().postDeferred(new PlayerSpawned(player));
PlayerSpawned playerSpawned = PlayerSpawned.INSTANCE;
playerSpawned.setPlayer(player);
client.getCallbacks().postDeferred(playerSpawned);
}
}
@@ -1051,7 +1057,7 @@ public abstract class RSClientMixin implements RSClient
return;
}
GrandExchangeOfferChanged offerChangedEvent = new GrandExchangeOfferChanged();
GrandExchangeOfferChanged offerChangedEvent = GrandExchangeOfferChanged.INSTANCE;
offerChangedEvent.setOffer(internalOffer);
offerChangedEvent.setSlot(idx);
client.getCallbacks().post(offerChangedEvent);
@@ -1061,7 +1067,7 @@ public abstract class RSClientMixin implements RSClient
@Inject
public static void settingsChanged(int idx)
{
VarbitChanged varbitChanged = new VarbitChanged();
VarbitChanged varbitChanged = VarbitChanged.INSTANCE;
varbitChanged.setIndex(idx);
client.getCallbacks().post(varbitChanged);
}
@@ -1075,7 +1081,7 @@ public abstract class RSClientMixin implements RSClient
if (oldIsResized != isResized)
{
ResizeableChanged resizeableChanged = new ResizeableChanged();
ResizeableChanged resizeableChanged = ResizeableChanged.INSTANCE;
resizeableChanged.setResized(isResized);
client.getCallbacks().post(resizeableChanged);
@@ -1087,7 +1093,9 @@ public abstract class RSClientMixin implements RSClient
@Inject
public static void clanMemberManagerChanged(int idx)
{
client.getCallbacks().post(new ClanChanged(client.getClanMemberManager() != null));
ClanChanged event = ClanChanged.INSTANCE;
event.setJoined(client.getClanMemberManager() != null);
client.getCallbacks().post(event);
}
@FieldHook("canvasWidth")
@@ -1271,7 +1279,7 @@ public abstract class RSClientMixin implements RSClient
@Inject
public static void onUsernameChanged(int idx)
{
client.getCallbacks().post(new UsernameChanged());
client.getCallbacks().post(UsernameChanged.INSTANCE);
}
@Override
@@ -1300,7 +1308,7 @@ public abstract class RSClientMixin implements RSClient
@MethodHook("openMenu")
public void menuOpened(int var1, int var2)
{
final MenuOpened event = new MenuOpened();
final MenuOpened event = MenuOpened.INSTANCE;
event.setMenuEntries(getMenuEntries());
callbacks.post(event);
}
@@ -1513,7 +1521,7 @@ public abstract class RSClientMixin implements RSClient
@FieldHook("cycleCntr")
public static void onCycleCntrChanged(int idx)
{
client.getCallbacks().post(new ClientTick());
client.getCallbacks().post(ClientTick.INSTANCE);
}
@Copy("shouldLeftClickOpenMenu")
@@ -1530,7 +1538,7 @@ public abstract class RSClientMixin implements RSClient
return true;
}
MenuShouldLeftClick menuShouldLeftClick = new MenuShouldLeftClick();
MenuShouldLeftClick menuShouldLeftClick = MenuShouldLeftClick.INSTANCE;
client.getCallbacks().post(menuShouldLeftClick);
if (menuShouldLeftClick.isForceRightClick())

View File

@@ -18,7 +18,8 @@ public abstract class RSFriendSystemMixin implements RSFriendSystem
@Inject
public void rl$removeFriend(String friendName)
{
RemovedFriend removedFriend = new RemovedFriend(friendName);
RemovedFriend removedFriend = RemovedFriend.INSTANCE;
removedFriend.setName(friendName);
client.getCallbacks().post(removedFriend);
}
}

View File

@@ -17,7 +17,8 @@ public abstract class RSGraphicsObjectMixin implements RSGraphicsObject
@Inject
RSGraphicsObjectMixin()
{
final GraphicsObjectCreated event = new GraphicsObjectCreated(this);
final GraphicsObjectCreated event = GraphicsObjectCreated.INSTANCE;
event.setGraphicsObject(this);
client.getCallbacks().post(event);
}

View File

@@ -66,7 +66,12 @@ public abstract class RSGroundItemMixin implements RSGroundItem
{
client.getLogger().debug("Item quantity changed: {} ({} -> {})", getId(), getQuantity(), quantity);
ItemQuantityChanged itemQuantityChanged = new ItemQuantityChanged(this, getTile(), getQuantity(), quantity);
ItemQuantityChanged itemQuantityChanged = ItemQuantityChanged.INSTANCE;
itemQuantityChanged.setItem(this);
itemQuantityChanged.setTile(getTile());
itemQuantityChanged.setOldQuantity(getQuantity());
itemQuantityChanged.setNewQuantity(quantity);
client.getCallbacks().post(itemQuantityChanged);
}
}

View File

@@ -19,7 +19,7 @@ public abstract class RSHealthBarDefinitionMixin implements RSHealthBarDefinitio
@Inject
public void onRead(RSBuffer buffer)
{
PostHealthBar postHealthBar = new PostHealthBar();
PostHealthBar postHealthBar = PostHealthBar.INSTANCE;
postHealthBar.setHealthBar(this);
client.getCallbacks().post(postHealthBar);
}

View File

@@ -75,7 +75,8 @@ public abstract class RSItemContainerMixin implements RSItemContainer
rl$lastCycle = cycle;
ItemContainerChanged event = new ItemContainerChanged(this);
ItemContainerChanged event = ItemContainerChanged.INSTANCE;
event.setItemContainer(this);
client.getCallbacks().postDeferred(event);
}

View File

@@ -60,7 +60,7 @@ public abstract class RSItemDefinitionMixin implements RSItemDefinition
@MethodHook(value = "post", end = true)
public void post()
{
final PostItemDefinition event = new PostItemDefinition();
final PostItemDefinition event = PostItemDefinition.INSTANCE;
event.setItemDefinition(this);
client.getCallbacks().post(event);
}

View File

@@ -42,7 +42,7 @@ public abstract class RSNPCDefinitionMixin implements RSNPCDefinition
@Inject
public void actionsHook(int idx)
{
NpcActionChanged npcActionChanged = new NpcActionChanged();
NpcActionChanged npcActionChanged = NpcActionChanged.INSTANCE;
npcActionChanged.setNpcDefinition(this);
npcActionChanged.setIdx(idx);
client.getCallbacks().post(npcActionChanged);

View File

@@ -109,7 +109,9 @@ public abstract class RSNPCMixin implements RSNPC
{
if (composition == null)
{
client.getCallbacks().post(new NpcDespawned(this));
NpcDespawned event = NpcDespawned.INSTANCE;
event.setNpc(this);
client.getCallbacks().post(event);
}
}

View File

@@ -46,7 +46,7 @@ public abstract class RSProjectileMixin implements RSProjectile
@Inject
RSProjectileMixin()
{
final ProjectileSpawned projectileSpawned = new ProjectileSpawned();
final ProjectileSpawned projectileSpawned = ProjectileSpawned.INSTANCE;
projectileSpawned.setProjectile(this);
client.getCallbacks().post(projectileSpawned);
}
@@ -105,7 +105,7 @@ public abstract class RSProjectileMixin implements RSProjectile
public void projectileMoved(int targetX, int targetY, int targetZ, int cycle)
{
final LocalPoint position = new LocalPoint(targetX, targetY);
final ProjectileMoved projectileMoved = new ProjectileMoved();
final ProjectileMoved projectileMoved = ProjectileMoved.INSTANCE;
projectileMoved.setProjectile(this);
projectileMoved.setPosition(position);
projectileMoved.setZ(targetZ);

View File

@@ -126,21 +126,21 @@ public abstract class RSTileMixin implements RSTile
if (current == null && previous != null)
{
WallObjectDespawned wallObjectDespawned = new WallObjectDespawned();
WallObjectDespawned wallObjectDespawned = WallObjectDespawned.INSTANCE;
wallObjectDespawned.setTile(this);
wallObjectDespawned.setWallObject(previous);
client.getCallbacks().post(wallObjectDespawned);
}
else if (current != null && previous == null)
{
WallObjectSpawned wallObjectSpawned = new WallObjectSpawned();
WallObjectSpawned wallObjectSpawned = WallObjectSpawned.INSTANCE;
wallObjectSpawned.setTile(this);
wallObjectSpawned.setWallObject(current);
client.getCallbacks().post(wallObjectSpawned);
}
else if (current != null)
{
WallObjectChanged wallObjectChanged = new WallObjectChanged();
WallObjectChanged wallObjectChanged = WallObjectChanged.INSTANCE;
wallObjectChanged.setTile(this);
wallObjectChanged.setPrevious(previous);
wallObjectChanged.setWallObject(current);
@@ -159,21 +159,21 @@ public abstract class RSTileMixin implements RSTile
if (current == null && previous != null)
{
DecorativeObjectDespawned decorativeObjectDespawned = new DecorativeObjectDespawned();
DecorativeObjectDespawned decorativeObjectDespawned = DecorativeObjectDespawned.INSTANCE;
decorativeObjectDespawned.setTile(this);
decorativeObjectDespawned.setDecorativeObject(previous);
client.getCallbacks().post(decorativeObjectDespawned);
}
else if (current != null && previous == null)
{
DecorativeObjectSpawned decorativeObjectSpawned = new DecorativeObjectSpawned();
DecorativeObjectSpawned decorativeObjectSpawned = DecorativeObjectSpawned.INSTANCE;
decorativeObjectSpawned.setTile(this);
decorativeObjectSpawned.setDecorativeObject(current);
client.getCallbacks().post(decorativeObjectSpawned);
}
else if (current != null)
{
DecorativeObjectChanged decorativeObjectChanged = new DecorativeObjectChanged();
DecorativeObjectChanged decorativeObjectChanged = DecorativeObjectChanged.INSTANCE;
decorativeObjectChanged.setTile(this);
decorativeObjectChanged.setPrevious(previous);
decorativeObjectChanged.setDecorativeObject(current);
@@ -192,21 +192,21 @@ public abstract class RSTileMixin implements RSTile
if (current == null && previous != null)
{
GroundObjectDespawned groundObjectDespawned = new GroundObjectDespawned();
GroundObjectDespawned groundObjectDespawned = GroundObjectDespawned.INSTANCE;
groundObjectDespawned.setTile(this);
groundObjectDespawned.setGroundObject(previous);
client.getCallbacks().post(groundObjectDespawned);
}
else if (current != null && previous == null)
{
GroundObjectSpawned groundObjectSpawned = new GroundObjectSpawned();
GroundObjectSpawned groundObjectSpawned = GroundObjectSpawned.INSTANCE;
groundObjectSpawned.setTile(this);
groundObjectSpawned.setGroundObject(current);
client.getCallbacks().post(groundObjectSpawned);
}
else if (current != null)
{
GroundObjectChanged groundObjectChanged = new GroundObjectChanged();
GroundObjectChanged groundObjectChanged = GroundObjectChanged.INSTANCE;
groundObjectChanged.setTile(this);
groundObjectChanged.setPrevious(previous);
groundObjectChanged.setGroundObject(current);
@@ -282,7 +282,7 @@ public abstract class RSTileMixin implements RSTile
logger.trace("Game object despawn: {}", previous.getId());
GameObjectDespawned gameObjectDespawned = new GameObjectDespawned();
GameObjectDespawned gameObjectDespawned = GameObjectDespawned.INSTANCE;
gameObjectDespawned.setTile(this);
gameObjectDespawned.setGameObject(previous);
client.getCallbacks().post(gameObjectDespawned);
@@ -296,7 +296,7 @@ public abstract class RSTileMixin implements RSTile
logger.trace("Game object spawn: {}", current.getId());
GameObjectSpawned gameObjectSpawned = new GameObjectSpawned();
GameObjectSpawned gameObjectSpawned = GameObjectSpawned.INSTANCE;
gameObjectSpawned.setTile(this);
gameObjectSpawned.setGameObject(current);
client.getCallbacks().post(gameObjectSpawned);
@@ -310,7 +310,7 @@ public abstract class RSTileMixin implements RSTile
logger.trace("Game object change: {} -> {}", previous.getId(), current.getId());
GameObjectChanged gameObjectsChanged = new GameObjectChanged();
GameObjectChanged gameObjectsChanged = GameObjectChanged.INSTANCE;
gameObjectsChanged.setTile(this);
gameObjectsChanged.setPrevious(previous);
gameObjectsChanged.setGameObject(current);
@@ -339,7 +339,9 @@ public abstract class RSTileMixin implements RSTile
for (RSNode cur = head.getNext(); cur != head; cur = cur.getNext())
{
RSGroundItem item = (RSGroundItem) cur;
ItemDespawned itemDespawned = new ItemDespawned(this, item);
ItemDespawned itemDespawned = ItemDespawned.INSTANCE;
itemDespawned.setTile(this);
itemDespawned.setItem(item);
client.getCallbacks().post(itemDespawned);
}
}
@@ -357,7 +359,9 @@ public abstract class RSTileMixin implements RSTile
{
if (lastUnlink != null)
{
ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink);
ItemDespawned itemDespawned = ItemDespawned.INSTANCE;
itemDespawned.setTile(this);
itemDespawned.setItem(lastUnlink);
client.getCallbacks().post(itemDespawned);
}
return;
@@ -369,7 +373,9 @@ public abstract class RSTileMixin implements RSTile
{
if (lastUnlink != null)
{
ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink);
ItemDespawned itemDespawned = ItemDespawned.INSTANCE;
itemDespawned.setTile(this);
itemDespawned.setItem(lastUnlink);
client.getCallbacks().post(itemDespawned);
}
return;
@@ -402,7 +408,9 @@ public abstract class RSTileMixin implements RSTile
if (lastUnlink != null && lastUnlink != previous && lastUnlink != next)
{
ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink);
ItemDespawned itemDespawned = ItemDespawned.INSTANCE;
itemDespawned.setTile(this);
itemDespawned.setItem(lastUnlink);
client.getCallbacks().post(itemDespawned);
}
@@ -417,7 +425,9 @@ public abstract class RSTileMixin implements RSTile
item.setX(x);
item.setY(y);
ItemSpawned itemSpawned = new ItemSpawned(this, item);
ItemSpawned itemSpawned = ItemSpawned.INSTANCE;
itemSpawned.setTile(this);
itemSpawned.setItem(item);
client.getCallbacks().post(itemSpawned);
current = forward ? current.getNext() : current.getPrevious();

View File

@@ -19,13 +19,17 @@ public abstract class RSVarcsMixin implements RSVarcs
@Inject
public void onVarCIntChanged(int id, int value)
{
client.getCallbacks().post(new VarClientIntChanged(id));
VarClientIntChanged event = VarClientIntChanged.INSTANCE;
event.setIndex(id);
client.getCallbacks().post(event);
}
@MethodHook(value = "setString", end = true)
@Inject
public void onVarCStrChanged(int id, String value)
{
client.getCallbacks().post(new VarClientStrChanged(id));
VarClientStrChanged event = VarClientStrChanged.INSTANCE;
event.setIndex(id);
client.getCallbacks().post(event);
}
}

View File

@@ -408,7 +408,7 @@ public abstract class RSWidgetMixin implements RSWidget
@Override
public void broadcastHidden(boolean hidden)
{
WidgetHiddenChanged event = new WidgetHiddenChanged();
WidgetHiddenChanged event = WidgetHiddenChanged.INSTANCE;
event.setWidget(this);
event.setHidden(hidden);
@@ -496,7 +496,7 @@ public abstract class RSWidgetMixin implements RSWidget
client.getLogger().trace("Posting widget position changed");
WidgetPositioned widgetPositioned = new WidgetPositioned();
WidgetPositioned widgetPositioned = WidgetPositioned.INSTANCE;
client.getCallbacks().postDeferred(widgetPositioned);
}

View File

@@ -62,7 +62,8 @@ public abstract class RSWorldMixin implements RSWorld
if (worlds != null && worlds.length > 0 && worlds[worlds.length - 1] == this)
{
// this is the last world in the list.
WorldListLoad worldLoad = new WorldListLoad(worlds);
WorldListLoad worldLoad = WorldListLoad.INSTANCE;
worldLoad.setWorlds(worlds);
client.getCallbacks().post(worldLoad);
}
}

View File

@@ -98,7 +98,7 @@ public abstract class ScriptVMMixin implements RSClient
return true;
}
ScriptCallbackEvent event = new ScriptCallbackEvent();
ScriptCallbackEvent event = ScriptCallbackEvent.INSTANCE;
event.setScript(currentScript);
event.setEventName(stringOp);
client.getCallbacks().post(event);

View File

@@ -120,7 +120,7 @@ public abstract class SoundEffectMixin implements RSClient
{
// Regular sound effect
SoundEffectPlayed event = new SoundEffectPlayed();
SoundEffectPlayed event = SoundEffectPlayed.INSTANCE;
event.setSoundId(client.getQueuedSoundEffectIDs()[soundIndex]);
event.setDelay(client.getQueuedSoundEffectDelays()[soundIndex]);
client.getCallbacks().post(event);
@@ -133,7 +133,7 @@ public abstract class SoundEffectMixin implements RSClient
int y = (packedLocation >> 8) & 0xFF;
int range = (packedLocation) & 0xFF;
AreaSoundEffectPlayed event = new AreaSoundEffectPlayed();
AreaSoundEffectPlayed event = AreaSoundEffectPlayed.INSTANCE;
event.setSoundId(client.getQueuedSoundEffectIDs()[soundIndex]);
event.setSceneX(x);
event.setSceneY(y);