Пример #1
0
    public void SaveGameCellsDict(int saveIndex)
    {
        var saveCellsDict = new SaveCellsDict();

        if (_storageProvider.LoadGameCellsDict() != null)
        {
            saveCellsDict = _storageProvider.LoadGameCellsDict();
        }

        var globalScore = Score.GetComponent <Score>().GlobalScore;
        var localScore  = Score.GetComponent <Score>().LocalScore;

        var ballsList = new List <Ball>();
        var balls     = GameObject.FindGameObjectsWithTag("Ball");

        foreach (var ball in balls)
        {
            var ballObject = new Ball
            {
                BallPosition = ball.GetComponent <BallMovement>().GetBallPosition(),
                BallMovement = ball.GetComponent <BallMovement>().GetTempBallMovement(),
                DirectionX   = ball.GetComponent <BallMovement>().DirectionX,
                DirectionY   = ball.GetComponent <BallMovement>().DirectionY,
                BallColor    = ball.GetComponent <SpriteRenderer>().color
            };
            ballsList.Add(ballObject);
        }

        var ballsCount = balls.Length;


        var racketPosition = RacketMovement.GetComponent <RacketMovement>().GetRacketPosition();

        var level      = BlockManager.Instance.CurrentLevel;
        var levelState = BlockManager.Instance.CurrentLevelState;

        var gameState = new GameState()
        {
            GlobalScore    = globalScore,
            LocalScore     = localScore,
            Balls          = ballsList,
            BallsCount     = ballsCount,
            RacketPosition = racketPosition,
            Level          = level,
            LevelState     = levelState
        };

        var timeStamp = DateTime.Now;

        var saveCell = new SaveCell()
        {
            GameState = gameState,
            TimeStamp = timeStamp
        };

        saveCellsDict.SaveCells[saveIndex] = saveCell;
        _storageProvider.SaveGameCellsDict(saveCellsDict);
    }
Пример #2
0
 public bool TryLoadGameCellsDict(out SaveCellsDict result)
 {
     try
     {
         result = _storage.LoadData <SaveCellsDict>(_gameSavesPath);
         return(true);
     }
     catch (FileNotFoundException)
     {
         result = null;
         return(false);
     }
 }
Пример #3
0
 public void SaveGameCellsDict(SaveCellsDict saveCellsDict)
 {
     _storage.SaveData(saveCellsDict, _gameSavesPath);
 }