Beispiel #1
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.T))
     {
         ShipDamage(10);
     }
     if (flash)
     {
         if (flashTime > 0)
         {
             flashTime          -= Time.deltaTime;
             flashDamage.enabled = true;
         }
         else if (flashTime < 0)
         {
             flashDamage.enabled = false;
             flashTime           = flashTimer;
             flash = false;
         }
     }
     if (startRepair)
     {
         if (repairTime > 0)
         {
             repairTime        -= Time.deltaTime;
             repairScreen.color = OptimizeSystem.ChangeMenuColor(0, 0, 1, 0);
             repairText.color   = OptimizeSystem.ChangeMenuColor(1, 1, 1, 0);
             repairText.text    = null;
         }
         else if (repairTime < 0)
         {
             if (!audioSrcEffect.isPlaying)
             {
                 audioSrcEffect.clip = shieldRechargeSfx;
                 audioSrcEffect.Play();
             }
             repairScreen.color = OptimizeSystem.ChangeMenuColor(0, 0, 1, Mathf.PingPong(Time.time, 1));
             repairText.text    = "Repairing!";
             repairText.color   = OptimizeSystem.ChangeMenuColor(1, 1, 1, Mathf.PingPong(Time.time, 1));
             shield            += Time.deltaTime * repairSpeed;
             if (shield > 0)
             {
                 shieldDamaged = false;
             }
             if (shield > 99)
             {
                 repairText.color   = OptimizeSystem.ChangeMenuColor(1, 1, 1, 0);
                 repairText.text    = null;
                 repairScreen.color = OptimizeSystem.ChangeMenuColor(0, 0, 1, 0);
                 shield             = 100;
                 startRepair        = false;
                 repairTime         = repairTimer;
             }
         }
     }
     handler();
 }
Beispiel #2
0
 public void ShipDamage(int amt)
 {
     startRepair = true;
     repairTime  = repairTimer;
     flash       = true;
     if (!shieldDamaged)
     {
         audioSrcDamage.PlayOneShot(damageShieldSfx);
         flashDamage.color = OptimizeSystem.ChangeMenuColor(1, 1, 1, 0.2f);
         shield           -= amt;
         if (shield < 0)
         {
             shield        = 0;
             shieldDamaged = true;
         }
     }
     else
     {
         audioSrcDamage.PlayOneShot(damageHealthSfx);
         flashDamage.color = OptimizeSystem.ChangeMenuColor(1, 0, 0, 0.2f);
         health           -= amt;
         if (health < 0)
         {
             health        = 0;
             shipDestroyed = true;
             CharacterController charCtrl = GetComponent <CharacterController>();
             charCtrl.ResetVelocity();
             Explode();
             if (respawnRoutine != null)
             {
                 StopCoroutine(Respawn());
             }
             respawnRoutine = Respawn();
             StartCoroutine(respawnRoutine);
         }
     }
 }