Libgdx - Как бы я go сохранил оба варианта Моделей, Модифицированные материалы и Константы игроков, все в формате json - PullRequest
0 голосов
/ 09 апреля 2020

This is a Pre Player, done in Character Creation Screen

public class Player {
    public String name;
    public String faction;
    public String classJob;
    public int level;
    public int lifepoints;
    public int manapoints;
    public int enerGpoints;
    public int exppoints;
    public int forceF;
    public int agiliF;
    public int intelF;
...

Предположим, что я получил эти значения, определяющие будущего игрока, в классе экрана создания игрока, включающем Ui и GameWorld (на самом деле preGameWorld) где я рендерирую предварительный проигрыватель, в основном кеш моделей из нескольких объединенных моделей, в зависимости от выбора пользователя, работает довольно хорошо ... как бы я go о хранении def перед значениями и выбором. сказать, что я хочу хранить разные вещи в одном и том же файле, например,

headModel model"X", material.id.modified"Color.X",
hairModel .....
player name
player faction
player classjob
...

, полученное в настоящее время:

private void SavePlayer(String namedText, String faction, String classJob, int level, int forceF,
                            int agiliF, int intelF, int sagessF, int vitaF, int dexF, int chanF,
                            int vitF, int lifepoints, int manapoints, int enerGpoints, int exppoints, int cpoints) {

        player = new Player();
        // create player data
        player.name=namedText;          player.faction=faction;         player.classJob=classJob;           player.level=level;
        player.forceF=forceF;           player.agiliF=agiliF;           player.intelF=intelF;               player.sagessF=sagessF;
        player.vitaF=vitaF;             player.dexF=dexF;               player.chanF=chanF;                 player.vitF=vitF;
        player.lifepoints=lifepoints;   player.manapoints=manapoints;   player.enerGpoints=enerGpoints;     player.exppoints=exppoints;
        player.cpoints=cpoints;
        //then save?
        try {
            FileHandle file = Gdx.files.local("files/player.json");
            if (!file.exists()) {
                Json json = new Json();
                json.setOutputType(JsonWriter.OutputType.json);
                System.out.println(player.name +"\n"+ player.faction +"\n"+ player.classJob +"\n"+ player.level +"\n"+ player.forceF
                        +"\n"+ player.agiliF +"\n"+ player.intelF +"\n"+ player.sagessF +"\n"+ player.vitaF +"\n"+ player.dexF
                        +"\n"+ player.chanF +"\n"+ player.vitF +"\n"+ player.lifepoints +"\n"+ player.manapoints +"\n"+ player.exppoints
                        +"\n"+ player.cpoints);
                file.writeString(json.prettyPrint(player), true); // True means append, false means overwrite.
                System.out.println("Saved Successfully");
            } else if(file.exists()) {
                Json json = new Json();
                json.setOutputType(JsonWriter.OutputType.json);
                System.out.println(player.name +"\n"+ player.faction +"\n"+ player.classJob +"\n"+ player.level +"\n"+ player.forceF
                        +"\n"+ player.agiliF +"\n"+ player.intelF +"\n"+ player.sagessF +"\n"+ player.vitaF +"\n"+ player.dexF
                        +"\n"+ player.chanF +"\n"+ player.vitF +"\n"+ player.lifepoints +"\n"+ player.manapoints +"\n"+ player.exppoints
                        +"\n"+ player.cpoints);
                file.writeString(json.prettyPrint(player), false); // True means append, false means overwrite.
                System.out.println("Overwrited Successfully");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

Потерять

Буду признателен за любую помощь!

журнал:

I/System.out: Oxydem
    Sidd
    cj Apprenti
    1
    3
I/chatty: uid=10133(com.oxyzstudio.oxyddia) GLThread 846 identical 6 lines
I/System.out: 3
    100
    300
    0
    0
I/System.out: Saved Successfully

Есть подсказка? Я бы предпочел

PlayerName: Oxydem

И чтобы удвоить проблему, я не могу найти, где находится этот ранее созданный плеер. Файл json находится для проверки: D

Возможно @ Хоппа может помочь?

...