Merge pull request #8066 from SebastiaanVanspauwen/clanchat-clanchanged

Clanchat: count players already in scene
This commit is contained in:
Tomas Slusny
2019-03-03 09:53:42 +00:00
committed by GitHub

View File

@@ -39,6 +39,7 @@ import net.runelite.api.Player;
import net.runelite.api.SpriteID; import net.runelite.api.SpriteID;
import net.runelite.api.VarClientStr; import net.runelite.api.VarClientStr;
import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ClanChanged;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
@@ -197,13 +198,9 @@ public class ClanChatPlugin extends Plugin
if (event.getPlayer().isClanMember()) if (event.getPlayer().isClanMember())
{ {
clanMembers.add(event.getPlayer()); clanMembers.add(event.getPlayer());
if (clanMemberCounter == null)
{
addClanCounter(); addClanCounter();
} }
} }
}
@Subscribe @Subscribe
public void onPlayerDespawned(PlayerDespawned event) public void onPlayerDespawned(PlayerDespawned event)
@@ -214,6 +211,31 @@ public class ClanChatPlugin extends Plugin
} }
} }
@Subscribe
public void onClanChanged(ClanChanged event)
{
if (event.isJoined())
{
clientThread.invokeLater(() ->
{
for (Player player : client.getPlayers())
{
if (player.isClanMember() && !clanMembers.contains(player))
{
clanMembers.add(player);
}
}
addClanCounter();
});
}
else
{
clanMembers.clear();
removeClanCounter();
}
}
int getClanAmount() int getClanAmount()
{ {
return clanMembers.size(); return clanMembers.size();
@@ -309,7 +331,7 @@ public class ClanChatPlugin extends Plugin
private void addClanCounter() private void addClanCounter()
{ {
if (!config.showClanCounter() || clanMemberCounter != null ) if (!config.showClanCounter() || clanMemberCounter != null || clanMembers.isEmpty())
{ {
return; return;
} }