summaryrefslogtreecommitdiff
path: root/GameCode/ColorAndLightManager.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-05-19 16:05:01 +0800
committerchai <215380520@qq.com>2024-05-19 16:05:01 +0800
commitc5f145786f4c6d2fe4bea831dfc16e52228920a5 (patch)
treea6ead7ea8266c767d58ed0f816dcd7a1dd75bd65 /GameCode/ColorAndLightManager.cs
parent48b64e573a1709dc923cb9162b55be0246b3ff63 (diff)
* move
Diffstat (limited to 'GameCode/ColorAndLightManager.cs')
-rw-r--r--GameCode/ColorAndLightManager.cs235
1 files changed, 0 insertions, 235 deletions
diff --git a/GameCode/ColorAndLightManager.cs b/GameCode/ColorAndLightManager.cs
deleted file mode 100644
index 83afad1..0000000
--- a/GameCode/ColorAndLightManager.cs
+++ /dev/null
@@ -1,235 +0,0 @@
-using System.Collections;
-using UnityEngine;
-
-public class ColorAndLightManager : MonoBehaviour, DayNightCycle.IDaytimeSensitive
-{
- [SerializeField]
- private Light sunlight;
-
- [SerializeField]
- private Colorscheme colorscheme;
-
- [SerializeField]
- private float transitionDuration = 3f;
-
- [SerializeField]
- private Transform playerTransform;
-
- [SerializeField]
- private Material enemyMaterial;
-
- [SerializeField]
- private Material allyMaterial;
-
- [SerializeField]
- private Material playerMaterial;
-
- [SerializeField]
- private Material playerCapeMaterial;
-
- [SerializeField]
- private Material playerCrownMaterial;
-
- [SerializeField]
- private Material horseMaterial;
-
- [SerializeField]
- private Material buildingMaterial;
-
- [SerializeField]
- private Material buildingPreviewMaterial;
-
- [SerializeField]
- private Material coinMaterial;
-
- [SerializeField]
- private Material groundMaterial;
-
- [SerializeField]
- private Material groundHigh;
-
- [SerializeField]
- private Material groundLow;
-
- [SerializeField]
- private Material groundPatches;
-
- [SerializeField]
- private Material treeMaterial;
-
- [SerializeField]
- private Material rockMaterial;
-
- [SerializeField]
- private Material waterMaterial;
-
- [SerializeField]
- private Material oceanMaterial;
-
- [SerializeField]
- private Material roadMaterial;
-
- [SerializeField]
- private Material shadowShapeMaterial;
-
- [SerializeField]
- private Material customPostProcessingMaterial;
-
- public static Colorscheme currentColorscheme;
-
- public void OnDawn_AfterSunrise()
- {
- }
-
- public void OnDusk()
- {
- StopAllCoroutines();
- StartCoroutine(ToNight());
- }
-
- public void OnDawn_BeforeSunrise()
- {
- StopAllCoroutines();
- StartCoroutine(ToDay());
- }
-
- public void Daylight()
- {
- sunlight.color = colorscheme.dayLightColor;
- AdjustAllOutlineColorsBasedOnLight(colorscheme.globalShadowColor, colorscheme.dayLightColor);
- }
-
- public void SunsetLight()
- {
- sunlight.color = colorscheme.sunsetLightColor;
- AdjustAllOutlineColorsBasedOnLight(colorscheme.globalShadowColor, colorscheme.sunsetLightColor);
- }
-
- public void NightLight()
- {
- sunlight.color = colorscheme.nightLightColor;
- AdjustAllOutlineColorsBasedOnLight(colorscheme.globalShadowColor, colorscheme.nightLightColor);
- }
-
- private IEnumerator ToDay()
- {
- float timer2 = 0f;
- sunlight.color = colorscheme.nightLightColor;
- while (timer2 <= transitionDuration)
- {
- timer2 += Time.deltaTime;
- sunlight.color = Color.Lerp(colorscheme.nightLightColor, colorscheme.sunsetLightColor, timer2 / transitionDuration);
- AdjustAllOutlineColorsBasedOnLight(colorscheme.globalShadowColor, sunlight.color);
- yield return null;
- }
- timer2 = 0f;
- while (timer2 <= transitionDuration)
- {
- timer2 += Time.deltaTime;
- sunlight.color = Color.Lerp(colorscheme.sunsetLightColor, colorscheme.dayLightColor, timer2 / transitionDuration);
- AdjustAllOutlineColorsBasedOnLight(colorscheme.globalShadowColor, sunlight.color);
- yield return null;
- }
- sunlight.color = colorscheme.dayLightColor;
- AdjustAllOutlineColorsBasedOnLight(colorscheme.globalShadowColor, sunlight.color);
- }
-
- private IEnumerator ToNight()
- {
- float timer = 0f;
- sunlight.color = colorscheme.dayLightColor;
- while (timer <= transitionDuration)
- {
- timer += Time.deltaTime;
- sunlight.color = Color.Lerp(colorscheme.dayLightColor, colorscheme.nightLightColor, timer / transitionDuration);
- AdjustAllOutlineColorsBasedOnLight(colorscheme.globalShadowColor, sunlight.color);
- yield return null;
- }
- sunlight.color = colorscheme.nightLightColor;
- AdjustAllOutlineColorsBasedOnLight(colorscheme.globalShadowColor, sunlight.color);
- }
-
- private void Start()
- {
- sunlight.color = colorscheme.dayLightColor;
- DayNightCycle.Instance.RegisterDaytimeSensitiveObject(this);
- ApplayColorScheme();
- if ((bool)playerTransform && (bool)colorscheme.particlesToAttachToPlayer)
- {
- Object.Instantiate(colorscheme.particlesToAttachToPlayer, playerTransform).transform.localPosition = Vector3.zero;
- }
- }
-
- public void ApplayColorScheme()
- {
- ApplyColorScheme(colorscheme);
- }
-
- public void ApplyColorScheme(Colorscheme _colorScheme)
- {
- SetMaterialColors(enemyMaterial, _colorScheme.enemyLightColor, _colorScheme.enemyMidColor, _colorScheme.globalShadowColor);
- SetMaterialColors(allyMaterial, _colorScheme.allyLightColor, _colorScheme.allyMidColor, _colorScheme.globalShadowColor);
- SetMaterialColors(playerMaterial, _colorScheme.playerLightColor, _colorScheme.playerMidColor, _colorScheme.globalShadowColor);
- SetMaterialColors(playerCapeMaterial, _colorScheme.playerCapeLightColor, _colorScheme.playerCapeMidColor, _colorScheme.globalShadowColor);
- SetMaterialColors(playerCrownMaterial, _colorScheme.playerCrownLightColor, _colorScheme.playerCrownMidColor, _colorScheme.globalShadowColor);
- SetMaterialColors(horseMaterial, _colorScheme.horseLightColor, _colorScheme.horseMidColor, _colorScheme.globalShadowColor);
- SetMaterialColors(buildingMaterial, _colorScheme.buildingLightColor, _colorScheme.buildingMidColor, _colorScheme.globalShadowColor);
- SetMaterialColors(_lightCol: new Color(_colorScheme.buildingLightColor.r, _colorScheme.buildingLightColor.g, _colorScheme.buildingLightColor.b, 0.15f), _midCol: new Color(_colorScheme.buildingMidColor.r, _colorScheme.buildingMidColor.g, _colorScheme.buildingMidColor.b, 0.15f), _shadowCol: new Color(_colorScheme.globalShadowColor.r, _colorScheme.globalShadowColor.g, _colorScheme.globalShadowColor.b, 0.15f), _mat: buildingPreviewMaterial);
- SetMaterialColors(coinMaterial, _colorScheme.coinLightColor, _colorScheme.coinMidColor, _colorScheme.globalShadowColor);
- SetMaterialColors(groundMaterial, _colorScheme.groundColor, _colorScheme.globalShadowColor, _colorScheme.globalShadowColor);
- SetMaterialColors(groundPatches, _colorScheme.groundColor, _colorScheme.globalShadowColor, _colorScheme.globalShadowColor);
- SetMaterialColors(groundHigh, _colorScheme.groundColorHigh, _colorScheme.globalShadowColor, _colorScheme.globalShadowColor);
- SetMaterialColors(groundLow, _colorScheme.groundColorLow, _colorScheme.globalShadowColor, _colorScheme.globalShadowColor);
- SetMaterialColors(treeMaterial, _colorScheme.treeLightColor, _colorScheme.treeMidColor, _colorScheme.globalShadowColor);
- SetMaterialColors(rockMaterial, _colorScheme.rockLightColor, _colorScheme.rockMidColor, _colorScheme.globalShadowColor);
- SetMaterialColors(waterMaterial, _colorScheme.waterLightColor, _colorScheme.waterSecondaryColor, _colorScheme.globalShadowColor);
- SetMaterialColors(oceanMaterial, _colorScheme.waterLightColor, _colorScheme.waterSecondaryColor, _colorScheme.globalShadowColor);
- SetMaterialColors(roadMaterial, _colorScheme.roadColor, _colorScheme.globalShadowColor, _colorScheme.globalShadowColor);
- SetMaterialColors(shadowShapeMaterial, _colorScheme.globalShadowColor, _colorScheme.globalShadowColor, _colorScheme.globalShadowColor);
- SetMaterialColorsPostProcessing(customPostProcessingMaterial, _colorScheme.brightness, _colorScheme.topColorAdd, _colorScheme.botColorAdd, _colorScheme.contrast, _colorScheme.saturation, _colorScheme.mix);
- currentColorscheme = _colorScheme;
- }
-
- private void SetMaterialColors(Material _mat, Color _lightCol, Color _midCol, Color _shadowCol)
- {
- _mat.SetColor("_BaseColor", _lightCol);
- _mat.SetColor("_ColorDim", _midCol);
- _mat.SetColor("_ColorDimExtra", _shadowCol);
- _mat.SetColor("_UnityShadowColor", _shadowCol);
- _mat.SetColor("_OutlineColor", _shadowCol);
- }
-
- public void AdjustAllOutlineColorsBasedOnLight(Color outlineColor, Color lightColor)
- {
- SetOutlineColorBasedOnLight(enemyMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(allyMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(playerMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(playerCapeMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(playerCrownMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(horseMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(buildingMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(coinMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(groundMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(groundPatches, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(treeMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(rockMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(waterMaterial, outlineColor, lightColor);
- SetOutlineColorBasedOnLight(oceanMaterial, outlineColor, lightColor);
- }
-
- private void SetOutlineColorBasedOnLight(Material _mat, Color _outlineCol, Color lightCol)
- {
- Color value = Color.Lerp(_outlineCol, _outlineCol * lightCol, _mat.GetFloat("_LightContribution"));
- _mat.SetColor("_OutlineColor", value);
- }
-
- private void SetMaterialColorsPostProcessing(Material _mat, float _brightness, Color _top, Color _bot, float _contrast, float _saturation, float _mix)
- {
- _mat.SetFloat("_Brightness", _brightness);
- _mat.SetColor("_TopColorAdd", _top);
- _mat.SetColor("_BotColorAdd", _bot);
- _mat.SetFloat("_Contrast", _contrast);
- _mat.SetFloat("_Saturation", _saturation);
- _mat.SetFloat("_Mix", _mix);
- }
-}