Zombie-Zwischencommit
This commit is contained in:
@ -11,9 +11,17 @@ public class Zeitschaltuhr : MonoBehaviour, ISerializationCallbackReceiver
|
||||
{
|
||||
private TimeSpan _turnOnTimeSpan;
|
||||
private TimeSpan _turnOffTimeSpan;
|
||||
|
||||
private float _activeTimeSpanInSeconds;
|
||||
|
||||
/// <summary>
|
||||
/// Die Dauer der Active-Time der Kinder in echten Sekunden
|
||||
/// </summary>
|
||||
public float ActiveTimeSpanInSeconds => _activeTimeSpanInSeconds;
|
||||
/// <summary>
|
||||
/// Ob die Kinder gerade aktiv sind oder nicht
|
||||
/// </summary>
|
||||
public bool IsOn;
|
||||
|
||||
|
||||
[SerializeField] private SimpleTime _turnOnTime;
|
||||
[SerializeField] private SimpleTime _turnOffTime;
|
||||
|
||||
@ -39,6 +47,7 @@ public class Zeitschaltuhr : MonoBehaviour, ISerializationCallbackReceiver
|
||||
|
||||
void Start()
|
||||
{
|
||||
CalculateOnTimeInSeconds();
|
||||
UpdateOn();
|
||||
}
|
||||
|
||||
@ -94,4 +103,23 @@ public class Zeitschaltuhr : MonoBehaviour, ISerializationCallbackReceiver
|
||||
_turnOnTimeSpan = _turnOnTime.ToTimeSpan();
|
||||
_turnOffTimeSpan = _turnOffTime.ToTimeSpan();
|
||||
}
|
||||
|
||||
private void CalculateOnTimeInSeconds()
|
||||
{
|
||||
TimeSpan turnOnTimeSpan = _turnOnTime.ToTimeSpan();
|
||||
TimeSpan turnOffTimeSpan = _turnOffTime.ToTimeSpan();
|
||||
|
||||
float onDurationInSeconds;
|
||||
if (turnOnTimeSpan < turnOffTimeSpan)
|
||||
{
|
||||
onDurationInSeconds = (float)(turnOffTimeSpan - turnOnTimeSpan).TotalSeconds;
|
||||
}
|
||||
else
|
||||
{
|
||||
TimeSpan fullDay = TimeSpan.FromHours(24);
|
||||
onDurationInSeconds = (float)((fullDay - turnOnTimeSpan) + turnOffTimeSpan).TotalSeconds;
|
||||
}
|
||||
|
||||
_activeTimeSpanInSeconds = onDurationInSeconds * ((float)TimeManager.Instance.SecondsPerDay / 86400f); // 86400 Sekunden pro Tag
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user