コード例 #1
0
ファイル: WallOne.cs プロジェクト: JBenda/TT
    void PunshHit()
    {
        punshSpeed = new Vector3(0.0f, 0.0f, 0);
        float a = 2 * (movDistance - 4) / (TimePunsh * TimePunsh);

        punshA        = new Vector3(a, 0, 0);
        health.value -= 0.2f;
        punshTime     = TimePunsh;
        fist          = FITS_POS.HIN;
    }
コード例 #2
0
ファイル: WallOne.cs プロジェクト: JBenda/TT
 // Update is called once per frame
 void Update()
 {
     if (fist == FITS_POS.HIN || fist == FITS_POS.BACK)
     {
         punshSpeed += punshA * Time.deltaTime;
         punshTime  -= Time.deltaTime;
         if (punshTime < 0)
         {
             if (fist == FITS_POS.HIN)
             {
                 mouthHandler.StartHitAnim();
                 fist       = FITS_POS.BACK;
                 punshTime  = TimePunsh;
                 punshSpeed = new Vector3();
             }
             else
             {
                 fist = FITS_POS.HOLD;
                 punshFist.position = fistPos;
             }
         }
         if (fist == FITS_POS.HIN)
         {
             punshFist.Translate(punshSpeed * Time.deltaTime);
         }
         else
         {
             punshFist.Translate(-punshSpeed * Time.deltaTime);
         }
     }
     else if (punsh > .0f)
     {
         Debug.Log("prePunsh");
         punshFist.position = fistPos + (1 - punsh / reactionTime) * preMove;
     }
     else if (fistPos.x < punshFist.position.x && fist == FITS_POS.HOLD)
     {
         punshFist.Translate(new Vector3(-4, 0, 0) * Time.deltaTime);
     }
     if (Input.GetKeyUp(KeyCode.A))
     {
         mouthHandler.OpenMouth();
     }
     if (Input.GetKeyDown(KeyCode.A))
     {
         mouthHandler.CloathMouth();
     }
     if (punsh < 0 && Random.Range((int)0, (int)100) < 40 && Input.GetKey(KeyCode.A))
     {
         Hit();
     }
     if (punsh < 0 && !waterFlow)
     {
         if (Random.Range(0, 100) < eventQuote)
         {
             int rnd = Random.Range(0, 100);
             StartWater();
             if (rnd < 40)
             {
                 rnd += 40;
             }
             waterTime = rnd / 30;
         }
     }
     if (punsh > 0)
     {
         punsh -= Time.deltaTime;
         if (Input.GetKeyUp(KeyCode.A))
         {
             counter.StopCounter();
             punsh = -1.0f;
         }
         if (punsh <= .0f && punsh > -1.0f)
         {
             PunshHit();
         }
     }
     if (waterTime > 0)
     {
         waterTime -= Time.deltaTime;
     }
     else
     {
         StopWater();
     }
     if (Input.GetKey(KeyCode.A))
     {
         health.value -= 0.01f * Time.deltaTime;
     }
     else if (waterFlow)
     {
         health.value -= 0.05f * Time.deltaTime;
     }
     if (Input.GetKeyDown(KeyCode.Space))
     {
         if (waterFlow)
         {
             StopWater();
         }
         else
         {
             StartWater();
         }
     }
     if (Input.GetKeyDown(KeyCode.P))
     {
         this.Hit();
     }
 }