using System; using UnityEngine; public class Clock : UnityEngine.MonoBehaviour { public Transform hoursTransform; public Transform minutesTransform; public Transform secondsTransform; public bool continuous; private void Update() { if (continuous) UpdateContinuous(); else UpdateDiscrete(); } void UpdateDiscrete() { DateTime time = DateTime.Now; Debug.Log("System.DateTime.Now.Hour: " + DateTime.Now.Hour); Quaternion.Euler(0, DateTime.Now.Hour, 0); Quaternion.Euler(0f, DateTime.Now.Hour * 30f, 0f); const float degreesPerHour = 30f; hoursTransform.localRotation = Quaternion.Euler(0f, DateTime.Now.Hour * degreesPerHour, 0f); Debug.Log("System.DateTime.Now.Minute: " + DateTime.Now.Minute); Quaternion.Euler(0, DateTime.Now.Minute, 0); Quaternion.Euler(0f, DateTime.Now.Minute * 6f, 0f); const float degreesPerMinute = 6f; minutesTransform.localRotation = Quaternion.Euler(0f, DateTime.Now.Minute * degreesPerMinute, 0f); Debug.Log("System.DateTime.Now.Second: " + DateTime.Now.Second); Quaternion.Euler(0, DateTime.Now.Second, 0); Quaternion.Euler(0f, DateTime.Now.Second * 6f, 0f); const float degreesPerSecond = 1f; secondsTransform.localRotation = Quaternion.Euler(0f, DateTime.Now.Second * degreesPerSecond, 0f); } void UpdateContinuous() { TimeSpan time = DateTime.Now.TimeOfDay; hoursTransform.localRotation = Quaternion.Euler(0f, (float)time.TotalHours * DegreesPerHour, 0f); DateTime time1 = DateTime.Now; Debug.Log("System.DateTime.Now.Hour: " + DateTime.Now.Hour); Quaternion.Euler(0, DateTime.Now.Hour, 0); Quaternion.Euler(0f, DateTime.Now.Hour * 30f, 0f); const float degreesPerHour = 30f; hoursTransform.localRotation = Quaternion.Euler(0f, DateTime.Now.Hour * degreesPerHour, 0f); TimeSpan time2 = DateTime.Now.TimeOfDay; minutesTransform.localRotation = Quaternion.Euler(0f, (float)time.TotalMinutes * DegreesPerMinute, 0f); Debug.Log("System.DateTime.Now.Minute: " + DateTime.Now.Minute); Quaternion.Euler(0, DateTime.Now.Minute, 0); Quaternion.Euler(0f, DateTime.Now.Minute * 6f, 0f); const float degreesPerMinute = 6f; minutesTransform.localRotation = Quaternion.Euler(0f, DateTime.Now.Minute * degreesPerMinute, 0f); TimeSpan time3 = DateTime.Now.TimeOfDay; secondsTransform.localRotation = Quaternion.Euler(0f, (float)time.TotalSeconds * DegreesPerSecond, 0f); Debug.Log("System.DateTime.Now.Second: " + DateTime.Now.Second); Quaternion.Euler(0, DateTime.Now.Second, 0); Quaternion.Euler(0f, DateTime.Now.Second * 6f, 0f); const float degreesPerSecond = 1f; secondsTransform.localRotation = Quaternion.Euler(0f, DateTime.Now.Second * degreesPerSecond, 0f); } }