From 967cb1893d9355f64e1a91bbf15933fb5b80c1f6 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Sat, 25 Jan 2025 15:38:20 +0100 Subject: [PATCH] Re-applied changes --- src/components/game/map/Effects.vue | 39 +++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/src/components/game/map/Effects.vue b/src/components/game/map/Effects.vue index 22c51ef..d9448c9 100644 --- a/src/components/game/map/Effects.vue +++ b/src/components/game/map/Effects.vue @@ -106,26 +106,22 @@ const updateScene = () => { {} ) as { [key: string]: number } - const finalEffects = {...mapEffects, - light: timeBasedLight, - rain: weatherState.value.rainPercentage, - fog: weatherState.value.fogDensity } + const finalEffects = { ...mapEffects, light: timeBasedLight, rain: weatherState.value.rainPercentage, fog: weatherState.value.fogDensity } applyEffects(finalEffects) } const applyEffects = (effectValues: any) => { if (effects.light.value) { - const darkness = 1 - (effectValues.light) / 100 + const darkness = 1 - effectValues.light / 100 effects.light.value.clear().fillStyle(0x000000, darkness).fillRect(0, 0, window.innerWidth, window.innerHeight) } if (effects.rain.value) { - if (effectValues.rain.value) - effects.rain.value.start().setQuantity(effectValues.rain / 10) + if (effectValues.rain.value) effects.rain.value.start().setQuantity(effectValues.rain / 10) else effects.rain.value.stop() } - if (effectValues.fog.value && effects.fog.value) effects.fog.value.setAlpha(effectValues.fog/100); + if (effectValues.fog.value && effects.fog.value) effects.fog.value.setAlpha(effectValues.fog / 100) } // Linear Interpolation @@ -133,7 +129,7 @@ const applyEffects = (effectValues: any) => { // a = 0 return x // a = 0.5 return (x+y)/2 // a = 1 return y -const lerp = (x:number,y:number,a:number) => x * (1-a) + y * a +const lerp = (x: number, y: number, a: number) => x * (1 - a) + y * a const calculateLightStrength = (time: Date): number => { const hour = time.getHours() @@ -142,19 +138,11 @@ const calculateLightStrength = (time: Date): number => { const totalMinutes = (hour - (LIGHT_CONFIG.SUNSET_HOUR - 2)) * 60 + minute //Transition from daylight to night - if (hour >= LIGHT_CONFIG.SUNSET_HOUR - LIGHT_CONFIG.TRANSITION_HOURS && hour < LIGHT_CONFIG.SUNSET_HOUR) - return lerp(LIGHT_CONFIG.DAY_STRENGTH, LIGHT_CONFIG.NIGHT_STRENGTH, - (hour+(minute/60)-(LIGHT_CONFIG.SUNSET_HOUR-LIGHT_CONFIG.TRANSITION_HOURS))/LIGHT_CONFIG.TRANSITION_HOURS) - + if (hour >= LIGHT_CONFIG.SUNSET_HOUR - LIGHT_CONFIG.TRANSITION_HOURS && hour < LIGHT_CONFIG.SUNSET_HOUR) return lerp(LIGHT_CONFIG.DAY_STRENGTH, LIGHT_CONFIG.NIGHT_STRENGTH, (hour + minute / 60 - (LIGHT_CONFIG.SUNSET_HOUR - LIGHT_CONFIG.TRANSITION_HOURS)) / LIGHT_CONFIG.TRANSITION_HOURS) //Transition from sunrise to morning - else if (hour >= LIGHT_CONFIG.SUNRISE_HOUR && hour < LIGHT_CONFIG.SUNRISE_HOUR + LIGHT_CONFIG.TRANSITION_HOURS) - return lerp(LIGHT_CONFIG.NIGHT_STRENGTH, LIGHT_CONFIG.DAY_STRENGTH, - (hour+(minute/60)-LIGHT_CONFIG.SUNRISE_HOUR)/LIGHT_CONFIG.TRANSITION_HOURS) - - else if (hour > LIGHT_CONFIG.SUNRISE_HOUR && hour < LIGHT_CONFIG.SUNSET_HOUR) - return LIGHT_CONFIG.DAY_STRENGTH - else - return LIGHT_CONFIG.NIGHT_STRENGTH + else if (hour >= LIGHT_CONFIG.SUNRISE_HOUR && hour < LIGHT_CONFIG.SUNRISE_HOUR + LIGHT_CONFIG.TRANSITION_HOURS) return lerp(LIGHT_CONFIG.NIGHT_STRENGTH, LIGHT_CONFIG.DAY_STRENGTH, (hour + minute / 60 - LIGHT_CONFIG.SUNRISE_HOUR) / LIGHT_CONFIG.TRANSITION_HOURS) + else if (hour > LIGHT_CONFIG.SUNRISE_HOUR && hour < LIGHT_CONFIG.SUNSET_HOUR) return LIGHT_CONFIG.DAY_STRENGTH + else return LIGHT_CONFIG.NIGHT_STRENGTH } // Socket and window handlers @@ -178,9 +166,12 @@ const handleResize = () => { } // Lifecycle -watch(() => mapObject.value, () => { - updateScene() -}) +watch( + () => mapObject.value, + () => { + updateScene() + } +) onMounted(() => window.addEventListener('resize', handleResize))