public static GamblingState JSONToGamlingState(JSONObject jobj) { GamblingState gamblingState = new GamblingState(); gamblingState.Rewards = new ReactiveProperty <BigDouble[]>(new BigDouble[31]); for (int i = 0; i < 31; i++) { gamblingState.Rewards.Value[i] = jobj.asBigDouble("Rewards_" + (RewardEnum)i, () => BigDouble.ZERO); } gamblingState.FailCost.Value = jobj.asInt("FailCost", () => 25); gamblingState.FailPaid.Value = jobj.asBool("FailPaid", () => true); gamblingState.FailAmount.Value = jobj.asInt("FailAmount", () => 0); gamblingState.ButtonOneState.Value = jobj.asInt("ButtonOneState", () => 0); gamblingState.ButtonTwoState.Value = jobj.asInt("ButtonTwoState", () => 0); gamblingState.ButtonThreeState.Value = jobj.asInt("ButtonThreeState", () => 0); gamblingState.ButtonFourState.Value = jobj.asInt("ButtonFourState", () => 0); gamblingState.CurrentGamblingLevel.Value = jobj.asInt("CurrentGamblingLevel", () => - 1); gamblingState.RewardCards = new ReactiveProperty <RewardData[]>(new RewardData[4]); for (int j = 0; j < 4; j++) { int type = jobj.asInt("RewardCardType_" + j, () => 0); BigDouble amount = jobj.asBigDouble("RewardCardAmount_" + j, () => - 1L); RewardData rewardData = new RewardData((RewardEnum)type, amount); gamblingState.RewardCards.Value[j] = rewardData; } return(gamblingState); }
private void LoadGamblingState() { GamblingState value = PlayerData.Instance.Gambling.Value; if (value.CurrentGamblingLevel.Value < 0) { value.CurrentGamblingLevel.Value = 0; } Rewards = value.Rewards; FailCost = value.FailCost; FailPaid = value.FailPaid; FailAmount = value.FailAmount; ButtonOneState = value.ButtonOneState; ButtonTwoState = value.ButtonTwoState; ButtonThreeState = value.ButtonThreeState; ButtonFourState = value.ButtonFourState; CurrentGamblingLevel = value.CurrentGamblingLevel; RewardCards = value.RewardCards; }
public static JSONObject GamblingStateToJSON(GamblingState state) { JSONObject jSONObject = new JSONObject(JSONObject.Type.OBJECT); for (int i = 0; i < 31; i++) { jSONObject.AddField("Rewards_" + (RewardEnum)i, state.Rewards.Value[i].ToString()); } jSONObject.AddField("FailCost", state.FailCost.Value); jSONObject.AddField("FailPaid", state.FailPaid.Value); jSONObject.AddField("FailAmount", state.FailAmount.Value); jSONObject.AddField("ButtonOneState", state.ButtonOneState.Value); jSONObject.AddField("ButtonTwoState", state.ButtonTwoState.Value); jSONObject.AddField("ButtonThreeState", state.ButtonThreeState.Value); jSONObject.AddField("ButtonFourState", state.ButtonFourState.Value); jSONObject.AddField("CurrentGamblingLevel", state.CurrentGamblingLevel.Value); for (int j = 0; j < 4; j++) { jSONObject.AddField("RewardCardType_" + j, (int)state.RewardCards.Value[j].Type); jSONObject.AddField("RewardCardAmount_" + j, state.RewardCards.Value[j].Amount.ToString()); } return(jSONObject); }