Commit of existing data.
This commit is contained in:
Executable
+79
@@ -0,0 +1,79 @@
|
||||
class_name Timespan
|
||||
extends Node
|
||||
|
||||
var _millis: int
|
||||
|
||||
var _MillisPerSecond = 1000
|
||||
var _MillisPerMinute = _MillisPerSecond * 60
|
||||
var _MillisPerHour = _MillisPerMinute * 60
|
||||
var _MillisPerDay = _MillisPerHour * 24
|
||||
|
||||
|
||||
func _init(millis: int):
|
||||
_millis = millis
|
||||
|
||||
|
||||
func Add(ts: Timespan) -> Timespan:
|
||||
return Timespan.new(self._millis + ts._millis)
|
||||
|
||||
|
||||
func Subtract(ts: Timespan) -> Timespan:
|
||||
assert(self._millis >= ts._millis)
|
||||
return Timespan.new(self._millis - ts._millis)
|
||||
|
||||
|
||||
func CompareTo(ts: Timespan) -> int:
|
||||
if self._millis > ts._millis: return 1
|
||||
if self._millis < ts._millis: return -1
|
||||
return 0
|
||||
|
||||
|
||||
func Days() -> int:
|
||||
return _millis / _MillisPerDay
|
||||
|
||||
|
||||
func Hours() -> int:
|
||||
return (_millis / _MillisPerHour) % 24
|
||||
|
||||
|
||||
func Minutes() -> int:
|
||||
return (_millis / _MillisPerMinute) % 60
|
||||
|
||||
|
||||
func Seconds() -> int:
|
||||
return (_millis / _MillisPerSecond) % 60
|
||||
|
||||
|
||||
func Millis() -> int:
|
||||
return _millis % 1000
|
||||
|
||||
|
||||
func TotalDays() -> float:
|
||||
return float(_millis) / _MillisPerDay
|
||||
|
||||
|
||||
func TotalHours() -> float:
|
||||
return float(_millis) / _MillisPerHour
|
||||
|
||||
|
||||
func TotalMinutes() -> float:
|
||||
return float(_millis) / _MillisPerMinute
|
||||
|
||||
|
||||
func TotalSeconds() -> float:
|
||||
return float(_millis) / _MillisPerSecond
|
||||
|
||||
|
||||
func TotalMillis() -> int:
|
||||
return _millis
|
||||
|
||||
|
||||
static func FromTimestamps(t1: int, t2: int) -> Timespan:
|
||||
assert(t1 <= t2)
|
||||
return Timespan.new(t2 - t1)
|
||||
|
||||
|
||||
static func Compare(ts1: Timespan, ts2: Timespan) -> int:
|
||||
if ts1._millis > ts2._millis: return 1
|
||||
if ts1._millis < ts2._millis: return -1
|
||||
return 0
|
||||
Reference in New Issue
Block a user