You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.8 KiB
53 lines
1.8 KiB
using UnityEngine; |
|
using UnityEngine.Rendering.Universal; |
|
using UnityEngine.U2D; |
|
|
|
namespace ET |
|
{ |
|
public class PeachValleyComponentAwakeSystem: AwakeSystem<PeachValleyComponent> |
|
{ |
|
public override void Awake(PeachValleyComponent self) |
|
{ |
|
self.Awake(); |
|
} |
|
} |
|
|
|
[FriendClass(typeof(PeachValleyComponent))] |
|
public static class PeachValleyComponentSystem |
|
{ |
|
private const float MinutePerHouse = 60.0f; |
|
public static void Awake(this PeachValleyComponent self) |
|
{ |
|
self.GlobalLight = GameObject.Find("/GlobalLight").GetComponent<Light2D>(); |
|
} |
|
|
|
public static void UpdateLightByTime(this PeachValleyComponent self, int hour, int minute) |
|
{ |
|
if (hour > 0 && hour < 6) |
|
{ |
|
self.GlobalLight.intensity = self.NightIntensity; |
|
} |
|
else if (hour >= 6 && hour < 16) |
|
{ |
|
self.GlobalLight.color = self.DayColor; |
|
self.GlobalLight.intensity = self.DayIntensity; |
|
} |
|
else if (hour >= 16 && hour < 17) |
|
{ |
|
float percent = minute / MinutePerHouse; |
|
self.GlobalLight.color = Color.Lerp(self.DayColor, self.SunsetColor, percent); |
|
self.GlobalLight.intensity = Mathf.Lerp(self.DayIntensity, self.SunsetIntensity, percent); |
|
} |
|
else if (hour >= 17 && hour < 18) |
|
{ |
|
float percent = minute / MinutePerHouse; |
|
self.GlobalLight.intensity = Mathf.Lerp(self.SunsetIntensity, self.NightIntensity, percent); |
|
} |
|
else if (hour >= 18 && hour <= 24) |
|
{ |
|
self.GlobalLight.color = self.DayColor; |
|
self.GlobalLight.intensity = self.NightIntensity; |
|
} |
|
} |
|
} |
|
}
|
|
|