Exemplo n.º 1
0
        /// <summary>
        /// Play BGM.
        /// </summary>
        /// <param name="path">Resources in File path</param>
        /// <param name="fadeTime">Fade In Time</param>
        public void PlayBGM(string path, float fadeTime = 0f, bool isLoop = true)
        {
            AudioClip clip = ClipLoad(path);

            if (clip != null)
            {
                bgmPlayer.Play(clip, fadeTime, isLoop);
            }
        }
Exemplo n.º 2
0
        private void MainOsu()
        {
            BlackCurtain.Visibility = Visibility.Collapsed;
            imgOsuLogo.BeginAnimation(OpacityProperty, null);
            imgOsuLogo.Opacity = 1;
            currentSection     = OsuSection.MainScreen;
            HotkeyImplementing();
            BackgroundSlide();
            BGMPlayer.Source = new Uri(workingResources.BaseDir + @"\Resources\Default Audio\Circle.wav");
            BGMPlayer.Play();
            MainOsuHeader.Visibility = Visibility.Visible;
            BGMPlayer.MediaEnded    += BGMPlayer_MediaEnded;
            AccountInfo.Visibility   = Visibility.Visible;
            imgOsuLogo.Margin        = new Thickness(130);
            defaultLogoMargin        = imgOsuLogo.Margin;
            osuCookieBehaviour       = OsuCookieBehaviour.ClickToOpenTab;
            ChangeAllSettingIconUnlit(SettingIcon1);
            SettingIcon1.Opacity = 1;
            OsuBouncingController(240);
            grdBackLightContainer.Visibility = Visibility.Visible;

            //Add default margin to SelectionTab
            imgPlayTab.Tag   = new EndAnimationPos(new Thickness(450, 155, 210, 515), new Thickness(490, 155, 170, 515));
            imgExitTab.Tag   = new EndAnimationPos(new Thickness(450, 505, 210, 165), new Thickness(490, 505, 170, 165));
            imgEditTab.Tag   = new EndAnimationPos(new Thickness(430, 275, 130, 395), new Thickness(470, 275, 130, 395));
            imgOptionTab.Tag = new EndAnimationPos(new Thickness(440, 385, 110, 285), new Thickness(470, 385, 130, 285));
            imgSoloTab.Tag   = new EndAnimationPos(new Thickness(460, 225, 210, 447), new Thickness(500, 225, 170, 447));
            imgMultiTab.Tag  = new EndAnimationPos(new Thickness(460, 335, 200, 335), new Thickness(500, 335, 160, 335));
            imgBackTab.Tag   = new EndAnimationPos(new Thickness(460, 440, 200, 230), new Thickness(500, 440, 160, 230));
        }
Exemplo n.º 3
0
 private void PreviousClick(object sender, MouseButtonEventArgs e)
 {
     LastSongIndex--;
     BGMPlayer.Source            = new Uri(beatmaps[LastSongIndex].GroupPath + @"\Background.mp3");
     workingResources.Nowplaying = beatmaps[LastSongIndex].Artist + " - " + beatmaps[LastSongIndex].SongName;
     SongTrans();
     ShowOverlayMessage("<< Prev");
     BGMPlayer.Play();
 }
Exemplo n.º 4
0
    /// <summary>
    /// 再生
    /// </summary>
    public void Play()
    {
        if (Player.IsPlaying)
        {
            return;
        }

        var resName = ResNameData[Random.Range(0, ResNameData.Count - 1)];

        Player.Play(resName, FadeTime);
    }
Exemplo n.º 5
0
        private void FadeInBlackBackGround()
        {
            BGMPlayer.Source = new Uri(workingResources.BaseDir + @"\Resources\Default Audio\Welcome.wav");
            BGMPlayer.Play();
            DoubleAnimation animation = new DoubleAnimation(0, 1, TimeSpan.FromSeconds(1));

            BlackCurtain.BeginAnimation(OpacityProperty, animation);
            DoubleAnimation animationLogo = new DoubleAnimation(1, 0, TimeSpan.FromSeconds(1));

            imgOsuLogo.BeginAnimation(OpacityProperty, animationLogo);
        }
Exemplo n.º 6
0
    IEnumerator Stage1Transition()
    {
        PlayerMovement playerMovement = player.GetComponent <PlayerMovement>();

        playerMovement.StartCoroutine(playerMovement.GoToThePositonAndLookCenter(8));
        yield return(TimeSlowDown());

        screenShaker.Call(10, 3);
        yield return(new WaitWhile(() => screenShaker.active));

        Transform bossTransform = boss.transform;

        while (bossTransform.position.y > -16)
        {
            yield return(new WaitForFixedUpdate());

            bossTransform.position += Vector3.down * .3f;
        }

        yield return(new WaitForSeconds(.5f));

        Animator bossAnimator = boss.GetComponent <Animator>();

        bossAnimator.enabled = true;
        bossAnimator.SetTrigger("Show");
        tempBossVoice.PlayDelayed(.1f);
        bossTransform.position = new Vector2(bossTransform.position.x, -6);

        yield return(new WaitForSeconds(2f));

        bossAnimator.enabled = false;
        BGMPlayer.Play();
        yield return(new WaitForSeconds(.5f));

        battleStart = DateTime.Now;
        stageTitle.SetCard(1);
        playerMovement.EndCutscene();
        bossAnimator.enabled = true;
        bossAnimator.SetTrigger("Summon");
        yield return(new WaitForSeconds(.3f));

        screenShaker.Call(15, 3);
        BossHealth bossHealth = boss.GetComponent <BossHealth>();

        bossHealth.StartCoroutine(bossHealth.Refill());
        yield return(new WaitForSeconds(2));

        bossAnimator.SetTrigger("Toggle");
    }
Exemplo n.º 7
0
    private void Start()
    {
        int            index;
        BossController bossController = boss.GetComponent <BossController>();

        if ((index = bossController.GetStageIndex()) < 1)
        {
            PlayerHealth.deathCount = 0;
        }
        else
        {
            BGMPlayer.Play();
            stageTitle.SetCard(index);
        }
    }
Exemplo n.º 8
0
 private void PlayClick(object sender, MouseButtonEventArgs e)
 {
     pause.Set();
     if (workingResources.IsBGMPause)
     {
         BGMPlayer.Play();
     }
     else
     {
         BGMPlayer.Position = TimeSpan.FromSeconds(0);
         BGMPlayer.Play();
     }
     ShowOverlayMessage("Play");
     workingResources.IsBGMPause = false;
 }
    // Update is called once per frame
    void FixedUpdate()
    {
        Player_FixedUpdate();
        if (Input.anyKeyDown)
        {
            Pause = true;
            BGMPlayer.Pause();
        }
        if (Input.GetKeyDown(KeyCode.Space))
        {
            Pause = false;
            if (StageTime < 0)
            {
                BGMPlayer.time = 0;
                BGMPlayer.PlayDelayed(0 - StageTime);
            }
            else if (StageTime >= Stage.BGM.length)
            {
            }
            else
            {
                BGMPlayer.time = StageTime;
                BGMPlayer.Play();
            }
        }
        DisPlayDataUpdate();

        EditorDataUpdate();

        if (Input.GetKeyDown(KeyCode.Delete))
        {
            Delete();
        }
        if (Input.GetKeyDown(KeyCode.UpArrow) && StageTime < Stage.BGM.length)
        {
            MoveTimewithKey(1);
        }
        else if (Input.GetKeyDown(KeyCode.DownArrow) && StageTime > 0)
        {
            MoveTimewithKey(-1);
        }
    }
Exemplo n.º 10
0
        private void Present()
        {
            // Enemy Model -> Views
            // 敵の名前をViewに表示する
            _enemyView.DisplayName(_enemy.Name);
            // 敵の姿をViewに表示する
            _enemyView.DisplayFigure(_enemy.Figure);
            // 敵のHPをViewに表示する
            _enemy.CurrentHitPoint
            .Subscribe(_enemyView.DisplayHp)
            .AddTo(_compositeDisposable);
            // 敵が攻撃を受けたことをViewに通知する
            _enemy.OnDamagedAsObservable()
            .Subscribe(damagedPoint => _enemyView.DisplayDamaged(damagedPoint))
            .AddTo(_compositeDisposable);
            // 敵が殺されたことをViewに通知する
            _enemy.OnDiedAsObservable()
            .Subscribe(attackerName => _enemyView.DisplayDied(attackerName))
            .AddTo(_compositeDisposable);

            // Player Model -> Views
            // プレイヤーの名前をViewに表示する
            _playerView.DisplayName(_player.Name);
            // プレイヤーの姿をViewに表示する
            _playerView.DisplayFigure(_player.Figure);
            // プレイヤーのHPをViewに表示する
            _player.CurrentHitPoint
            .Subscribe(_playerView.DisplayHp)
            .AddTo(_compositeDisposable);
            // プレイヤーが攻撃されたことをViewに通知する
            _player.OnDamagedAsObservable()
            .Subscribe(damagedPoint => _playerView.DisplayDamaged(damagedPoint))
            .AddTo(_compositeDisposable);
            // プレイヤーが死んだことをViewに通知する
            _player.OnDiedAsObservable()
            .Subscribe(attackerName => _playerView.DisplayDied(attackerName))
            .AddTo(_compositeDisposable);
            // プレイヤーが回復したことをViewに通知する
            _player.OnHealedAsObservable()
            .Subscribe(healedPoint => _playerView.DisplayHealed(healedPoint))
            .AddTo(_compositeDisposable);

            // Enemy View -> Models
            // 敵が攻撃したことをModelに通知する
            _enemyView.OnAttackTriggerAsObservable()
            .Subscribe(attackerName => _player.TakeDamage(attackerName, _enemy.AttackPower))
            .AddTo(_compositeDisposable);

            // Player View -> Models
            // プレイヤーが攻撃したことを通知する
            _playerView.OnAttackTriggerAsObservable()
            .Subscribe(attackerName => _enemy.TakeDamage(attackerName, _player.AttackPower))
            .AddTo(_compositeDisposable);
            // プレイヤーが回復魔法を唱えたことを通知する
            _playerView.OnHealTriggerAsObservable()
            .Subscribe(_ => _player.Heal(_player.HealPower))
            .AddTo(_compositeDisposable);

            // 今回は一時的にここでBGM再生処理を行う
            _bgmPlayer.Play();
        }
Exemplo n.º 11
0
 void Start()
 {
     Player.Play(ResName, FadeData);
 }
Exemplo n.º 12
0
 private void NextClick(object sender, MouseButtonEventArgs e)
 {
     NextSong();
     ShowOverlayMessage(">> Next");
     BGMPlayer.Play();
 }
Exemplo n.º 13
0
 /// <summary>
 /// お絵かきモード
 /// </summary>
 void Drawing()
 {
     player.Play(drawingResName, fadeTime);
 }
Exemplo n.º 14
0
    void ChangeState(State state)
    {
        switch (state)
        {
        case State.WAITING_USER_INPUT:
            for (int i = attackUp.Count - 1; i >= 0; i--)
            {
                attackUp[i].turnNum--;
                if (attackUp[i].turnNum <= 0)
                {
                    attackUp.Remove(attackUp[i]);
                }
            }
            for (int i = damagedUp.Count - 1; i >= 0; i--)
            {
                damagedUp[i].turnNum--;
                if (damagedUp[i].turnNum <= 0)
                {
                    damagedUp.Remove(damagedUp[i]);
                }
            }
            this.state = State.WAITING_USER_INPUT;
            break;

        case State.PLAYER_ATTACK:
            playerAttackRemaining.Restart(PLAYER_ATTACK_TIME);
            for (int i = 0; i < attackPower.Length; i++)
            {
                attackPower[i] = 0f;
            }
            this.state = State.PLAYER_ATTACK;
            break;

        case State.WAITING_ALL_PLAYER_ATTACKS_END:
            playerAttackEffectRemainingTime = 1f;
            this.state = State.WAITING_ALL_PLAYER_ATTACKS_END;
            break;

        case State.ENEMY_DAMAGING:
            enemyDamagingRemainingTime = 3f;
            float one    = 0.15f;
            float space  = 0.05f;
            int   select = Random.Range(0, 6);
            if (select == 0)
            {
                tryangleAttackTiming = enemyDamagingRemainingTime - Random.Range(0f, one);
                circleAttackTiming   = enemyDamagingRemainingTime - Random.Range(one + space, one * 2 + space);
                crossAttackTiming    = enemyDamagingRemainingTime - Random.Range(one * 2 + space * 2, one * 3 + space * 2);
            }
            if (select == 1)
            {
                tryangleAttackTiming = enemyDamagingRemainingTime - Random.Range(0f, one);
                crossAttackTiming    = enemyDamagingRemainingTime - Random.Range(one + space, one * 2 + space);
                circleAttackTiming   = enemyDamagingRemainingTime - Random.Range(one * 2 + space * 2, one * 3 + space * 2);
            }
            if (select == 2)
            {
                crossAttackTiming    = enemyDamagingRemainingTime - Random.Range(0f, one);
                tryangleAttackTiming = enemyDamagingRemainingTime - Random.Range(one + space, one * 2 + space);
                circleAttackTiming   = enemyDamagingRemainingTime - Random.Range(one * 2 + space * 2, one * 3 + space * 2);
            }
            if (select == 3)
            {
                crossAttackTiming    = enemyDamagingRemainingTime - Random.Range(0f, one);
                circleAttackTiming   = enemyDamagingRemainingTime - Random.Range(one + space, one * 2 + space);
                tryangleAttackTiming = enemyDamagingRemainingTime - Random.Range(one * 2 + space * 2, one * 3 + space * 2);
            }
            if (select == 4)
            {
                circleAttackTiming   = enemyDamagingRemainingTime - Random.Range(0f, one);
                tryangleAttackTiming = enemyDamagingRemainingTime - Random.Range(one + space, one * 2 + space);
                crossAttackTiming    = enemyDamagingRemainingTime - Random.Range(one * 2 + space * 2, one * 3 + space * 2);
            }
            if (select == 5)
            {
                circleAttackTiming   = enemyDamagingRemainingTime - Random.Range(0f, one);
                crossAttackTiming    = enemyDamagingRemainingTime - Random.Range(one + space, one * 2 + space);
                tryangleAttackTiming = enemyDamagingRemainingTime - Random.Range(one * 2 + space * 2, one * 3 + space * 2);
            }
            tryangleAttackStartEffected = false;
            circleAttackStartEffected   = false;
            crossAttackStartEffected    = false;
            enemyDamagedTryangle        = false;
            enemyDamagedCircle          = false;
            enemyDamagedCross           = false;
            this.state = State.ENEMY_DAMAGING;
            break;

        case State.ENEMY_ATTACK:
            enemyAttacked            = false;
            enemyAttackRemainingTime = 3.5f;
            enemyManager.AttackEffect();
            this.state = State.ENEMY_ATTACK;
            break;

        case State.NEXT_WAVE:
            nextWaveRemainingTime = 2f;
            enemyManager.transform.localPosition = new Vector3(0f, 1200f, 0f);
            this.state = State.NEXT_WAVE;

            wave++;
            if (wave < CurrentStageData.Data.enemyList.Count)
            {
                foreach (var enemy in CurrentStageData.Data.enemyList[wave].List)
                {
                    enemyManager.SpawnEnemy(enemy);
                }
                if (wave == CurrentStageData.Data.enemyList.Count - 1)
                {
                    BGMPlayer.Play(BGM.Name.BOSS);
                }
            }
            else
            {
                ChangeState(State.CLEAR);
            }

            break;

        case State.CLEAR:
            BGMPlayer.Play(BGM.Name.CLEAR);
            SceneManager.LoadScene("ResultSuccess", LoadSceneMode.Additive);
            this.state = State.CLEAR;
            break;

        case State.GAME_OVER:
            BGMPlayer.Play(BGM.Name.GAME_OVER);
            SceneManager.LoadScene("ResultFaild", LoadSceneMode.Additive);
            this.state = State.GAME_OVER;
            break;
        }
    }