Advertisement
PetitPaul

Unity clock , sun rotation and day/night cycle

Nov 22nd, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.94 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class TimeController : MonoBehaviour {
  6.     public bool isNight;
  7.     public GameObject timeText;
  8.     public GameObject Sun;
  9.     private int heures;
  10.     private int minutes;
  11.     private float previousTime;
  12.     private float myAngle;
  13.  
  14.     // Use this for initialization
  15.     void Start () {
  16.         heures = 8;
  17.         minutes = 0;
  18.         previousTime = Time.time;
  19.     }
  20.    
  21.     // Update is called once per frame
  22.     void Update () {
  23.        
  24.         //Ajout des minutes
  25.         if(previousTime < Time.time - 1f)
  26.         {
  27.             minutes+=1;
  28.             previousTime = Time.time;
  29.             myAngle = 0.25f;
  30.             Sun.transform.Rotate(myAngle, 0, 0); // Rotation de 0,25 degrés toutes les minutes in game
  31.         }
  32.  
  33.         //Ajout des heures
  34.         if(minutes >= 60)
  35.         {
  36.             heures++;
  37.             minutes = 0;
  38.         }
  39.  
  40.         //Fin d'une journnée
  41.         if(heures >= 24)
  42.         {
  43.             heures = 0;
  44.         }
  45.  
  46.         //Determination du jour et de la nuit
  47.         if (heures >= 8 && heures<=21)
  48.         {
  49.             isNight = false;
  50.         }
  51.         else
  52.         {
  53.             isNight = true;
  54.         }
  55.        
  56.  
  57.         // Mise en forme du texte de l'horloge        
  58.  
  59.         if (minutes < 10 && heures >=10)
  60.         {
  61.             timeText.GetComponent<UnityEngine.UI.Text>().text = heures + ":0" + minutes;
  62.         }
  63.         else if(heures < 10 && minutes >=10)
  64.         {
  65.             timeText.GetComponent<UnityEngine.UI.Text>().text = "0" + heures + ":" + minutes;
  66.         }
  67.         else if(minutes <10 && heures < 10)
  68.         {
  69.             timeText.GetComponent<UnityEngine.UI.Text>().text = "0" + heures + ":0" + minutes;
  70.         }
  71.         else if(heures >=10 && minutes >= 10)
  72.         {
  73.             timeText.GetComponent<UnityEngine.UI.Text>().text = heures + ":" + minutes;
  74.         }
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement