Esempio n. 1
0
    /// <summary>
    /// Recogemos los datos del jugador y los guardamos en el fichero de guardado
    /// </summary>
    /// <param name="collision"></param>
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (!collision.CompareTag("Knuckles") || isActive)
        {
            return;
        }
        //Es un checkpoint válido. Reseteo todos los Chekpoints y lo habilito

        Knuckles knux = collision.GetComponent <Knuckles>();

        isActive = true;
        _ani.SetTrigger("Activate");

        if (_bgmChange && _bgmSource)
        {
            _bgmSource.clip = _bgmChange;
            _bgmSource.Play();
        }

        AudioSource.PlayClipAtPoint(_sfxActivated, transform.position);

        FSaveData data = new FSaveData();

        data.Position   = collision.transform.position;
        data.SceneIndex = SceneManager.GetActiveScene().buildIndex;
        data.bDodge     = knux.bDodge;
        data.bUppercut  = knux.bUppercut;
        data.iMaxJumps  = knux.iMaxJump;

        string s = JsonUtility.ToJson(data);

        Save(s);
    }
Esempio n. 2
0
    public void Continue()
    {
        string    Json  = File.ReadAllText(string.Format("{0}{1}", FSaveData.FullPath, FSaveData.FileName));
        FSaveData datos = JsonUtility.FromJson <FSaveData>(Json);

        if (datos != null)
        {
            Knuckles.bRestoreLocation = true;
            Knuckles.RestoreLocation  = datos.Position;
            Knuckles.bRestoreDodge    = datos.bDodge;
            Knuckles.bRestoreUppercut = datos.bUppercut;
            Knuckles.iRestoreMaxJump  = datos.iMaxJumps;

            SceneManager.LoadSceneAsync(datos.SceneIndex, LoadSceneMode.Single);
        }
        else
        {
            //Como no hay nada que cargar, empezamos nueva partida
            NewGame();
        }
    }