//============================================================================= // 更新 //============================================================================= void Update() { //息キーが押されて尚且つチャージボタンは押されていない if (PlayerCon.GetBreathFlg() && !PlayerCon.GetBreathChargeFlg()) { //MAX値にならない限り if (breathPower < breathMeter) { breathPower += PLAYER_BREATH_ONE_PERCENT; //breathMeter -= PLAYER_BREATH_ONE_PERCENT; } else { breathPower = breathMeter; } } else //離されている { //息キーを離した瞬間だったら if (PlayerCon.GetBreathUpFlg() && breathMeter >= 0.05f) { BM.startCutIn(); //ここにメーター消費があった //メーター消費 breathMeter = breathMeter - breathPower; //ティッシュ間との距離を取得 dest = Vector3.Distance(head.transform.position, TissueObj.transform.position); //距離を見てパワー再調整------------------------------------------- //距離が息の届く距離であれば if (dest <= PLAYER_BREATH_DEST_MAX) { HitbreathFlg = true; //もともとの息 breath = breathPower; //距離を換算したときの息 breath = breath - (breath * (dest * PLAYER_BREATH_DEST_ONE_PERCENT)); // Debug.Log("breath" + breath); //ここからプロトタイプ //TissueObj.GetComponent<CubeController>().BreathAddForce(TissueObj.transform.position - head.transform.position, breath); TissueObj.GetComponent <TissueManager>().BreathAddForce(TissueObj.transform.position - head.transform.position, breath); } } //もしどちらもおされていたら if (PlayerCon.GetBreathChargeFlg() && PlayerCon.GetBreathFlg()) { breathMeter = breathMeter - breathPower; //ティッシュ間との距離を取得 dest = Vector3.Distance(head.transform.position, TissueObj.transform.position); //距離を見てパワー再調整------------------------------------------- //距離が息の届く距離であれば if (dest <= PLAYER_BREATH_DEST_MAX) { HitbreathFlg = true; //もともとの息 breath = breathPower; //距離を換算したときの息 breath = breath - (breath * (dest * PLAYER_BREATH_DEST_ONE_PERCENT)); // Debug.Log("breath" + breath); //ここからプロトタイプ //TissueObj.GetComponent<CubeController>().BreathAddForce(TissueObj.transform.position - head.transform.position, breath); TissueObj.GetComponent <TissueManager>().BreathAddForce(TissueObj.transform.position - head.transform.position, breath); } } else { HitbreathFlg = false; } breathPower = 0.0f; if (breathMeter < PLAYER_BREATH_MAX) { //switch (TissueObj.GetComponent<TissueManager>().area) //{ // case TissueManager.E_Area.Player1: // if(PlayerCon.mode == PlayerController.E_MODE.PLAYER_2) breathMeter += breathRecoverySpeed; // break; // case TissueManager.E_Area.Player2: // if (PlayerCon.mode == PlayerController.E_MODE.PLAYER_1) breathMeter += breathRecoverySpeed; // break; // case TissueManager.E_Area.Center: // break; // default: // break; //} //Chargeボタンが押されている尚且つ息吐きボタンが押されていなかったら if (PlayerCon.GetBreathChargeFlg() && !PlayerCon.GetBreathFlg()) { //仮値 breathMeter += breathRecoverySpeed; } } } //もし値がきれいに割り切れてない場合 if (breathPower > breathMeter) { //MAX値に整える breathPower = breathMeter; } //もし値がきれいに割り切れてない場合 if (breathMeter > PLAYER_BREATH_MAX) { //MAX値に整える breathMeter = PLAYER_BREATH_MAX; } if (breathMeter < 0.0f) { //最低値に整える breathMeter = 0.0f; } //Debug.Log("breathMeter" + breathMeter); //Debug.Log("breathPower" + breathPower); //Debug.Log("HitbreathFlg" + HitbreathFlg); }