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

Method upgrade

ZezeJava/ZezeJava/src/main/java/Zeze/Game/Online.java:199–219  ·  view source on GitHub ↗
(@NotNull Function<Bean, Bean> retreatFunc)

Source from the content-addressed store, hash-verified

197 }
198
199 @Override
200 public void upgrade(@NotNull Function<Bean, Bean> retreatFunc) throws Exception {
201 // 如果需要,重建_tlocal内存表的用户设置的bean。
202 var retreats = new ArrayList<Retreat>();
203 _tlocal.walk((roleId, locals) -> {
204 for (var data : locals.getDatas()) {
205 var retreatBean = retreatFunc.apply(data.getValue().getAny().getBean());
206 if (retreatBean != null) {
207 beanFactory.register(retreatBean); // 覆盖beanFactory.
208 retreats.add(new Retreat(roleId, data.getKey(), retreatBean));
209 if (retreats.size() > 50) {
210 saveRetreats(retreats);
211 retreats.clear();
212 }
213 }
214 }
215 return true;
216 });
217 if (!retreats.isEmpty())
218 saveRetreats(retreats);
219 }
220
221 private void saveRetreats(@NotNull ArrayList<Retreat> retreats) {
222 // 【注意,这里不使用 Task.call or run,因为这个在热更流程中调用,避免去使用hotGuard。】

Callers

nothing calls this directly

Calls 13

saveRetreatsMethod · 0.95
walkMethod · 0.65
applyMethod · 0.65
getBeanMethod · 0.65
getValueMethod · 0.65
addMethod · 0.65
getKeyMethod · 0.65
sizeMethod · 0.65
clearMethod · 0.65
isEmptyMethod · 0.65
getDatasMethod · 0.45
getAnyMethod · 0.45

Tested by

no test coverage detected