コード例 #1
0
 public void Active()
 {
     IsActive    = true;
     audioSource = new AudioSource();
     audioSource.Play(clipSplash);
     AudioManager.DisposeAudioSource(audioSource);
 }
コード例 #2
0
        protected override void OnCollisionWithObject(Collision collision)
        {
            base.OnCollisionWithObject(collision);

            if (collision.collider is IHittable h)
            {
                h.OnHit(this);
            }
            else
            {
                float deltaX = collision.Delta.X;
                float deltaY = collision.Delta.Y;

                if (deltaY > deltaX && Velocity.Length > 0 && !(collision.collider is Player p))
                {
                    Velocity      = Vector2.Zero;
                    CanWalkable   = true;
                    startRotation = false;
                    Position      = new Vector2(Position.X - deltaX, Position.Y);
                    PlayAudio(clipStopped);

                    if (!PlayScene.Player.IsDead)
                    {
                        AudioManager.DisposeAudioSource(audioSource);
                    }
                }
            }
        }
コード例 #3
0
        protected virtual void OnDie()
        {
            IsActive = false;
            Animation.Reset();

            AudioManager.DisposeAudioSource(audioSource);
        }
コード例 #4
0
        public override void Exit()
        {
            base.Exit();

            AudioManager.DisposeAudioSource(audioSource);
            ((LizardEnemy)Owner).FinishAttack();
        }
コード例 #5
0
        protected virtual void PlayAudio(AudioClip clip, float volume = 0.5f)
        {
            audioSource = new AudioSource();

            audioSource.Volume = volume;
            audioSource.Play(clip);
            AudioManager.DisposeAudioSource(audioSource);
        }
コード例 #6
0
ファイル: AkuAku.cs プロジェクト: ngaeta/Crash-Bandicoot-2D
        private void PlayAudio(AudioClip clip)
        {
            if (audioSourceOnPicked == null)
            {
                audioSourceOnPicked = new AudioSource();
            }

            audioSourceOnPicked.Play(clip);
            AudioManager.DisposeAudioSource(audioSourceOnPicked);
        }
コード例 #7
0
        public override void Enter()
        {
            base.Enter();
            //Player.GetSprite().SetAdditiveTint(0, 0.15f, 0, 0);
            Player.RigidBody.Velocity = Vector2.Zero;
            timeToLoadGame            = 4f;

            audioSource = new AudioSource();
            audioSource.Play(clipSmashed);
            AudioManager.DisposeAudioSource(audioSource);
        }
コード例 #8
0
ファイル: TntCrate.cs プロジェクト: ngaeta/Crash-Bandicoot-2D
        public override void OnHit(GameObject hitObject)
        {
            base.OnHit(hitObject);

            if (countdownStarted)
            {
                audioSourceCountDown.Stop();
                AudioManager.DisposeAudioSource(audioSourceCountDown);
                countdownStarted = false;
            }
        }
コード例 #9
0
ファイル: TntCrate.cs プロジェクト: ngaeta/Crash-Bandicoot-2D
        public override void OnDie()
        {
            base.OnDie();

            if (countdownStarted)
            {
                audioSourceCountDown.Stop();
                AudioManager.DisposeAudioSource(audioSourceCountDown);
                countdownStarted = false;
            }
        }
コード例 #10
0
ファイル: Fire.cs プロジェクト: ngaeta/Crash-Bandicoot-2D
        protected override void OnCollisionWithPlayer(Player p, Collision collisionInfo)
        {
            if (audioSourceBurn == null)
            {
                audioSourceBurn = new AudioSource();
            }

            audioSourceBurn.Play(clipBurned);
            AudioManager.DisposeAudioSource(audioSourceBurn);

            p.OnHit(playerAnimDie);
        }
コード例 #11
0
ファイル: TntCrate.cs プロジェクト: ngaeta/Crash-Bandicoot-2D
        private void StartCountDown()
        {
            if (audioSourceCountDown == null)
            {
                audioSourceCountDown = new AudioSource();
            }

            audioSourceCountDown.Play(clipCountdown);
            AudioManager.DisposeAudioSource(audioSourceCountDown);

            Animation.NextFrame();
            Animation.IsActive = true;
            countdownStarted   = true;
        }
コード例 #12
0
        public override void OnHit(GameObject hitObject)
        {
            if (audioSource == null)
            {
                audioSource = new AudioSource();
            }

            audioSource.Play(clipHitted);
            AudioManager.DisposeAudioSource(audioSource);

            isHitted                       = true;
            Animation.IsActive             = true;
            RigidBody.IsCollisionsAffected = false;

            GameManager.CurrentCheckpoint = this;
        }
コード例 #13
0
        protected override void OnCollisionFromY(Player player, Collision colllisionInfo)
        {
            float deltaY = colllisionInfo.Delta.Y;

            if (deltaY < 0)
            {
                OnHit(player);
            }
            else if (PlayerImpactY >= minInpactToDetectYCollision)
            {
                bounceMultiplierY = Math.Abs(bounceMultiplierY);
                bounceBehaviour.Bounce(player);

                audioSourceBounce = new AudioSource();
                audioSourceBounce.Play(clipBounce);
                AudioManager.DisposeAudioSource(audioSourceBounce);
            }
            //else //dici al player che è grounded? mentre il player se è bounce non fa nulla??? è il player che chiama Bounce?? on collision del player viene chiamato alla fine
        }
コード例 #14
0
        public override void Update()
        {
            if (crateTriggered)
            {
                if (timeToTriggered <= 0)
                {
                    audioSource = new AudioSource();
                    audioSource.Play(clipTriggered);
                    AudioManager.DisposeAudioSource(audioSource);

                    IsActive       = false;
                    crate.IsActive = true;
                    crateTriggered = false;
                }
                else
                {
                    timeToTriggered -= Game.DeltaTime;
                }
            }
        }