private void UpdateTurn(JSONChangeInfo info) { if (info.Type == JSONChangeInfo.ChangeType.CHANGED) { TurnNumber = (int)info.NewValue.n; } }
private void ActionPointsChanged(JSONChangeInfo info) { if (info.Type != JSONChangeInfo.ChangeType.CHANGED) { Debug.LogWarning("Non change event recieved?"); return; } Debug.Log(UUID + "'s Action Points were changed from " + info.OldValue.n + " to " + info.NewValue.n); CurrentActionPoints = (int)info.NewValue.n; }
private void FireJSONChangeEvent(JSONChangeInfo change) { Debug.Log("Firing JSON change event for element " + change.Path); if (JSONChangeActions.ContainsKey(change.Path)) { var list = JSONChangeActions[change.Path]; foreach (var action in list) { action(change); } } }
private void UpdateGameState(JSONChangeInfo info) { if (info.Type == JSONChangeInfo.ChangeType.CHANGED) { string gState = info.NewValue.str; if ("hero_turn".Equals(gState)) { gameState = GameState.HeroTurn; } else if ("architect_turn".Equals(gState)) { gameState = GameState.ArchitectTurn; } } }
private void HealthChanged(JSONChangeInfo info) { if (info.Type != JSONChangeInfo.ChangeType.CHANGED) { Debug.LogWarning("Non change event recieved?"); return; } currentHealth = (int)info.NewValue.n; if (currentHealth == 0) { //this unit is straight dead IsDead = true; Map.Current.RemoveMapObject(this); if (MatchManager.instance) { MatchManager.instance.RemoveJSONChangeAction("/board_objects/" + UUID + "/action_points", ActionPointsChanged); MatchManager.instance.RemoveJSONChangeAction("/board_objects/" + UUID + "/health", HealthChanged); } gameObject.SetActive(false); } }
private void ApplyRemovals(JSONObject diff, JSONObject master, string path) { if (diff.IsNull) { return; } if (diff.IsObject) { foreach (string key in diff.keys) { JSONObject cur = diff[key]; if (cur.isContainer) { ApplyRemovals(cur, master[key], path + "/" + key); } else if (cur.IsString && cur.str == "DELETED") { JSONObject oldVal = master[key]; var change = new JSONChangeInfo(JSONChangeInfo.ChangeType.DELETED, path + "/" + key, oldVal, null); master.RemoveField(key); FireJSONChangeEvent(change); } else { Debug.LogError("Bad data encountered in JSON diff while applying removals"); } } } else if (diff.IsArray) { Debug.LogError("Bad data encountered in JSON diff while applying removals; arrays are not allowed in diffs"); } else { Debug.LogError("Bad data encountered in JSON diff while applying removals"); } }