Example usage for com.badlogic.gdx.utils JsonValue setName

List of usage examples for com.badlogic.gdx.utils JsonValue setName

Introduction

In this page you can find the example usage for com.badlogic.gdx.utils JsonValue setName.

Prototype

public void setName(String name) 

Source Link

Usage

From source file:com.trgk.touchwave.GameLogger.java

License:Open Source License

/**
 * Save game data//from   w w  w .java  2 s.  c  om
 */
public void saveGameLog() {
    FileHandle gamelog = Gdx.files.local("gamelog.json");
    JsonValue value = new JsonValue(JsonValue.ValueType.object);
    ArrayList<JsonValue> fields = new ArrayList<JsonValue>();

    // Add values to fields
    for (Field field : GameLogger.class.getFields()) {
        try {
            String fieldName = field.getName();
            // Support for android incremental build
            if (fieldName.equals("$change"))
                continue;

            JsonValue v;
            if (field.getType() == boolean.class)
                v = new JsonValue(field.getBoolean(this));
            else if (field.getType() == int.class)
                v = new JsonValue(field.getInt(this));
            else if (field.getType() == long.class)
                v = new JsonValue(field.getLong(this));
            else {
                MessageBox.alert("GameLogger", "Reflection error for member \"" + fieldName + "\" (type "
                        + field.getType().toString() + ")");
                return;
            }
            v.setName(fieldName);
            fields.add(v);
        } catch (IllegalAccessException e) {
            MessageBox.alert("GameLogger", "IllegalAccessException : " + e.getMessage());
            return; // Save failed
        }
    }

    // Link
    value.child = fields.get(0);
    for (int i = 0; i < fields.size() - 1; i++) {
        fields.get(i).setNext(fields.get(i + 1));
    }

    gamelog.writeString(value.toJson(JsonWriter.OutputType.json), false);
}

From source file:com.trgk.touchwave.menuscene.RankingLoadScene.java

License:Open Source License

@Override
public void act(float dt) {
    super.act(dt);

    final TGWindow rankingWindow = parent.rankingWindow;
    final FBService fb = FBService.getInstance();
    final GameLogger logger = GameLogger.getInstance();

    // Get user permission
    if (currentState == -1) {
        currentState = 0;// w  w  w  . j  a  v a 2  s  . c  om
        if (!logger.notifiedRankingRealName) {
            getSceneManager().setCurrentScene(new FBAlertScene(this));
            logger.notifiedRankingRealName = true;
            logger.saveGameLog();
            return;
        }
    }

    // Get user ID
    if (currentState == 0) {
        if (logger.maxScore == -1)
            currentState = 6;
        else {
            if (fb.isLogonRead())
                currentState = 2;
            else {
                fb.loginRead();
                currentState = 1;
            }
        }
    }

    // Wait for fb read login
    if (currentState == 1) {
        if (!fb.isBusy()) {
            if (fb.getLastActionResult() != FBService.Result.SUCCESS) {
                postErrorMsg("?? ??  .", 0);
                currentState = 6; // Skip user status
            } else
                currentState = 2;
        }
    }

    // Post user data
    if (currentState == 2) {
        String reqURL = serverDomain + "ranking/";
        HttpRequestBuilder requestBuilder = new HttpRequestBuilder();

        JsonValue requestBodyJson = new JsonValue(JsonValue.ValueType.object);

        JsonValue fbIDValue = new JsonValue(fb.userID);
        JsonValue fbNicknameValue = new JsonValue(fb.username);
        JsonValue maxScoreValue = new JsonValue(GameLogger.getInstance().maxScore);
        JsonValue accessToken = new JsonValue(fb.getAccessToken());

        fbIDValue.setName("fbID");
        fbNicknameValue.setName("fbNickname");
        maxScoreValue.setName("maxScore");
        accessToken.setName("accessToken");

        requestBodyJson.child = fbIDValue;
        fbIDValue.setNext(fbNicknameValue);
        fbNicknameValue.setNext(maxScoreValue);
        maxScoreValue.setNext(accessToken);

        String requestBody = requestBodyJson.toJson(JsonWriter.OutputType.json);

        final Net.HttpRequest httpRequest = requestBuilder.newRequest().method(Net.HttpMethods.PUT).url(reqURL)
                .header(HttpRequestHeader.ContentType, "application/json").content(requestBody).build();
        currentState = 3; // Wait for http request to complete

        Gdx.net.sendHttpRequest(httpRequest, new Net.HttpResponseListener() {
            @Override
            public void handleHttpResponse(Net.HttpResponse httpResponse) {
                currentState = 4;
            }

            @Override
            public void failed(Throwable t) {
                postErrorMsg(" ?? .", 0);
                currentState = 6;
            }

            @Override
            public void cancelled() {
                postErrorMsg(" ?? .", 0);
                currentState = 6;
            }
        });
    }

    // Get user ranking
    if (currentState == 4) {
        String reqURL = String.format(Locale.ENGLISH, serverDomain + "ranking/%d", fb.userID);
        HttpRequestBuilder requestBuilder = new HttpRequestBuilder();
        final Net.HttpRequest httpRequest = requestBuilder.newRequest().method(Net.HttpMethods.GET).url(reqURL)
                .build();
        currentState = 5;
        Gdx.net.sendHttpRequest(httpRequest, new Net.HttpResponseListener() {
            @Override
            public void handleHttpResponse(Net.HttpResponse httpResponse) {
                JsonReader reader = new JsonReader();
                JsonValue result = reader.parse(httpResponse.getResultAsString());

                if (result.isObject() && result.get("userRank") != null) {
                    int userRank = result.getInt("userRank");
                    int maxScore = result.getInt("maxScore");
                    rankingWindow.addActor(
                            new RankingScene.RankingEntry(userRank, fb.username, maxScore, Color.BLUE, 0));
                    currentState = 6;
                } else {
                    postErrorMsg(" ?? .", 0);
                    currentState = 6;
                }
            }

            @Override
            public void failed(Throwable t) {
                postErrorMsg(" ?? .", 0);
                currentState = 6;
            }

            @Override
            public void cancelled() {
                postErrorMsg(" ?? .", 0);
                currentState = 6;
            }
        });
    }

    // Get total ranking
    if (currentState == 6) {
        String reqURL = serverDomain + "ranking/";
        HttpRequestBuilder requestBuilder = new HttpRequestBuilder();
        final Net.HttpRequest httpRequest = requestBuilder.newRequest().method(Net.HttpMethods.GET).url(reqURL)
                .build();
        currentState = 7;

        Gdx.net.sendHttpRequest(httpRequest, new Net.HttpResponseListener() {
            @Override
            public void handleHttpResponse(Net.HttpResponse httpResponse) {
                JsonReader reader = new JsonReader();
                JsonValue result = reader.parse(httpResponse.getResultAsString());

                if (result.isObject() && result.get("rankings") != null) {
                    JsonValue rankingArray = result.get("rankings");
                    JsonValue rankingEntry = rankingArray.child;
                    int entryID = 1;
                    while (rankingEntry != null) {
                        rankingWindow.addActor(
                                new RankingScene.RankingEntry(entryID, rankingEntry.getString("fbNickname"),
                                        rankingEntry.getInt("maxScore"), Color.BLACK, entryID));
                        rankingEntry = rankingEntry.next;
                        entryID++;

                        if (entryID == 20)
                            break;
                    }
                    currentState = 8;
                } else {
                    postErrorMsg("? ? .", 1);
                    currentState = 8;
                }
            }

            @Override
            public void failed(Throwable t) {
                postErrorMsg("? ? .", 1);
                currentState = 8;
            }

            @Override
            public void cancelled() {
                postErrorMsg("? ? .", 1);
                currentState = 8;
            }
        });
    }

    if (currentState == 8) {
        fb.logout();
        gotoParent();
        currentState = 9;
    }

}

From source file:com.tussle.stream.JsonParsingWriter.java

License:Apache License

private void addChild(String name, JsonValue child) {
    child.setName(name);
    if (current == null) {
        current = child;/*from   w ww  .  j a v  a 2 s.  co m*/
        root = child;
    } else if (current.isArray() || current.isObject()) {
        child.parent = current;
        if (current.size == 0)
            current.child = child;
        else {
            JsonValue last = lastChild.pop();
            last.next = child;
            child.prev = last;
        }
        lastChild.push(child);
        current.size++;
    } else
        root = current;
}

From source file:es.eucm.gleaner.tracker.format.XAPIFormat.java

License:Apache License

private JsonValue createStatement(String trace) {
    JsonValue statement = pool.obtain();
    statement.setType(ValueType.object);

    JsonValue actorValue = pool.obtain();
    actorValue.setType(ValueType.object);
    actorValue.setName("actor");
    actorValue.child = actor;//from   w  ww.j av  a 2 s.c o m

    statement.child = actorValue;

    String[] parts = trace.split(",");

    JsonValue verb = pool.obtain();
    verb.setType(ValueType.object);
    verb.setName("verb");
    verb.child = createVerb(parts[1]);
    actorValue.next = verb;

    JsonValue activity = pool.obtain();
    activity.setType(ValueType.object);
    activity.setName("object");
    activity.child = createActivity(parts);
    verb.next = activity;

    JsonValue timeStamp = pool.obtain();
    timeStamp.setName("timestamp");
    date.setTime(Long.parseLong(parts[0]));
    timeStamp.set(dateFormat.format(date));
    activity.next = timeStamp;

    if (parts.length > 3) {
        JsonValue extensions = pool.obtain();
        extensions.setType(ValueType.object);
        extensions.setName("extensions");

        extensions.child = pool.obtain();
        extensions.child.setType(ValueType.object);
        extensions.child.setName(EXT_PREFIX + "value");
        extensions.child.set(parts[3]);

        JsonValue result = pool.obtain();
        result.setType(ValueType.object);
        result.setName("result");
        result.child = extensions;
        timeStamp.next = result;
    }

    return statement;
}

From source file:es.eucm.gleaner.tracker.format.XAPIFormat.java

License:Apache License

private JsonValue createVerb(String event) {
    JsonValue verb = pool.obtain();
    verb.setType(ValueType.object);/*from   w  w w  .j a  va2s . com*/
    String id;
    if (C.CHOICE.equals(event)) {
        id = "choose";
    } else if (C.SCREEN.equals(event)) {
        id = "viewed";
    } else if (C.ZONE.equals(event)) {
        id = "entered";
    } else if (C.VAR.equals(event)) {
        id = "updated";
    } else {
        id = event;
    }
    verb.setName("id");
    verb.set(VERB_PREFIX + id);
    return verb;
}

From source file:es.eucm.gleaner.tracker.format.XAPIFormat.java

License:Apache License

private JsonValue createActivity(String[] parts) {
    JsonValue activity = pool.obtain();
    activity.setType(ValueType.object);/* w ww  .j av  a2  s  .  c o m*/
    String event = parts[1];
    String id;
    if (C.CHOICE.equals(event)) {
        id = "choice";
    } else if (C.SCREEN.equals(event)) {
        id = "screen";
    } else if (C.ZONE.equals(event)) {
        id = "zone";
    } else if (C.VAR.equals(event)) {
        id = "variable";
    } else {
        id = event;
    }
    activity.setName("id");
    activity.set(activityId + id + "/" + parts[2]);
    return activity;
}

From source file:org.itas.common.json.JsonReader.java

License:Apache License

private void addChild(String name, JsonValue child) {
    child.setName(name);
    if (current == null) {
        current = child;/*from   w  w  w  .j  av  a2 s.co m*/
        root = child;
    } else if (current.isArray() || current.isObject()) {
        if (current.size == 0)
            current.child = child;
        else {
            JsonValue last = lastChild.pop();
            last.next = child;
            child.prev = last;
        }
        lastChild.add(child);
        current.size++;
    } else
        root = current;
}