Cozy Wather + buld systeme
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
namespace DistantLands.Cozy
|
||||
{
|
||||
[Serializable]
|
||||
public class MeridiemTime
|
||||
{
|
||||
|
||||
public int hours;
|
||||
public int minutes;
|
||||
public int seconds;
|
||||
public int milliseconds;
|
||||
|
||||
|
||||
public float timeAsPercentage;
|
||||
|
||||
public MeridiemTime() { }
|
||||
|
||||
public MeridiemTime(int hour, int minute)
|
||||
{
|
||||
this.hours = hour;
|
||||
minutes = minute;
|
||||
// timeAsPercentage = (hour * 3600000f + minute * 60000f) / 86400000f;
|
||||
}
|
||||
public MeridiemTime(int hour, int minute, int second, int millisecond)
|
||||
{
|
||||
hours = hour;
|
||||
minutes = minute;
|
||||
seconds = second;
|
||||
milliseconds = millisecond;
|
||||
// timeAsPercentage = (hour * 3600000f + minute * 60000f + second * 1000f + millisecond) / 86400000f;
|
||||
}
|
||||
public static implicit operator MeridiemTime(float floatValue)
|
||||
{
|
||||
MeridiemTime time = new MeridiemTime();
|
||||
time.hours = Mathf.FloorToInt(floatValue * 24f);
|
||||
time.minutes = Mathf.FloorToInt(floatValue * 1440f % 60f);
|
||||
time.seconds = Mathf.FloorToInt(floatValue * 86400f % 60f);
|
||||
time.milliseconds = Mathf.FloorToInt(floatValue * 86400000f % 1000f);
|
||||
return time;
|
||||
}
|
||||
public static implicit operator float(MeridiemTime time) => (time.hours * 3600000f + time.minutes * 60000f + time.seconds * 1000f + time.milliseconds) / 86400000f;
|
||||
public static implicit operator DateTime(MeridiemTime time) => new DateTime(1, 1, 1, time.hours, time.minutes, time.seconds, time.milliseconds);
|
||||
public static implicit operator string(MeridiemTime time) => $"{time.hours:D2}:{time.minutes:D2}";
|
||||
public new string ToString() => $"{hours:D2}:{minutes:D2}";
|
||||
public string FullString() => $"{hours:D2}:{minutes:D2}:{seconds:D2}:{milliseconds:D4}";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user