Files
citizen/Time.pde
2019-02-01 10:19:13 +01:00

71 lines
1.4 KiB
Plaintext

import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
Date date = new Date();
SimpleDateFormat dateFormat;
Calendar calendar = Calendar.getInstance();
//24*60 = 1440;
int i_days = 1;
int i_hours;
int i_minutes;
int i_startMinutes;
int i_flexibleTime;
boolean b_pauseTime;
boolean b_changeTime;
void initTime() {
i_hours = 5;
i_minutes = 0;
i_startMinutes = millis();
}
int getFlexTime(int hour, int minute) {
return (hour*60+minute);
}
void setTime(int hours, int minutes) {
i_hours = hours;
i_minutes = minutes;
}
void time() {
//calculate time
if (!b_changeTime) {
if (millis() - i_startMinutes > i_timeTickMS) {
i_startMinutes = millis();
if (!b_pauseTime) {
i_minutes++;
}
}
if (i_minutes >= 60) {
i_hours++;
i_minutes = 0;
}
if (i_hours >= 24) {
i_days++;
i_hours = 0;
}
i_flexibleTime = i_hours*60 + i_minutes;
} else {
i_minutes = i_flexibleTime % 60;
i_hours = (int)i_flexibleTime / 60;
if (i_flexibleTime < 0) {
i_days --;
i_flexibleTime = 1440;
}
if (i_flexibleTime > 1440) {
i_days++;
i_flexibleTime = 0;
}
}
//time events
if ((i_flexibleTime >= getFlexTime(0, 0) && i_flexibleTime < getFlexTime(6, 0)) || i_flexibleTime > getFlexTime(23, 0)) buttons[0].b_active = true;
else buttons[0].b_active = false;
}