public void SSAngle(PlayerInfo.PlayerType player) { /*Time.timeScale = 0.1f; * DOVirtual.DelayedCall(1f,()=>{ * Time.timeScale = 1; * });*/ /*Vector3 p = transform.position; * Quaternion q = transform.rotation; * * if((GameMaster.Instance.mode == GameMaster.GameMode.TwoPlayerMode * && player == PlayerInfo.PlayerType.Player1) || * (GameMaster.Instance.ctrPos == GameMaster.CtrLeft && player == PlayerInfo.PlayerType.Player1)){ * Sequence sq = DOTween.Sequence (); * sq.Append (transform.DOMove (new Vector3(0.05f,0.6f,-0.61f), 0.3f)); * sq.Join (transform.DORotate (new Vector3(5.25f,-12.86f,0f), 0.3f)); * sq.OnComplete (() => { * Time.timeScale = 0.1f; * DOVirtual.DelayedCall(1f,()=>{ * Time.timeScale = 1; * }); * * }); * sq.Play (); * }*/ }
public void Win(PlayerInfo.PlayerType player) { if (GameMaster.Instance.mode == GameMaster.GameMode.TwoPlayerMode) { if (player == PlayerInfo.PlayerType.Player1) { Sequence sq = DOTween.Sequence(); sq.Append(transform.DOMove(p1WinPos, 2f)); sq.Join(transform.DORotate(p1WinRotate, 2f)); sq.Play(); } else { Sequence sq = DOTween.Sequence(); sq.Append(transform.DOMove(p2WinPos, 2f)); sq.Join(transform.DORotate(p2WinRotate, 2f)); sq.Play(); } } else { if (GameMaster.Instance.ctrPos == GameMaster.CtrLeft) { if (player == PlayerInfo.PlayerType.Player1) { Sequence sq = DOTween.Sequence(); sq.Append(transform.DOMove(p1WinPos, 2f)); sq.Join(transform.DORotate(p1WinRotate, 2f)); sq.Play(); } else { Sequence sq = DOTween.Sequence(); sq.Append(transform.DOMove(p2WinPos, 2f)); sq.Join(transform.DORotate(p2WinRotate, 2f)); sq.Play(); } } else { if (player == PlayerInfo.PlayerType.Player1) { Sequence sq = DOTween.Sequence(); sq.Append(transform.DOMove(p1RWinPos, 2f)); sq.Join(transform.DORotate(p1RWinRotate, 2f)); sq.Play(); } else { Sequence sq = DOTween.Sequence(); sq.Append(transform.DOMove(p2RWinPos, 2f)); sq.Join(transform.DORotate(p2RWinRotate, 2f)); sq.Play(); } } } }
private bool IsPlayer(PlayerInfo.PlayerType playerType) { if ((GameMaster.Instance.ctrPos == GameMaster.CtrLeft && playerType == PlayerInfo.PlayerType.Player1) || (GameMaster.Instance.ctrPos == GameMaster.CtrRight && playerType == PlayerInfo.PlayerType.Player2)) { return(true); } return(false); }
public void Init(PlayerInfo.PlayerType type) { playerInfo.playerType = type; gameObject.layer = LayerMask.NameToLayer("Player"); action = PlayerInfo.Action.None; if (playerInfo.playerType == PlayerInfo.PlayerType.Player1) { playerInfo.charaType = GameMaster.Instance.charaType1; } else { playerInfo.charaType = GameMaster.Instance.charaType2; } if (GameMaster.Instance.mode == GameMaster.GameMode.TwoPlayerMode) { playerInfo.humanType = PlayerInfo.HumanType.Human; GetComponent <EnemyAi> ().enabled = false; } else { if (GameMaster.Instance.ctrPos == GameMaster.CtrLeft) { //左ならCOMは右 if (playerInfo.playerType == PlayerInfo.PlayerType.Player1) { GetComponent <EnemyAi> ().enabled = false; playerInfo.humanType = PlayerInfo.HumanType.Human; } else { humanPlayer = GameObject.Find("Player1"); playerInfo.humanType = PlayerInfo.HumanType.Com; GetComponent <EnemyAi> ().enabled = true; enemyAi = GetComponent <EnemyAi> (); } } else { //右ならCOMは左 if (playerInfo.playerType == PlayerInfo.PlayerType.Player1) { humanPlayer = GameObject.Find("Player2"); playerInfo.humanType = PlayerInfo.HumanType.Com; GetComponent <EnemyAi> ().enabled = true; enemyAi = GetComponent <EnemyAi> (); } else { GetComponent <EnemyAi> ().enabled = false; playerInfo.humanType = PlayerInfo.HumanType.Human; } } } }
public void Lose(PlayerInfo.PlayerType player) { Vector3 endPos = Vector3.zero; Vector3 endRotate = Vector3.zero; if (player == PlayerInfo.PlayerType.Player1) { endPos = lLosePos; endRotate = lLoseRotate; } else { endPos = rLosePos; endRotate = rLoseRotate; } Sequence sq = DOTween.Sequence(); sq.Append(transform.DOMove(endPos, 3f)); sq.Join(transform.DORotate(endRotate, 3f)); sq.Play(); }
private void ShowChara(PlayerInfo.PlayerType player, int chara, int index) { GameObject charaObj = null; if (chara == PlayerInfo.KOHAKU) { if (player == PlayerInfo.PlayerType.Player1) { charaObj = SwitchChara(kohaku1Array, index); } else { charaObj = SwitchChara(kohaku2Array, index); } } else if (chara == PlayerInfo.YUKO) { if (player == PlayerInfo.PlayerType.Player1) { charaObj = SwitchChara(yuko1Array, index); } else { charaObj = SwitchChara(yuko2Array, index); } } else if (chara == PlayerInfo.MISAKI) { if (player == PlayerInfo.PlayerType.Player1) { charaObj = SwitchChara(misaki1Array, index); } else { charaObj = SwitchChara(misaki2Array, index); } } SetBuyButton(player, charaObj); }
private GameObject GetCharactor(PlayerInfo.PlayerType player, int chara, int index) { GameObject charactor = null; if (chara == PlayerInfo.KOHAKU) { if (player == PlayerInfo.PlayerType.Player1) { charactor = GetChara(kohaku1Array, index); } else { charactor = GetChara(kohaku2Array, index); } } else if (chara == PlayerInfo.YUKO) { if (player == PlayerInfo.PlayerType.Player1) { charactor = GetChara(yuko1Array, index); } else { charactor = GetChara(yuko2Array, index); } } else if (chara == PlayerInfo.MISAKI) { if (player == PlayerInfo.PlayerType.Player1) { charactor = GetChara(misaki1Array, index); } else { charactor = GetChara(misaki2Array, index); } } return(charactor); }
IEnumerator ShowEndCanvas(PlayerInfo.PlayerType winPlayerType) { //そこまで! r3.SetActive(true); SoundMainScene.Instans.PlaySe(SoundMainScene.Instans.sokomade); Sound.Instans.Stop(); yield return(new WaitForSeconds(2)); mainCanvas.SetActive(false); endCanvas.SetActive(true); GameMaster.Instance.p1Win = 0; GameMaster.Instance.p2Win = 0; if (GameMaster.Instance.mode == GameMaster.GameMode.OnePlayerMode || GameMaster.Instance.mode == GameMaster.GameMode.TwoPlayerMode) { GameMaster.Instance.round = 0; if (IsPlayer(winPlayerType) || GameMaster.Instance.mode == GameMaster.GameMode.TwoPlayerMode) { if (winPlayerType == PlayerInfo.PlayerType.Player1) { OnVictory(GameMaster.Instance.charaType1, player1); } else { OnVictory(GameMaster.Instance.charaType2, player2); } // 勝ちキャラアップ Camera.main.gameObject.SendMessage("Win", winPlayerType); yield return(new WaitForSeconds(3)); // キャラのセリフ if (winPlayerType == PlayerInfo.PlayerType.Player1) { talkEvent.SendMessage("OnSerihu", GameMaster.Instance.charaType1); } else { talkEvent.SendMessage("OnSerihu", GameMaster.Instance.charaType2); } yield return(new WaitForSeconds(0.5f)); } } if (GameMaster.Instance.mode == GameMaster.GameMode.TwoPlayerMode) { //対戦モード yield return(new WaitForSeconds(1.5f)); Application.CaptureScreenshot("screenShot.png"); yield return(new WaitForSeconds(1.5f)); SetShareImage(); //二人プレイ endPanel.SetActive(true); retryButton.SetActive(true); nextButtonText.GetComponent <TextMeshProUGUI>().text = "きゃらせんたく"; } else if (GameMaster.Instance.mode == GameMaster.GameMode.OnePlayerMode) { //ストーリーモード ゲームオーバー判定 if (IsPlayer(winPlayerType)) { yield return(new WaitForSeconds(1.5f)); Application.CaptureScreenshot("screenShot.png"); yield return(new WaitForSeconds(1.5f)); //シェア画像生成 SetShareImage(); int currentCoin = EncryptedPlayerPrefs.LoadInt(Const.KEY_COIN, 0); currentCoinText.GetComponent <TextMeshProUGUI> ().text = currentCoin.ToString(); coinPanel.SetActive(true); //コイン計算 gotCoins = level * (GameMaster.Instance.stage + 1) * 10; SetCoinText(gotCoins); CountUpCoin(currentCoin, gotCoins); endPanel.SetActive(true); //ステージ繰り上げ GameMaster.Instance.stage += 1; } else { // ゲームオーバーの場合 levelTextPanel.SetActive(false); // カメラ移動 if (GameMaster.Instance.ctrPos == GameMaster.CtrLeft) { Destroy(player2); // カメラ移動 Camera.main.gameObject.SendMessage("Lose", PlayerInfo.PlayerType.Player1); } if (GameMaster.Instance.ctrPos == GameMaster.CtrRight) { Destroy(player1); Camera.main.gameObject.SendMessage("Lose", PlayerInfo.PlayerType.Player2); } yield return(new WaitForSeconds(1.5f)); SoundMainScene.Instans.PlaySe(SoundMainScene.Instans.zannen); gameOverPanel.SetActive(true); gameOverText.SetActive(true); } } else { //勝ち抜きモード if (winPlayerType == PlayerInfo.PlayerType.Player1) { Destroy(player2); transform.position = player1LPos; OnVictoryNonVoice(GameMaster.Instance.charaType1, player1); // 負けキャラアップ Camera.main.gameObject.SendMessage("Win", PlayerInfo.PlayerType.Player1); } else { Destroy(player1); OnVictoryNonVoice(GameMaster.Instance.charaType2, player2); // 負けキャラアップ Camera.main.gameObject.SendMessage("Win", PlayerInfo.PlayerType.Player2); } SoundMainScene.Instans.PlaySe(SoundMainScene.Instans.kekka); // 結果発表 yield return(new WaitForSeconds(3f)); katinukiKekkaPanel.SetActive(true); yield return(new WaitForSeconds(1.5f)); katinukiText.GetComponent <TextMeshProUGUI>().text = GameMaster.Instance.round + "にんぬき!"; katinukiText.SetActive(true); yield return(new WaitForSeconds(0.5f)); Application.CaptureScreenshot("screenShot.png"); yield return(new WaitForSeconds(1.5f)); SetShareImage(); int currentCoin = EncryptedPlayerPrefs.LoadInt(Const.KEY_COIN, 0); currentCoinText.GetComponent <TextMeshProUGUI> ().text = currentCoin.ToString(); yield return(new WaitForSeconds(0.5f)); //勝ち抜き数で評価ボイス if (0 <= GameMaster.Instance.round && GameMaster.Instance.round <= 4) { SoundMainScene.Instans.PlaySe(SoundMainScene.Instans.end04); } else if (5 <= GameMaster.Instance.round && GameMaster.Instance.round <= 9) { SoundMainScene.Instans.PlaySe(SoundMainScene.Instans.end59); } else if (10 <= GameMaster.Instance.round && GameMaster.Instance.round <= 19) { SoundMainScene.Instans.PlaySe(SoundMainScene.Instans.end1019); } else if (20 <= GameMaster.Instance.round) { SoundMainScene.Instans.PlaySe(SoundMainScene.Instans.end20); } yield return(new WaitForSeconds(0.5f)); if (GameMaster.Instance.round > 0) { gotCoins = GameMaster.Instance.round * 10; SetCoinText(gotCoins); coinPanel.SetActive(true); CountUpCoin(currentCoin, gotCoins); } endPanel.SetActive(true); retryButton.SetActive(true); nextButtonText.GetComponent <TextMeshProUGUI>().text = "きゃらせんたく"; //シェアするための勝ち抜き数を保持 chareKatinukiCount = GameMaster.Instance.round; GameMaster.Instance.round = 0; } }
//決定ボタン制御 private void SetBuyButton(PlayerInfo.PlayerType player, GameObject charaObj) { if (PlayerInfo.PlayerType.Player1 == player) { buyChara1 = charaObj; } else { buyChara2 = charaObj; } SelectPlayer selectChara = charaObj.GetComponent <SelectPlayer> (); if (selectChara.enableFlg) { // 使える if (player == PlayerInfo.PlayerType.Player1) { p1Button.SetActive(true); p1BuyButton.SetActive(false); } else { p2Button.SetActive(true); p2BuyButton.SetActive(false); } } else { float alpha = 0.3f; //ボタンに値段をセット int price = selectChara.price; TextMeshProUGUI priceText; Image buttonImage; if (player == PlayerInfo.PlayerType.Player1) { p1Button.SetActive(false); p1BuyButton.SetActive(true); buttonImage = p1BuyButton.GetComponent <Image> (); priceText = p1PriceText.GetComponent <TextMeshProUGUI> (); priceText.text = price.ToString(); } else { p2Button.SetActive(false); p2BuyButton.SetActive(true); buttonImage = p2BuyButton.GetComponent <Image> (); priceText = p2PriceText.GetComponent <TextMeshProUGUI> (); priceText.text = price.ToString(); } int coin = EncryptedPlayerPrefs.LoadInt(Const.KEY_COIN, 0); if (coin >= price) { // 買える if (player == PlayerInfo.PlayerType.Player1) { p1BuyButton.GetComponent <Button> ().enabled = true; } else { p2BuyButton.GetComponent <Button> ().enabled = true; } DOTween.ToAlpha(() => buttonImage.color, color => buttonImage.color = color, 1f, 0f); DOTween.ToAlpha(() => priceText.color, color => priceText.color = color, 1f, 0f); } else { // 買えない if (player == PlayerInfo.PlayerType.Player1) { p1BuyButton.GetComponent <Button> ().enabled = false; } else { p2BuyButton.GetComponent <Button> ().enabled = false; } DOTween.ToAlpha(() => buttonImage.color, color => buttonImage.color = color, alpha, 0f); DOTween.ToAlpha(() => priceText.color, color => priceText.color = color, alpha, 0f); } } }