示例#1
0
    public static PlayerGoalState JSONToPlayerGoalState(JSONObject jobj)
    {
        PlayerGoalState playerGoalState = new PlayerGoalState();

        playerGoalState.ID = jobj.asString("ID", () => "Invalid");
        playerGoalState.CompletedStars.Value = jobj.asInt("CompletedStars", () => 0);
        playerGoalState.ClaimedStars.Value   = jobj.asInt("ClaimedStars", () => 0);
        return(playerGoalState);
    }
示例#2
0
    public static JSONObject PlayerGoalStateToJSON(PlayerGoalState state)
    {
        JSONObject jSONObject = new JSONObject(JSONObject.Type.OBJECT);

        jSONObject.AddField("ID", state.ID);
        jSONObject.AddField("CompletedStars", state.CompletedStars.Value);
        jSONObject.AddField("ClaimedStars", state.ClaimedStars.Value);
        return(jSONObject);
    }
示例#3
0
    public static PlayerGoalState GetOrCreatePlayerGoalState(string id)
    {
        PlayerGoalState playerGoalState = PlayerData.Instance.PlayerGoalStates.Find((PlayerGoalState pgs) => pgs.ID == id);

        if (playerGoalState == null)
        {
            PlayerGoalState playerGoalState2 = new PlayerGoalState();
            playerGoalState2.ID = id;
            playerGoalState     = playerGoalState2;
            PlayerData.Instance.PlayerGoalStates.Add(playerGoalState);
        }
        return(playerGoalState);
    }
示例#4
0
    public static PlayerGoalAction Create(PlayerGoalConfig config, PlayerGoalState state)
    {
        switch (config.Task)
        {
        case PlayerGoalTask.None:
            return(null);

        case PlayerGoalTask.Never:
            return(new PlayerGoalActionNever());

        case PlayerGoalTask.Skip:
            return(new PlayerGoalActionSkip());

        case PlayerGoalTask.Triggered:
            return(new PlayerGoalActionTriggered(state.CompletedStars, state.ClaimedStars, config.StarReq));

        default:
        {
            UniRx.IObservable <BigDouble> rxProperty = ReferenceTaskTarget(config.Task, config.Parameter);
            return(new PlayerGoalActionBigDouble(rxProperty, state.ClaimedStars, config.StarReq));
        }
        }
    }