luaSerializer patch

This commit is contained in:
Michael Wain 2024-03-13 20:09:23 +03:00
parent 2e7fdd7758
commit 28f88fddca
2 changed files with 13 additions and 2 deletions

View File

@ -196,7 +196,7 @@ public class BunkerBot extends TelegramLongPollingBot {
p.setLuggage((Luggage) BotUtils.getRandomFromList(luggs, random));
p.setHobby((Hobby) BotUtils.getRandomFromList(hobbies, random));
p.setHealth((Health) BotUtils.getRandomFromList(healths, random));
if( random.nextBoolean() ) {
if( random.nextDouble() > 0.6 ) {
p.setScripts(Arrays.asList((ActionScript) BotUtils.getRandomFromList(scripts, random)));
} else {
p.setScripts(new ArrayList<>());
@ -255,6 +255,11 @@ public class BunkerBot extends TelegramLongPollingBot {
Globals globals = JsePlatform.standardGlobals();
globals.set("players", LuaSerializer.serializeObjectList(players));
globals.set("player", LuaSerializer.serializeObject(p));
globals.set("genders", LuaSerializer.serializeObjectList(bioService.getAllBios()));
globals.set("hobbies", LuaSerializer.serializeObjectList(hobbyService.getAllHobbies()));
globals.set("healths", LuaSerializer.serializeObjectList(healthService.getAllHealth()));
globals.set("luggages", LuaSerializer.serializeObjectList(luggageService.getAllLuggages()));
globals.set("works", LuaSerializer.serializeObjectList(workService.getAllWorks()));
LuaValue chunk = globals.load(script.getScriptBody());
chunk.call();
this.players = LuaDeserializer.deserializePlayers(globals.get("players")).stream()

View File

@ -17,7 +17,13 @@ import java.util.stream.IntStream;
@Slf4j
public class LuaSerializer {
public static LuaTable serializeObjectList(List<Player> list) {
/* public static LuaTable serializeObjectList(List<Player> list) {
LuaTable table = new LuaTable();
IntStream.range(0, list.size()).forEach(i -> table.set(i, serializeObject(list.get(i))));
return table;
}*/
public static LuaTable serializeObjectList(List<?> list) {
LuaTable table = new LuaTable();
IntStream.range(0, list.size()).forEach(i -> table.set(i, serializeObject(list.get(i))));
return table;