Clanchat: added onClanChanged event to count players already in scene

This commit is contained in:
Sebastiaan Vanspauwen
2019-03-02 13:22:01 +01:00
committed by Tomas Slusny
parent 72b3e4560d
commit a4977abbf2

View File

@@ -39,6 +39,7 @@ import net.runelite.api.Player;
import net.runelite.api.SpriteID;
import net.runelite.api.VarClientStr;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ClanChanged;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick;
@@ -197,11 +198,7 @@ public class ClanChatPlugin extends Plugin
if (event.getPlayer().isClanMember())
{
clanMembers.add(event.getPlayer());
if (clanMemberCounter == null)
{
addClanCounter();
}
addClanCounter();
}
}
@@ -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()
{
return clanMembers.size();
@@ -309,7 +331,7 @@ public class ClanChatPlugin extends Plugin
private void addClanCounter()
{
if (!config.showClanCounter() || clanMemberCounter != null )
if (!config.showClanCounter() || clanMemberCounter != null || clanMembers.isEmpty())
{
return;
}