40 lines
986 B
Python
40 lines
986 B
Python
|
# GPLv3 or later
|
||
|
# ( C ) J.Y.Amihud 2024
|
||
|
|
||
|
# This module is to deal with racing.
|
||
|
|
||
|
import bge
|
||
|
|
||
|
def intime(race):
|
||
|
|
||
|
TimeRange = race.get("TimeRange")
|
||
|
timeis = bge.logic.globalDict.get("time", 0)
|
||
|
|
||
|
if not TimeRange:
|
||
|
return True
|
||
|
|
||
|
# Standard ranges, like 12 -> 14, or 6 -> 12
|
||
|
elif TimeRange[0] < TimeRange[1]:
|
||
|
return TimeRange[0] <= timeis <= TimeRange[1]
|
||
|
|
||
|
# Other ranges, like 21 -> 6, 17 -> 12
|
||
|
else:
|
||
|
return timeis < TimeRange[1] or timeis > TimeRange[0]
|
||
|
|
||
|
def renderTimeRange(race):
|
||
|
|
||
|
TimeRange = race.get("TimeRange")
|
||
|
|
||
|
min0 = str(int(60*(TimeRange[0]-int(TimeRange[0]))))
|
||
|
if len(min0) < 2: min0 = "0"+min0
|
||
|
min1 = str(int(60*(TimeRange[1]-int(TimeRange[1]))))
|
||
|
if len(min1) < 2: min1 ="0"+min1
|
||
|
|
||
|
hrs0 = str(int(TimeRange[0]))
|
||
|
if len(hrs0) < 2: hrs0 = "0"+hrs0
|
||
|
hrs1 = str(int(TimeRange[1]))
|
||
|
if len(hrs1) < 2: hrs1 = "0"+hrs1
|
||
|
|
||
|
r = "between "+hrs0+":"+min0+" and "+hrs1+":"+min1
|
||
|
return r
|