예제 #1
0
        //セーブデータ用のバイナリ読み込み
        public void ReadSaveDataBuffer(BinaryReader reader)
        {
            int version = reader.ReadInt32();

            if (version == VERSION)
            {
                int count = reader.ReadInt32();
                for (int i = 0; i < count; ++i)
                {
                    string          streamName = reader.ReadString();
                    SoundStreamFade stream     = GetStreamAndCreateIfMissing(streamName);
                    stream.ReadSaveData(reader, () => SoundMangaer.GetMasterVolume(streamName));
                }
            }
            else if (version == VERSION_0)
            {
                //BGMと環境音のみを再生
                GetStreamAndCreateIfMissing(SoundManager.IdBgm).ReadSaveData(reader, () => SoundMangaer.GetMasterVolume(SoundManager.IdBgm));
                GetStreamAndCreateIfMissing(SoundManager.IdAmbience).ReadSaveData(reader, () => SoundMangaer.GetMasterVolume(SoundManager.IdAmbience));
            }
            else
            {
                Debug.LogError(LanguageErrorMsg.LocalizeTextFormat(ErrorMsg.UnknownVersion, version));
            }
        }
예제 #2
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (state == State.Dead)
     {
         return;
     }
     pipesPassed++;
     if (OnPassPipes != null)
     {
         OnPassPipes(this, EventArgs.Empty);
     }
     SoundMangaer.PlaySound(SoundMangaer.Clip.Score);
 }
예제 #3
0
    // Start is called before the first frame update
    void Awake()
    {
        if (SoundMangaer.instance == null)
        {
            SoundMangaer.instance = this;
        }

        else if (SoundMangaer.instance != this)
        {
            Destroy(gameObject);
        }

        DontDestroyOnLoad(gameObject);
    }
예제 #4
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (state != State.Dead)
     {
         if (OnDeath != null)
         {
             OnDeath(this, EventArgs.Empty);
         }
         rigidBody.AddForce(new Vector2(-0.4f, 0.4f) * DEATH_FORCE);
         rigidBody.rotation += 45f;
         SoundMangaer.PlaySound(SoundMangaer.Clip.Hit);
         Invoke("PlayDeathSound", DEATH_SOUND_DELAY);
         Invoke("HandleDeath", DEATH_HANDLE_DELAY);
         state = State.Dead;
     }
 }
예제 #5
0
 private void Jump()
 {
     if (state == State.Waiting)
     {
         rigidBody.bodyType = RigidbodyType2D.Dynamic;
         rigidBody.velocity = Vector2.zero;
         rigidBody.AddForce(new Vector2(0, 1) * JUMP_FORCE);
         OnStart(this, EventArgs.Empty);
         state = State.Playing;
         SoundMangaer.PlaySound(SoundMangaer.Clip.Jump);
     }
     else if (state == State.Playing)
     {
         rigidBody.velocity = Vector2.zero;
         rigidBody.AddForce(new Vector2(0, 1) * JUMP_FORCE);
         SoundMangaer.PlaySound(SoundMangaer.Clip.Jump);
     }
 }
예제 #6
0
 private void PlayDeathSound()
 {
     SoundMangaer.PlaySound(SoundMangaer.Clip.Died);
 }