private static int GetStoredState(PuzzleSolvedState state) { return (state == PuzzleSolvedState.Ok ? LevelManager.STARS_OK : state == PuzzleSolvedState.Good ? LevelManager.STARS_GOOD : state == PuzzleSolvedState.Perfect ? LevelManager.STARS_PERFECT : 0); }
/// <summary> /// Updates the solved state of the puzzle in the db /// </summary> /// <param name="puzzle"></param> /// <param name="state"></param> override public void SetPuzzleState(core.Puzzle puzzle, PuzzleSolvedState state) { try { Puzzle dbPuzzle = GetPuzzle(puzzle); var storedState = GetStoredState(state); if (dbPuzzle != null) { dbPuzzle.SolvedState = storedState; connection.Update(dbPuzzle); } else { dbPuzzle = CoreToDBPuzzle(puzzle, storedState); connection.Insert(dbPuzzle); } } catch (Exception e) { Debug.LogError("Could not set puzzle state in DB: " + e.Message); } }
public static int GetNewStars(PuzzleSolvedState oldState, PuzzleSolvedState newState) { return(newState - oldState); }
abstract public void SetPuzzleState(core.Puzzle puzzle, PuzzleSolvedState state);
/// <summary> /// Updates the solved state of the puzzle in the db /// </summary> /// <param name="puzzle"></param> /// <param name="state"></param> override public void SetPuzzleState(core.Puzzle puzzle, PuzzleSolvedState state) { solvedState[puzzle] = state; }