//---------------------------------------------------------------------- // RTボタンが押された時 //---------------------------------------------------------------------- // @Param none // @Return none // @Date 2014/11/13 @Update 2014/11/13 @Author T.Kawashita // @Data 2015/01/08 @Update 2015/01/08 @Author T.Takeuchi // @Update 2015/01/08 チュートリアル対応 //---------------------------------------------------------------------- private void RTShootPass() { // シュートかパスが打てる状態になったら(ボールが手持ちにある場合) if ((m_status == CPlayerManager.ePLAYER_STATUS.eNONE || m_status == CPlayerManager.ePLAYER_STATUS.eOVERRIMIT || m_status == CPlayerManager.ePLAYER_STATUS.eTUTORIAL) && m_isBall == true && InputXBOX360.IsGetRTButton(InputXBOX360.P4_XBOX_RT) == true && m_isRtPress == false) { m_oldStatus = m_status; m_status = CPlayerManager.ePLAYER_STATUS.eSHOOTCHARGE; m_chargeFrame = 0; m_isRtPress = true; m_playerSE.PlaySE("game/charging"); return; } // 離されたら押しっぱなしフラグOFF else if (InputXBOX360.IsGetRTButton(InputXBOX360.P4_XBOX_RT) == false && Input.GetKey(KeyCode.Space) == false) { m_isRtPress = false; } }
//---------------------------------------------------------------------- // ダッシュのホールド待機状態 //---------------------------------------------------------------------- // @Param none // @Return none // @Date 2014/11/17 @Update 2014/11/17 @Author T.Kawashita //---------------------------------------------------------------------- private void DashHold() { // チャージフレーム取得 if (InputXBOX360.IsGetRTButton(InputXBOX360.P4_XBOX_LT)) { m_chargeFrame = InputXBOX360.LTButtonPress(InputXBOX360.P4_XBOX_LT, ref m_chargeFrame); } if (m_chargeFrame >= m_human.m_tackleChangeLength && m_isSE == false) { m_playerSE.PlaySE("game/charge_finish"); m_isSE = true; } // チャージ時間が一定量以上になったらチャージ状態終了 if (m_status == CPlayerManager.ePLAYER_STATUS.eDASHCHARGE && m_isBall == false && m_chargeFrame >= m_human.m_dashChargeLengthMax) { m_status = m_oldStatus; m_animator.Wait(); m_playerSE.StopSE(); m_isSE = false; return; } // LTボタンが離されたら if (m_status == CPlayerManager.ePLAYER_STATUS.eDASHCHARGE && m_isBall == false && InputXBOX360.IsGetLTButton(InputXBOX360.P4_XBOX_LT) == false && Input.GetKey(KeyCode.LeftShift) == false) { m_camera.ChangeMspeedlock(); // チャージ時間が一定量以上ならタックル if (m_chargeFrame >= m_human.m_tackleChangeLength) { m_action.InitTackle(m_human.m_tackleInitSpeed, m_human.m_tackleMotionLength, m_human.m_tackleDecFrame); m_status = CPlayerManager.ePLAYER_STATUS.eTACKLE; m_playerSE.StopSE(); m_playerSE.PlaySE("game/tackle_go"); } // タックルじゃなくてチャージ時間が一定量以上ならダッシュ else if (m_chargeFrame >= m_human.m_dashChargeLength) { m_action.InitDash(m_human.m_dashInitSpeed, m_human.m_dashMotionLength, m_human.m_dashDecFrame); m_status = CPlayerManager.ePLAYER_STATUS.eDASH; m_playerSE.StopSE(); m_playerSE.PlaySE("game/dash"); } // 初期化 m_isSE = false; m_chargeFrame = InputXBOX360.LTButtonPress(InputXBOX360.P4_XBOX_LT, ref m_chargeFrame); } }
//---------------------------------------------------------------------- // シュートのホールド待機状態 //---------------------------------------------------------------------- // @Param none // @Return none // @Date 2014/11/17 @Update 2014/11/17 @Author T.Kawashita //---------------------------------------------------------------------- private void ShootHold() { // 押されている間はチャージのフレーム取得 if (InputXBOX360.IsGetRTButton(InputXBOX360.P4_XBOX_RT)) { m_chargeFrame = InputXBOX360.RTButtonPress(InputXBOX360.P4_XBOX_RT, ref m_chargeFrame); } if (m_chargeFrame >= m_human.m_tackleChangeLength && m_isSE == false) { m_playerSE.PlaySE("game/charge_finish"); m_isSE = true; } // チャージ時間が一定量以上ならシュートホールド状態終了 if (m_status == CPlayerManager.ePLAYER_STATUS.eSHOOTCHARGE && m_isBall == true && m_chargeFrame >= m_human.m_shootChargeLengthMax) { m_status = m_oldStatus; m_animator.ChangeAnimation(m_animator.m_isWait); m_playerSE.StopSE(); m_isSE = false; return; } // RTボタンが離されたらシュートかチャージ if (m_status == CPlayerManager.ePLAYER_STATUS.eSHOOTCHARGE && m_isBall == true && InputXBOX360.IsGetRTButton(InputXBOX360.P4_XBOX_RT) == false && Input.GetKey(KeyCode.Space) == false) { // チャージ時間が一定量以上ならシュート if (m_chargeFrame >= m_human.m_shootChargeLength) { m_action.InitShoot(m_human.m_shootInitSpeed, m_human.m_shootMotionLength, m_human.m_shootTakeOfFrame); m_status = CPlayerManager.ePLAYER_STATUS.eSHOOT; m_playerSE.StopSE(); m_playerSE.PlaySE("game/kick_shoot"); } // シュートじゃなくてチャージ時間が一定量以上ならパス else if (m_chargeFrame >= m_human.m_passChargeLength) { m_action.InitPass(m_human.m_passInitSpeed, m_human.m_passMotionLength, m_human.m_passTakeOfFrame); m_status = CPlayerManager.ePLAYER_STATUS.ePASS; m_playerSE.StopSE(); m_playerSE.PlaySE("game/kick_pass"); } // 初期化 m_isSE = false; m_chargeFrame = InputXBOX360.RTButtonPress(InputXBOX360.P4_XBOX_RT, ref m_chargeFrame); } }
//---------------------------------------------------------------------- // LTボタンが押された時 //---------------------------------------------------------------------- // @Param none // @Return none // @Date 2014/11/14 @Update 2014/11/14 @Author T.Kawashita // @Date 2014/12/1 @Update 2014/12/1 @Author T.Takeuchi //---------------------------------------------------------------------- private void LTDashTackle() { // ダッシュが出来る状態になったら(ボールを持っていなかったら) if (m_status == CPlayerManager.ePLAYER_STATUS.eNONE && m_isBall == false && InputXBOX360.IsGetLTButton(InputXBOX360.P1_XBOX_LT) == true && m_isLtPress == false) { m_status = CPlayerManager.ePLAYER_STATUS.eDASHCHARGE; m_chargeFrame = 0; m_isLtPress = true; return; } else if (InputXBOX360.IsGetLTButton(InputXBOX360.P1_XBOX_LT) == false) { m_isLtPress = false; } }
//---------------------------------------------------------------------- // RTボタンが押された時 //---------------------------------------------------------------------- // @Param none // @Return none // @Date 2014/11/13 @Update 2014/11/13 @Author T.Kawashita // @Date 2014/12/1 @Update 2014/12/1 @Author T.Takeuchi //---------------------------------------------------------------------- private void RTShootPass() { // シュートかパスが打てる状態になったら(ボールが手持ちにある場合) if (m_status == CPlayerManager.ePLAYER_STATUS.eNONE && m_isBall == true && InputXBOX360.IsGetRTButton(InputXBOX360.P1_XBOX_RT) == true && m_isRtPress == false) { m_status = CPlayerManager.ePLAYER_STATUS.eSHOOTCHARGE; m_chargeFrame = 0; m_isRtPress = true; return; } // 離されたら押しっぱなしフラグOFF else if (InputXBOX360.IsGetRTButton(InputXBOX360.P1_XBOX_RT) == false) { m_isRtPress = false; } }
//---------------------------------------------------------------------- // ダッシュのホールド待機状態 //---------------------------------------------------------------------- // @Param none // @Return none // @Date 2014/11/17 @Update 2014/11/17 @Author T.Kawashita // @Date 2014/12/1 @Update 2014/12/1 @Author T.Takeuchi //---------------------------------------------------------------------- private void DashHold() { if (InputXBOX360.IsGetRTButton(InputXBOX360.P1_XBOX_LT)) { // チャージフレーム取得 m_chargeFrame = InputXBOX360.LTButtonPress(InputXBOX360.P1_XBOX_LT, ref m_chargeFrame); } // チャージ時間が一定量以上になったらチャージ状態終了 if (m_status == CPlayerManager.ePLAYER_STATUS.eDASHCHARGE && m_isBall == false && m_chargeFrame >= m_human.m_dashChargeLengthMax) { m_status = CPlayerManager.ePLAYER_STATUS.eNONE; m_animator.ChangeAnimation(m_animator.m_isWait); return; } // LTボタンが離されたら if (m_status == CPlayerManager.ePLAYER_STATUS.eDASHCHARGE && m_isBall == false && InputXBOX360.IsGetLTButton(InputXBOX360.P1_XBOX_LT) == false) { // チャージ時間が一定量以上ならタックル if (m_chargeFrame >= m_human.m_tackleChangeLength) { m_action.InitTackle(m_human.m_tackleInitSpeed, m_human.m_tackleMotionLength, m_human.m_tackleDecFrame); m_status = CPlayerManager.ePLAYER_STATUS.eTACKLE; } // タックルじゃなくてチャージ時間が一定量以上ならダッシュ else if (m_chargeFrame >= m_human.m_dashChargeLength) { m_action.InitDash(m_human.m_dashInitSpeed, m_human.m_dashMotionLength, m_human.m_dashDecFrame); m_status = CPlayerManager.ePLAYER_STATUS.eDASH; } // 初期化 m_chargeFrame = InputXBOX360.LTButtonPress(InputXBOX360.P1_XBOX_LT, ref m_chargeFrame); } }
//---------------------------------------------------------------------- // シュートのホールド待機状態 //---------------------------------------------------------------------- // @Param none // @Return none // @Date 2014/11/17 @Update 2014/11/17 @Author T.Kawashita // @Date 2014/12/1 @Update 2014/12/1 @Author T.Takeuchi //---------------------------------------------------------------------- private void ShootHold() { // 押されている間はチャージのフレーム取得 if (InputXBOX360.IsGetRTButton(InputXBOX360.P1_XBOX_RT)) { m_chargeFrame = InputXBOX360.RTButtonPress(InputXBOX360.P1_XBOX_RT, ref m_chargeFrame); } // チャージ時間が一定量以上ならシュートホールド状態終了 if (m_status == CPlayerManager.ePLAYER_STATUS.eSHOOTCHARGE && m_isBall == true && m_chargeFrame >= m_human.m_shootChargeLengthMax) { m_status = CPlayerManager.ePLAYER_STATUS.eNONE; m_animator.ChangeAnimation(m_animator.m_isWait); return; } // RTボタンが離されたらシュートかチャージ if (m_status == CPlayerManager.ePLAYER_STATUS.eSHOOTCHARGE && m_isBall == true && InputXBOX360.IsGetRTButton(InputXBOX360.P1_XBOX_RT) == false) { // チャージ時間が一定量以上ならシュート if (m_chargeFrame >= m_human.m_shootChargeLength) { m_action.InitShoot(m_human.m_shootInitSpeed, m_human.m_shootMotionLength, m_human.m_shootTakeOfFrame); m_status = CPlayerManager.ePLAYER_STATUS.eSHOOT; } // シュートじゃなくてチャージ時間が一定量以上ならパス else if (m_chargeFrame >= m_human.m_passChargeLength) { m_action.InitPass(m_human.m_passInitSpeed, m_human.m_passMotionLength, m_human.m_passTakeOfFrame); m_status = CPlayerManager.ePLAYER_STATUS.ePASS; } // 初期化 m_chargeFrame = InputXBOX360.RTButtonPress(InputXBOX360.P1_XBOX_RT, ref m_chargeFrame); } }
//---------------------------------------------------------------------- // LTボタンが押された時 //---------------------------------------------------------------------- // @Param none // @Return none // @Date 2014/11/14 @Update 2014/11/14 @Author T.Kawashita // @Data 2015/01/08 @Update 2015/01/08 @Author T.Takeuchi // @Update 2015/01/08 チュートリアル対応 //---------------------------------------------------------------------- private void LTDashTackle() { // ダッシュが出来る状態になったら(ボールを持っていなかったら) if ((m_status == CPlayerManager.ePLAYER_STATUS.eNONE || m_status == CPlayerManager.ePLAYER_STATUS.eOVERRIMIT || m_status == CPlayerManager.ePLAYER_STATUS.eTUTORIAL) && m_isBall == false && InputXBOX360.IsGetLTButton(InputXBOX360.P4_XBOX_LT) == true && m_isLtPress == false) { m_oldStatus = m_status; m_status = CPlayerManager.ePLAYER_STATUS.eDASHCHARGE; m_chargeFrame = 0; m_isLtPress = true; m_playerSE.PlaySE("game/charging"); return; } else if (InputXBOX360.IsGetLTButton(InputXBOX360.P4_XBOX_LT) == false && Input.GetKey(KeyCode.LeftShift) == false) { m_isLtPress = false; } }
//---------------------------------------------------------------------- // 更新 //---------------------------------------------------------------------- // @Param none // @Return none // @Date 2014/10/29 @Update 2014/10/29 @Author T.Kawashita // 2014/11/15 @Update 2014/11/15 @Author T.Takeuchi // 2014/11/28 @Update 2014/11/28 @Author T.Takeuichi //---------------------------------------------------------------------- void Update() { // 表示 this.SubPanels[0, 0].transform.FindChild("NUM_Supporter_World").GetComponent <DrawNumber>().number = this.suppoterBffByWorld[0]; this.SubPanels[0, 1].transform.FindChild("NUM_Supporter_Team0").GetComponent <DrawNumber>().number = this.suppoterBffByTeam[0, 0]; this.SubPanels[0, 1].transform.FindChild("NUM_Supporter_Team1").GetComponent <DrawNumber>().number = this.suppoterBffByTeam[0, 1]; this.SubPanels[1, 0].transform.FindChild("NUM_Supporter_World").GetComponent <DrawNumber>().number = this.suppoterBffByWorld[1]; this.SubPanels[1, 1].transform.FindChild("NUM_Supporter_Team0").GetComponent <DrawNumber>().number = this.suppoterBffByTeam[1, 0]; this.SubPanels[1, 1].transform.FindChild("NUM_Supporter_Team1").GetComponent <DrawNumber>().number = this.suppoterBffByTeam[1, 1]; // ボタンチェック // 1P if ((Input.GetKeyDown(InputXBOX360.P1_XBOX_A) || Input.GetKeyDown(KeyCode.Alpha1)) && this.buttonCheck[0, 0] == false) { this.buttonCheck[0, 0] = true; m_soundPlayer.PlaySE("select/selector_select"); } // 2P if ((Input.GetKeyDown(InputXBOX360.P2_XBOX_A) || Input.GetKeyDown(KeyCode.Alpha2)) && this.buttonCheck[0, 1] == false) { m_soundPlayer.PlaySE("select/selector_select"); this.buttonCheck[0, 1] = true; } if ((Input.GetKeyDown(InputXBOX360.P3_XBOX_A) || Input.GetKeyDown(KeyCode.Alpha3)) && this.buttonCheck[1, 0] == false) { m_soundPlayer.PlaySE("select/selector_select"); this.buttonCheck[1, 0] = true; } if ((Input.GetKeyDown(InputXBOX360.P4_XBOX_A) || Input.GetKeyDown(KeyCode.Alpha4)) && this.buttonCheck[1, 1] == false) { m_soundPlayer.PlaySE("select/selector_select"); this.buttonCheck[1, 1] = true; } // デバッグ用ボタン this.DebugButton(); // ボタン表示 for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { if (this.buttonCheck[i, j] == true) { this.button[i, j].SetActive(false); } else { this.button[i, j].SetActive(true); } } } // 遷移(左右画面共有) switch (this.state[0]) { // 最初のフェードイン case RESULT_STATE.ALPHA_IN: if (GameObject.Find("FeedPanel").GetComponent <TweenAlpha>().enabled == false) { this.state[0] = RESULT_STATE.STAY_FIRST; this.state[1] = RESULT_STATE.STAY_FIRST; ReSetButtonCheck(0, false); ReSetButtonCheck(1, false); } break; // 最終待機 case RESULT_STATE.STAY_LAST: if (this.state[0] == this.state[1]) { this.state[0] = RESULT_STATE.WAIT; this.state[1] = RESULT_STATE.WAIT; this.count = 0; } break; // case RESULT_STATE.WAIT: this.count++; if (this.count > this.countMax) { this.state[0] = RESULT_STATE.ALPHA_OUT; this.state[1] = RESULT_STATE.ALPHA_OUT; GameObject.Find("FeedPanel").GetComponent <TweenAlpha>().Play(true); m_soundPlayer.PlayBGMFadeOut(0.004f); } break; // フェードアウト case RESULT_STATE.ALPHA_OUT: if (GameObject.Find("FeedPanel").GetComponent <TweenAlpha>().enabled == false) { Application.LoadLevel("Title"); } break; } // 遷移(左右画面別々) for (int i = 0; i < 2; i++) { switch (this.state[i]) { // 待機その1 case RESULT_STATE.STAY_FIRST: if (this.buttonCheck[i, 0] == true && this.buttonCheck[i, 1] == true) { this.SubPanels[i, 1].GetComponent <TweenAlpha>().enabled = true; this.state[i] = RESULT_STATE.ALPHA_TEAM_SUPPORTER; } break; // チームサポーターがフェードイン case RESULT_STATE.ALPHA_TEAM_SUPPORTER: if (this.SubPanels[i, 1].GetComponent <TweenAlpha>().enabled == false) { this.state[i] = RESULT_STATE.STAY_TEAM_SUPPORTER; ReSetButtonCheck(i, false); } break; // チームサポーターが表示状態で待機 case RESULT_STATE.STAY_TEAM_SUPPORTER: if (this.buttonCheck[i, 0] == true && this.buttonCheck[i, 1] == true) { this.SubPanels[i, 1].GetComponent <TweenPosition>().enabled = true; this.state[i] = RESULT_STATE.MOVING_TEAM_SUPPORTER; } break; // チームサポーターが上へ移動 case RESULT_STATE.MOVING_TEAM_SUPPORTER: if (this.SubPanels[i, 1].GetComponent <TweenPosition>().enabled == false) { this.SubPanels[i, 0].GetComponent <TweenAlpha>().enabled = true; this.state[i] = RESULT_STATE.ALPHA_WORLD_SUPPORTER; } break; // 全サポーターがフェードイン case RESULT_STATE.ALPHA_WORLD_SUPPORTER: if (this.SubPanels[0, 0].GetComponent <TweenAlpha>().enabled == false) { this.state[i] = RESULT_STATE.ADDING_WORLD_SUPPORTER; this.SubPanels[i, 0].GetComponent <TweenScale>().Play(true); works[0] = this.suppoterBffByTeam[i, 0] / this.AddSuppoterTime; works[1] = this.suppoterBffByTeam[i, 1] / this.AddSuppoterTime; } break; // 全サポーターに加算 case RESULT_STATE.ADDING_WORLD_SUPPORTER: m_time += Time.deltaTime; //m_soundPlayer.LoopSE("result/supoter_countup"); if (this.suppoterBffByTeam[i, 0] == 0 && this.suppoterBffByTeam[i, 1] == 0) { this.state[i] = RESULT_STATE.STAY_TWO; ReSetButtonCheck(i, false); this.SubPanels[i, 0].GetComponent <TweenScale>().enabled = false; m_soundPlayer.StopSE(); } else { for (int j = 0; j < 2; j++) { if (this.suppoterBffByTeam[i, j] >= works[j]) { this.suppoterBffByTeam[i, j] -= works[j]; this.suppoterBffByWorld[i] += works[j]; } else if (this.suppoterBffByTeam[i, j] != 0) { this.suppoterBffByTeam[i, j]--; this.suppoterBffByWorld[i]++; } } if (m_time >= 0.2f) { m_soundPlayer.PlaySE("result/supoter_countup"); m_time = 0.0f; // m_soundPlayer.StopSE(); } } break; // 全サポーターが加算終了し、待機中 case RESULT_STATE.STAY_TWO: if (this.buttonCheck[i, 0] == true && this.buttonCheck[i, 1] == true) { this.state[i] = RESULT_STATE.ALPHA_THANK_YOU; this.SubPanels[i, 2].GetComponent <TweenAlpha>().enabled = true; } break; // Thank you for Playing!! がフェードイン case RESULT_STATE.ALPHA_THANK_YOU: if (this.SubPanels[i, 2].GetComponent <TweenAlpha>().enabled == false) { this.state[i] = RESULT_STATE.STAY_LAST; } break; } } #if false // デバッグ用スペースキーが押されたら強制的にタイトル画面へ if (Input.GetKeyDown(KeyCode.Space) || InputXBOX360.IsGetAllStartButton()) { // ここにタイトル画面に遷移する時のアニメーションを書く // 今は強制的に画面を遷移 Application.LoadLevel("Title"); Debug.Log("Title画面に遷移"); } #endif }