IEnumerator Countdown() { while (fade.IsFade) { yield return(null); } aud.Play(); for (int count = countDownImage.Length - 1; count >= 0; count--) { //表示 countDownImage[count].SetActive(true); //1秒待つ float t = 0.0f; while (t <= 1.0f) { t += Time.unscaledDeltaTime; yield return(null); } //消す countDownImage[count].SetActive(false); } Time.timeScale = 1.0f; yield return(new WaitForSeconds(1.0f)); BgmManager.GetInstance().Play(BgmEnum.Game, true, 0.3f); }
private void Start() { fade = Fade.instance; fade.StartFadeIn(); aud = GetComponent <AudioSource>(); BgmManager.GetInstance().Stop(); StartCoroutine(Gacha()); }
void Start() { PointManager.Reset(); Time.timeScale = 0.0f; BgmManager.GetInstance().Stop(); aud = GetComponent <AudioSource>(); fade = Fade.instance; fade.StartFadeIn(); StartCoroutine(Countdown()); }
private void Start() { fade = Fade.instance; fade.StartFadeIn(); BgmManager.GetInstance().Play(BgmEnum.Select); viewportMin = Camera.main.ViewportToWorldPoint(Vector2.zero); viewportMax = Camera.main.ViewportToWorldPoint(Vector2.one); for (int i = 0; i < PlayerCount.MaxValue; ++i) { PlayerJoinManager.SetJoinInfo(i, false); } for (int i = 0; i < playerNum; ++i) { playerUI[i] = new PlayerUI(); foreach (Transform child in playerUIList[i].transform) { if (child.name == "Cursor") { playerUI[i].cursor = child.gameObject; } else if (child.name == "Capsule") { playerUI[i].capusuleTransform = child.transform; } else if (child.name == "OK") { playerUI[i].okObj = child.gameObject; playerUI[i].startOkScale = child.gameObject.transform.localScale; child.gameObject.SetActive(false); } } } for (int i = 0; i < animalNum; ++i) { startAnimal[i] = animalArray[i].transform.localPosition; foreach (Transform child in animalArray[i].transform) { if (child.tag == "Animal") { animalMoveObj[i] = child; animalAnimation[i] = child.gameObject.GetComponent <PlayerAnimationController>(); } else { message[i] = child.gameObject; message[i].SetActive(false); } } PlayerType type = animalArray[i].GetComponent <CharaType>().type; animalIndex.Add(type, i); } }
IEnumerator ResultStart() { while (fade.IsFade) { yield return(null); } //各順位ごとにプレイヤーの番号を格納 List <int>[] counts = new List <int> [PlayerCount.MaxValue]; for (int i = 0; i < PlayerCount.MaxValue; ++i) { counts[i] = new List <int>(); } for (int i = 0; i < PlayerCount.MaxValue; ++i) { if (!PlayerJoinManager.IsJoin(i)) { continue; } counts[PointManager.GetRank(i) - 1].Add(i); } yield return(new WaitForSeconds(0.5f)); // くす玉を開く間隔 const float intervalTime = 1.0f; int index = PlayerCount.MaxValue - 1; for (int i = PlayerCount.MaxValue - 1; i >= 0; --i) { for (int j = 0; j < counts[i].Count; ++j) { KusudamaAnimationPlay(counts[i][j]); if (i == 0) { Instantiate( kamifubukiPrefab, playerPosArray[counts[i][j]].transform.position + new Vector3(0, 2, 0), kamifubukiPrefab.transform.rotation); } --index; } if (counts[i].Count != 0) { aud.Play(); yield return(new WaitForSeconds(intervalTime)); } } yield return(new WaitForSeconds(1.0f)); BgmManager.GetInstance().Play(BgmEnum.Result, false); animEnd = true; }
void Start() { fade = Fade.instance; fade.StartFadeIn(); aud = GetComponent <AudioSource>(); PointManager.ApplyRank(); kusudamaArray = new GameObject[PlayerCount.MaxValue]; rankTextArray = new Image[PlayerCount.MaxValue]; Generate(); BgmManager.GetInstance().Stop(); StartCoroutine(ResultStart()); }
IEnumerator Gacha() { while (fade.IsFade) { yield return(null); } gachaAnimator.SetTrigger("TurnTrigger"); aud.PlayOneShot(gachaRotateAudio); yield return(new WaitForSeconds(1.4f)); // ボールを出す数 int gachaBallNum = 20; int count = 0; int seed = 1; float gachaIntervalTimeBase = 0.8f; float gachaIntervalTime = gachaIntervalTimeBase * gachaIntervalTimeBase; float ballSpeed = 0.04f; float animatorSpeed = 1.0f; while (gachaBallNum > count && titleAnimationPlaying) { gachaAnimator.SetTrigger("ShakeTrigger"); aud.PlayOneShot(ballGenerateAudio); // 球の生成 GachaGenerator(ballSpeed, seed++); count++; yield return(new WaitForSeconds(gachaIntervalTime)); // 排出する時間を設定 gachaIntervalTimeBase -= gachaIntervalTimeBase / gachaBallNum; gachaIntervalTime = gachaIntervalTimeBase * gachaIntervalTimeBase; // 球のスピードを設定 ballSpeed += ballSpeed * 0.03f; // アニメーションスピードを設定 animatorSpeed += animatorSpeed * 0.02f; gachaAnimator.SetFloat("Speed", animatorSpeed); } if (!titleAnimationPlaying) { BgmManager.GetInstance().Play(BgmEnum.Title); yield break; } titleAnimator.SetTrigger("FadeTrigger"); var anim = titleAnimator.GetCurrentAnimatorStateInfo(0); yield return(new WaitForSeconds(1.0f)); BgmManager.GetInstance().Play(BgmEnum.Title); }