Adding log.gd
This commit is contained in:
parent
eb32d6614e
commit
4522259397
547 changed files with 46844 additions and 0 deletions
110
addons/gdUnit4/src/core/LocalTime.gd
Normal file
110
addons/gdUnit4/src/core/LocalTime.gd
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
# This class provides Date/Time functionallity to Godot
|
||||
class_name LocalTime
|
||||
extends Resource
|
||||
|
||||
enum TimeUnit {
|
||||
MILLIS = 1,
|
||||
SECOND = 2,
|
||||
MINUTE = 3,
|
||||
HOUR = 4,
|
||||
DAY = 5,
|
||||
MONTH = 6,
|
||||
YEAR = 7
|
||||
}
|
||||
|
||||
const SECONDS_PER_MINUTE:int = 60
|
||||
const MINUTES_PER_HOUR:int = 60
|
||||
const HOURS_PER_DAY:int = 24
|
||||
const MILLIS_PER_SECOND:int = 1000
|
||||
const MILLIS_PER_MINUTE:int = MILLIS_PER_SECOND * SECONDS_PER_MINUTE
|
||||
const MILLIS_PER_HOUR:int = MILLIS_PER_MINUTE * MINUTES_PER_HOUR
|
||||
|
||||
var _time :int
|
||||
var _hour :int
|
||||
var _minute :int
|
||||
var _second :int
|
||||
var _millisecond :int
|
||||
|
||||
|
||||
static func now() -> LocalTime:
|
||||
return LocalTime.new(_get_system_time_msecs())
|
||||
|
||||
|
||||
static func of_unix_time(time_ms :int) -> LocalTime:
|
||||
return LocalTime.new(time_ms)
|
||||
|
||||
|
||||
static func local_time(hours :int, minutes :int, seconds :int, milliseconds :int) -> LocalTime:
|
||||
return LocalTime.new(MILLIS_PER_HOUR * hours\
|
||||
+ MILLIS_PER_MINUTE * minutes\
|
||||
+ MILLIS_PER_SECOND * seconds\
|
||||
+ milliseconds)
|
||||
|
||||
|
||||
func elapsed_since() -> String:
|
||||
return LocalTime.elapsed(LocalTime._get_system_time_msecs() - _time)
|
||||
|
||||
|
||||
func elapsed_since_ms() -> int:
|
||||
return LocalTime._get_system_time_msecs() - _time
|
||||
|
||||
|
||||
func plus(time_unit :TimeUnit, value :int) -> LocalTime:
|
||||
var addValue:int = 0
|
||||
match time_unit:
|
||||
TimeUnit.MILLIS:
|
||||
addValue = value
|
||||
TimeUnit.SECOND:
|
||||
addValue = value * MILLIS_PER_SECOND
|
||||
TimeUnit.MINUTE:
|
||||
addValue = value * MILLIS_PER_MINUTE
|
||||
TimeUnit.HOUR:
|
||||
addValue = value * MILLIS_PER_HOUR
|
||||
_init(_time + addValue)
|
||||
return self
|
||||
|
||||
|
||||
static func elapsed(p_time_ms :int) -> String:
|
||||
var local_time_ := LocalTime.new(p_time_ms)
|
||||
if local_time_._hour > 0:
|
||||
return "%dh %dmin %ds %dms" % [local_time_._hour, local_time_._minute, local_time_._second, local_time_._millisecond]
|
||||
if local_time_._minute > 0:
|
||||
return "%dmin %ds %dms" % [local_time_._minute, local_time_._second, local_time_._millisecond]
|
||||
if local_time_._second > 0:
|
||||
return "%ds %dms" % [local_time_._second, local_time_._millisecond]
|
||||
return "%dms" % local_time_._millisecond
|
||||
|
||||
|
||||
@warning_ignore("integer_division")
|
||||
# create from epoch timestamp in ms
|
||||
func _init(time :int):
|
||||
_time = time
|
||||
_hour = (time / MILLIS_PER_HOUR) % 24
|
||||
_minute = (time / MILLIS_PER_MINUTE) % 60
|
||||
_second = (time / MILLIS_PER_SECOND) % 60
|
||||
_millisecond = time % 1000
|
||||
|
||||
|
||||
func hour() -> int:
|
||||
return _hour
|
||||
|
||||
|
||||
func minute() -> int:
|
||||
return _minute
|
||||
|
||||
|
||||
func second() -> int:
|
||||
return _second
|
||||
|
||||
|
||||
func millis() -> int:
|
||||
return _millisecond
|
||||
|
||||
|
||||
func _to_string() -> String:
|
||||
return "%02d:%02d:%02d.%03d" % [_hour, _minute, _second, _millisecond]
|
||||
|
||||
|
||||
# wraper to old OS.get_system_time_msecs() function
|
||||
static func _get_system_time_msecs() -> int:
|
||||
return Time.get_unix_time_from_system() * 1000 as int
|
||||
Loading…
Add table
Add a link
Reference in a new issue