Advertisement
Diamond32_Tutoriales

Linterna

Dec 30th, 2020
1,175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.74 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class Linterna : MonoBehaviour
  6. {
  7.  
  8.     public Light luz;
  9.     [SerializeField]float bateria;
  10.     [SerializeField]bool Encendida;
  11.     [SerializeField] bool BateriaBaja;
  12.     bool funcInvoke;
  13.     [Header("True = Encendida / False = Apagada")]
  14.     public bool InicioDeLinterna;
  15.  
  16.      void Start()
  17.     {
  18.         luz.enabled = InicioDeLinterna;
  19.         Encendida = InicioDeLinterna;
  20.     }
  21.  
  22.      void Update()
  23.     {
  24.         if (!funcInvoke)
  25.         {
  26.             luz.enabled = Encendida;
  27.         }
  28.  
  29.             if (Encendida && !BateriaBaja)
  30.         {
  31.             bateria -= 0.5f * Time.deltaTime;
  32.         }
  33.  
  34.             if (Input.GetKeyDown(KeyCode.F))
  35.         {
  36.             Encendida = !Encendida;
  37.         }
  38.  
  39.         if (bateria <= 0f)
  40.         {
  41.             luz.enabled = false;
  42.             bateria = 0f;
  43.             BateriaBaja = true;
  44.             Encendida = false;
  45.         }
  46.         else
  47.         {
  48.             BateriaBaja = false;
  49.         }
  50.  
  51.         if (bateria >= 100f)
  52.         {
  53.             bateria = 100f;
  54.         }
  55.  
  56.         if (bateria <= 2f)
  57.         {
  58.             StartCoroutine (effect());
  59.             funcInvoke = true;
  60.         }
  61.     }
  62.  
  63.     IEnumerator effect()
  64.     {
  65.         if (!funcInvoke)
  66.         {
  67.             luz.enabled = false;
  68.             yield return new WaitForSeconds(1);
  69.             luz.enabled = true;
  70.             yield return new WaitForSeconds(0.3f);
  71.             luz.enabled = false;
  72.             yield return new WaitForSeconds(0.4f);
  73.             luz.enabled = true;
  74.             yield return new WaitForSeconds(0.1f);
  75.             luz.enabled = false;
  76.             funcInvoke = false;
  77.         }
  78.     }
  79. }
  80.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement