First commit on my server, yey!

This commit is contained in:
Sebastian Bularca
2026-03-19 18:12:07 +01:00
parent 5139ec2cec
commit fedd1961a0
602 changed files with 101587 additions and 6 deletions

View File

@@ -0,0 +1,58 @@
using UnityEngine;
namespace Nox.Game {
public enum DayPhase {
Midnight,
Dawn,
Morning,
Afternoon,
Dusk,
Night
}
public class TimeHandler {
private readonly AdventureSettings adventureSettings;
private readonly AdventureData adventureData;
private float localTime;
private static readonly (float start, DayPhase phase)[] PhaseThresholds = {
(0.00f, DayPhase.Midnight),
(0.05f, DayPhase.Night),
(0.17f, DayPhase.Dawn),
(0.25f, DayPhase.Morning),
(0.50f, DayPhase.Afternoon),
(0.75f, DayPhase.Dusk),
(0.90f, DayPhase.Night),
};
public TimeHandler(AdventureSettings adventureSettings, AdventureData adventureData) {
this.adventureSettings = adventureSettings;
this.adventureData = adventureData;
localTime = adventureData.currentTime * adventureSettings.dayLength;
}
public void Tick() {
if (!adventureData.isPartyMoving) return;
localTime += Time.deltaTime;
if (localTime >= adventureSettings.dayLength) {
localTime -= adventureSettings.dayLength;
adventureData.currentDay++;
}
adventureData.currentTime = localTime / adventureSettings.dayLength;
adventureData.currentDayPhase = GetPhase(adventureData.currentTime);
}
private static DayPhase GetPhase(float t) {
var phase = DayPhase.Midnight;
foreach (var (start, p) in PhaseThresholds) {
if (t >= start) phase = p;
else break;
}
return phase;
}
}
}