Merge pull request #2623 from Owain94/NameableContainer
This commit is contained in:
@@ -31,13 +31,13 @@ import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
import net.runelite.api.ClanMember;
|
||||
import net.runelite.api.ClanMemberManager;
|
||||
import net.runelite.api.ClanMemberRank;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
@@ -79,19 +79,15 @@ public class ClanManager
|
||||
@Override
|
||||
public ClanMemberRank load(@Nonnull String key)
|
||||
{
|
||||
final ClanMember[] clanMembersArr = client.getClanMembers();
|
||||
|
||||
if (clanMembersArr == null || clanMembersArr.length == 0)
|
||||
final ClanMemberManager clanMemberManager = client.getClanMemberManager();
|
||||
if (clanMemberManager == null)
|
||||
{
|
||||
return ClanMemberRank.UNRANKED;
|
||||
}
|
||||
|
||||
return Arrays.stream(clanMembersArr)
|
||||
.filter(Objects::nonNull)
|
||||
.filter(clanMember -> sanitize(clanMember.getUsername()).equals(sanitize(key)))
|
||||
.map(ClanMember::getRank)
|
||||
.findAny()
|
||||
.orElse(ClanMemberRank.UNRANKED);
|
||||
|
||||
ClanMember clanMember = clanMemberManager.findByName(sanitize(key));
|
||||
return clanMember != null ? clanMember.getRank() : ClanMemberRank.UNRANKED;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -111,6 +107,12 @@ public class ClanManager
|
||||
eventbus.subscribe(ClanChanged.class, this, this::onClanChanged);
|
||||
}
|
||||
|
||||
public boolean isClanMember(String name)
|
||||
{
|
||||
ClanMemberManager clanMemberManager = client.getClanMemberManager();
|
||||
return clanMemberManager != null && clanMemberManager.findByName(name) != null;
|
||||
}
|
||||
|
||||
public ClanMemberRank getRank(String playerName)
|
||||
{
|
||||
return clanRanksCache.getUnchecked(playerName);
|
||||
|
||||
@@ -43,6 +43,7 @@ public class PlayerManager
|
||||
private final Client client;
|
||||
private final ItemManager itemManager;
|
||||
private final EventBus eventBus;
|
||||
private final ClanManager clanManager;
|
||||
private final Map<String, PlayerContainer> playerMap = new ConcurrentHashMap<>();
|
||||
private final Map<String, HiscoreResult> resultCache = new ConcurrentHashMap<>();
|
||||
private final ExecutorService executorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * 2);
|
||||
@@ -51,12 +52,14 @@ public class PlayerManager
|
||||
PlayerManager(
|
||||
final Client client,
|
||||
final EventBus eventBus,
|
||||
final ItemManager itemManager
|
||||
final ItemManager itemManager,
|
||||
final ClanManager clanManager
|
||||
)
|
||||
{
|
||||
this.client = client;
|
||||
this.itemManager = itemManager;
|
||||
this.eventBus = eventBus;
|
||||
this.clanManager = clanManager;
|
||||
eventBus.subscribe(PlayerDespawned.class, this, this::onPlayerDespawned);
|
||||
eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged);
|
||||
eventBus.subscribe(PlayerAppearanceChanged.class, this, this::onAppearenceChanged);
|
||||
@@ -206,7 +209,7 @@ public class PlayerManager
|
||||
|
||||
update(player);
|
||||
player.setFriend(client.isFriended(player.getName(), false));
|
||||
player.setClan(client.isClanMember(player.getName()));
|
||||
player.setClan(clanManager.isClanMember(player.getName()));
|
||||
}
|
||||
|
||||
private void onPlayerDespawned(PlayerDespawned event)
|
||||
|
||||
Reference in New Issue
Block a user