Example #1
0
    /// <summary>
    /// Saves the paused game status. Writes paused game into file.
    /// </summary>
    /// <param name="pausedGameStatus">Paused game status.</param>
    public void SavePausedLevelGameStatus(PausedGameStatus pausedGameStatus)
    {
        var binaryFormatter = new BinaryFormatter();
        var file            = File.Create(Application.persistentDataPath + playerDataFileName);

        binaryFormatter.Serialize(file, pausedGameStatus);
        file.Close();
    }
Example #2
0
    /// <summary>
    /// Loads the paused game status. Loads gamestatus from the previously saved file.
    /// </summary>
    /// <returns>The paused level game status.</returns>
    public PausedGameStatus LoadPausedLevelGameStatus()
    {
        var file = LoadFile(playerDataFileName);
        PausedGameStatus playerData = null;

        if (file != null)
        {
            var binaryFormatter = new BinaryFormatter();
            playerData = (PausedGameStatus)binaryFormatter.Deserialize(file);
            file.Close();
        }
        return(playerData);
    }
Example #3
0
    // Save objects
    private PausedGameStatus CreateCurrentGameStatus(GameObject playerGameObject, GameObject diveLampObject,
                                                     string levelPausedFrom, List <float> collectibles,
                                                     List <GameObject> jellyFishGameObjects)
    {
        var playerComponent  = playerGameObject.GetComponent <Player>();
        var pausedGameStatus = new PausedGameStatus
        {
            LevelPausedFrom = levelPausedFrom,
            Health          = playerComponent.health,
            BreathingGas    = playerComponent.breathingGasAmount,
            PositionX       = playerGameObject.transform.position.x,
            PositionY       = playerGameObject.transform.position.y,
            PositionZ       = 0.0f,
            ScaleX          = playerGameObject.transform.localScale.x,
            ScaleY          = playerGameObject.transform.localScale.y,
            ScaleZ          = playerGameObject.transform.localScale.z
        };

        pausedGameStatus.Accessories = new Accessories()
        {
            Collectibles = collectibles,
            DiveLamp     = new DiveLamp()
            {
                RotationX = diveLampObject.transform.rotation.eulerAngles.x,
                RotationY = diveLampObject.transform.rotation.eulerAngles.y,
                RotationZ = diveLampObject.transform.rotation.eulerAngles.z,
            }
        };

        pausedGameStatus.Hazards = new Hazards()
        {
            JellyFishObjects = ConvertJellyFishGameObjects(jellyFishGameObjects)
        };

        return(pausedGameStatus);
    }