Question by
KnightRiderGuy · Dec 01, 2015 at 02:09 PM ·
timesystemtimer-scriptdatetimetimers
Alarm Clock Using System Time
I'm playing around with an alarm clock setting in the awake part of my C# script. I currently have it so that it plays a clip around a certain time of day but I'm wondering if it can be fine tuned to play an audio clip at an exact time?
int sysHour = System.DateTime.Now.Hour;
private float oldTimer;
//Random Clips
public AudioClip[] voices;
public AudioClip[] timeVoices2;
public AudioClip[] timeVoices3;
public static CountdownTimerManager countDownManager;
void Awake () {
if (countDownManager == null) {
DontDestroyOnLoad (gameObject);
countDownManager = this;
} else if (countDownManager != this) {
Destroy (gameObject);
}
//Time OF Day Notification
if (sysHour > 13) {
//GetComponent<AudioSource>().clip = timeVoices[Random.Range(0,timeVoices.Length)];
//GetComponent<AudioSource>().Play();
Debug.Log ("Good Afternoon!");
} else if (sysHour > 7) {
GetComponent<AudioSource>().clip = timeVoices2[Random.Range(0,timeVoices2.Length)];
GetComponent<AudioSource>().Play();
Debug.Log ("Good Morning!");
} else if (sysHour > 22) {
GetComponent<AudioSource>().clip = timeVoices3[Random.Range(0,timeVoices3.Length)];
GetComponent<AudioSource>().Play();
Debug.Log ("Good Night!");
}
else{
//Do something if desired
Debug.Log("Go to bed!");
}
}
Comment
I play around with it and found that doing this makes in within the hour. But not sure how I can set an exact time down to the hour and $$anonymous$$ut?
//Time OF Day Notification
//Noon Time
if (sysHour == 12) {
GetComponent<AudioSource>().clip = timeVoices[Random.Range(0,timeVoices.Length)];
GetComponent<AudioSource>().Play();
Debug.Log ("Good Afternoon!");
}
//$$anonymous$$orning Time
else if (sysHour == 8) {
GetComponent<AudioSource>().clip = timeVoices2[Random.Range(0,timeVoices2.Length)];
GetComponent<AudioSource>().Play();
Debug.Log ("Good $$anonymous$$orning!");
}
//Night Time
else if (sysHour == 22) {
GetComponent<AudioSource>().clip = timeVoices3[Random.Range(0,timeVoices3.Length)];
GetComponent<AudioSource>().Play();
Debug.Log ("Good Night!");
}
else{
//Do something if desired
Debug.Log("Go to bed!");
}
}
Your answer
Follow this Question
Related Questions
Get device time type(24h or am/pm) 0 Answers
I need a 2 hour realtime timer for my game 0 Answers
How to record lap time for player and AIs? 0 Answers
DateTime.Today for Different Time Zone 1 Answer
Allow player to Press Input.GetKeyDown once per update ? 0 Answers