MCPcopy Create free account
hub / github.com/e2wugui/zeze / _removeRank

Method _removeRank

ZezeJava/ZezeJava/src/main/java/Zeze/Game/Rank.java:243–264  ·  view source on GitHub ↗
(int hash, BConcurrentKey keyHint, long roleId, OutObject<BRankValue> outExist)

Source from the content-addressed store, hash-verified

241 }
242
243 private BRankList _removeRank(int hash, BConcurrentKey keyHint, long roleId, OutObject<BRankValue> outExist) {
244 int concurrentLevel = getConcurrentLevel(keyHint.getRankType());
245
246 var concurrentKey = new BConcurrentKey(keyHint.getRankType(),
247 Integer.remainderUnsigned(hash, concurrentLevel),
248 keyHint.getTimeType(), keyHint.getYear(), keyHint.getOffset());
249
250 var rank = _trank.getOrAdd(concurrentKey);
251 // remove if role exist. 看看有没有更快的算法。
252 BRankValue exist = null;
253 for (int i = 0; i < rank.getRankList().size(); ++i) {
254 var rankValue = rank.getRankList().get(i);
255 if (rankValue.getRoleId() == roleId) {
256 exist = rankValue;
257 rank.getRankList().remove(i);
258 break;
259 }
260 }
261 if (null != outExist)
262 outExist.value = exist;
263 return rank;
264 }
265
266 /**
267 * 根据 value 设置到排行榜中

Callers 3

removeRankMethod · 0.95
updateRankMethod · 0.95
mergeRankMethod · 0.95

Calls 11

getConcurrentLevelMethod · 0.95
getRankTypeMethod · 0.80
getTimeTypeMethod · 0.80
getYearMethod · 0.80
getRankListMethod · 0.80
getOffsetMethod · 0.65
sizeMethod · 0.65
getMethod · 0.65
getRoleIdMethod · 0.65
removeMethod · 0.65
getOrAddMethod · 0.45

Tested by

no test coverage detected