19 private readonly
int _Snow = Shader.PropertyToID(
"_Snow");
21 private readonly
int _SkyLevel = Shader.PropertyToID(
"_SkyLevel");
23 private readonly
int _NightRate = Shader.PropertyToID(
"_NightRate");
25 private readonly
int _ViewHeight = Shader.PropertyToID(
"_ViewHeight");
27 private readonly
int _FogStrength = Shader.PropertyToID(
"_FogStrength");
29 private readonly
int _FogColor = Shader.PropertyToID(
"_FogColor");
31 private readonly
int _FowColor = Shader.PropertyToID(
"_FowColor");
33 private readonly
int _SunColor = Shader.PropertyToID(
"_SunColor");
35 private readonly
int _SeaColor = Shader.PropertyToID(
"_SeaColor");
37 private readonly
int _SkyColor = Shader.PropertyToID(
"_SkyColor");
39 private readonly
int _SkyBGColor = Shader.PropertyToID(
"_SkyBGColor");
41 private readonly
int _Offset = Shader.PropertyToID(
"_Offset");
43 private readonly
int _Zoom = Shader.PropertyToID(
"_Zoom");
45 private readonly
int _LightPower = Shader.PropertyToID(
"_LightPower");
49 private readonly
int _ScreenFlash = Shader.PropertyToID(
"_ScreenFlash");
201 EMono.core.screen =
this;
202 Point._screen =
this;
203 base.gameObject.SetActive(value:
true);
217 bool flag2 = (main3.prewarm =
true);
218 bool prewarm = (main2.prewarm = flag2);
219 main.prewarm = prewarm;
221 for (
int i = 0; i < blossoms.Length; i++)
223 ParticleSystem.MainModule main4 = blossoms[i].main;
224 main4.prewarm =
true;
254 base.gameObject.SetActive(value:
false);
255 EMono.core.screen =
null;
280 float num = camera.zoomSpeed * (flag ? 0.05f : (camera.linearZoom ? 2f : 1f)) *
Core.
delta;
284 if (Mathf.Abs(num2 -
targetZoom) < (flag ? 0.0005f : 0.003f))
327 Scene.skipAnime =
false;
335 visible = ((room ==
null || !room.
HasRoof) ? 1 : 0);
341 flock.UpdateVisible((
byte)visible != 0);
353 Color value = color.
fog.Evaluate(time);
367 if ((
bool)fowProfile)
369 switch (fowProfile.
type)
378 Shader.SetGlobalColor(
_FowColor, color.
fow.Evaluate(time));
384 Shader.SetGlobalColor(
_FowColor, color.
fow.Evaluate(time));
387 Shader.SetGlobalColor(
_SeaColor, color.
sea.Evaluate(time));
388 Shader.SetGlobalColor(
_SkyColor, color.
sky.Evaluate(time));
396 main.startColor = (EMono._zone.IsSnowCovered ? color.
godraySnow.Evaluate(time) : color.
godray.Evaluate(time));
397 camSupport.grading.vignettePower = light.
vignetteCurve.Evaluate(time);
399 camSupport.bloom.threshold = light.
bloomCurve.Evaluate(time);
400 camSupport.beautify.bloomIntensity = light.
bloomCurve2.Evaluate(time);
482 pushBack.x = mapLimit.x - (float)num;
486 pushBack.y = mapLimit.y - (float)num2;
512 EMono.scene.cam.transform.localPosition =
_camPos;
529 grading.material.DisableKeyword(
"CLOUD_ON");
533 grading.material.EnableKeyword(
"CLOUD_ON");
556 Vector3 localScale =
new Vector3(
EMono.
scene.
cam.orthographicSize * ((
float)Screen.width / (
float)Screen.height) * 2.5f,
EMono.
scene.
cam.orthographicSize * 2.5f, 1f);
559 EMono.scene.skyBG.transform.localScale = localScale;
571 EMono.scene.cam.transform.position = Vector3.zero;
572 Vector3 vector2 =
EMono.
scene.
cam.WorldToScreenPoint(Vector3.zero);
575 EMono.scene.cam.transform.position = vector;
580 int num = EMono.screen.scrollX - EMono.screen.scrollY +
width / 2 - (
height / 2 + 1) / 2;
581 int num2 = EMono.screen.scrollY + EMono.screen.scrollX +
width / 2 +
height / 2 / 2;
591 EMono.scene.firefly.baseParticleCount = graphic.
fireflyCount;
592 EMono.scene.fireflyNight.baseParticleCount = graphic.fireflyCount * 10;
593 EMono.scene.star.baseParticleCount = graphic.
starCount;
613 EMono.scene.filterRain.Fade = ((currentCondition ==
Weather.
Condition.RainHeavy) ? 0.4f : 0.3f);
614 EMono.scene.rain.enableEmission = !flag && weather.
IsRaining;
615 ParticleSystem.EmissionModule emission =
EMono.
scene.
rain.emission;
616 emission.rateOverTime = ((currentCondition ==
Weather.
Condition.RainHeavy) ? 750 : 200);
617 EMono.scene.snow.enableEmission = !flag && currentCondition ==
Weather.
Condition.Snow;
618 EMono.scene.ether.enableEmission = !flag && weather.
IsEther;
621 foreach (ParticleSystem particleSystem
in blossoms)
623 particleSystem.enableEmission = flag3;
626 ParticleSystem.MainModule main = particleSystem.main;
627 ParticleSystem.MinMaxGradient startColor = main.startColor;
630 startColor.mode = ParticleSystemGradientMode.RandomColor;
635 startColor.mode = ParticleSystemGradientMode.TwoColors;
639 main.startColor = startColor;
644 for (
int i = 0; i < blossoms.Length; i++)
646 blossoms[i].enableEmission = flag3;
648 EMono.scene.transBlizzard.localScale =
new Vector3(1f, 1f, 1f);
649 bool flag4 = (EMono._zone.IsUnderwater || EMono._map.config.forceGodRay || (EMono.core.config.graphic.godray && !flag && (currentCondition == Weather.Condition.Fine || currentCondition ==
Weather.
Condition.Snow))) && !
BuildMenu.
Instance;
667 float num = ((zone.lv <= -2 || zone.
IsUnderwater) ? 0f : ((zone.
lv <= -1) ? 0.3f : ((flag && !flag2) ? 0.6f : 1f)));
671 EMono.scene.camSupport.grading.userFog = ((!EMono._map.config.indoor && flag) ? 0f : 1f);
677 camSupport.grading.sceneBrightness = num2;
681 bool flag6 = (main4.prewarm =
false);
682 bool prewarm = (main3.prewarm = flag6);
683 main2.prewarm = prewarm;
685 for (
int i = 0; i < blossoms.Length; i++)
687 ParticleSystem.MainModule main5 = blossoms[i].main;
688 main5.prewarm =
false;
695 float timeRatio = (EMono.core.IsGameStarted ? EMono.scene.timeRatio : 0f);
701 camSupport.grading.profile.sharpen.enable = EMono.core.config.graphic.sharpen > 0;
707 if (tintColor.a == 0f)
711 camSupport.beautify.tintColor = tintColor;
713 MATERIAL.sourceWaterSea.matColor = ((tintColor.a == 0f) ?
MATERIAL.
sourceWaterSea.GetColor() : tintColor);
720 camSupport.grading.nightBrightness = num;
731 position.x += x /
Zoom;
732 position.y += y /
Zoom;
733 if (x > 0.1f || x < -0.1f || y > 0.1f || y < 0.1f)
805 float num = snapSize.x / zoom;
806 float num2 = snapSize.y / zoom;
810 v.x = num * (float)Mathf.RoundToInt(v.x / num);
811 v.y = num2 * (float)Mathf.RoundToInt(v.y / num2);
814 v.x = num * (float)Mathf.FloorToInt(v.x / num);
815 v.y = num2 * (float)Mathf.FloorToInt(v.y / num2);
818 v.x = num * (float)Mathf.CeilToInt(v.x / num);
819 v.y = num2 * (float)Mathf.CeilToInt(v.y / num2);
824 v.x = num * (float)Mathf.RoundToInt(v.x / num);
825 v.y = num2 * (float)Mathf.RoundToInt(v.y / num2);
830 v.x = num * (float)Mathf.FloorToInt(v.x / num);
831 v.y = num2 * (float)Mathf.FloorToInt(v.y / num2);
836 v.x = num * (float)Mathf.CeilToInt(v.x / num);
837 v.y = num2 * (float)Mathf.CeilToInt(v.y / num2);
840 v.x = 0.01f * (float)Mathf.FloorToInt(v.x * 100f) + 0.001f;
841 v.y = 0.01f * (float)Mathf.FloorToInt(v.y * 100f) + 0.001f;
844 v.x = 0.01f * (float)Mathf.FloorToInt(v.x * 100f) - 0.001f;
845 v.y = 0.01f * (float)Mathf.FloorToInt(v.y * 100f) - 0.001f;
848 v.x = 0.01f * (float)Mathf.RoundToInt(v.x * 100f) + 0.005f;
849 v.y = 0.01f * (float)Mathf.RoundToInt(v.y * 100f) + 0.005f;
852 v.x = 0.01f * (float)Mathf.RoundToInt(v.x * 100f) + 0.025f;
853 v.y = 0.01f * (float)Mathf.RoundToInt(v.y * 100f) + 0.025f;
883 int num3 = (EMono.core.config.camera.extendZoomMax ? 4 : 3);
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
override float TargetZoom
virtual void OnActivate()
readonly int _ScreenFlash
void ModTargetZoomIndex(int a)
void FocusImmediate(Point pos)
void SetTargetZoomIndex(int index)
readonly int _BackDrawPower
void ScrollAxis(Vector3 axis, bool direct=false)
MeshRenderer overlayShadow
virtual void OnDeactivate()
virtual void OnChangeHour()
readonly int _FogStrength
void ScrollMouse(float x, float y)
virtual void OnEndPlayerTurn()
BaseTileSelector tileSelector
void SnapScreen(ref Vector3 v, float zoom)
void UpdateShaders(float time=0f)
virtual void RefreshWeather()
virtual bool IsGameScreen
virtual void RefreshPosition()
virtual void SetUnitSize()
readonly int _AnimeSpeedGlobal
void OnActivate(BaseGameScreen _screen)
void ResizeCameraToPixelPerfect()
ParticleColors particleColors
CameraSupport.Divider divider
void RefreshUIBrightness()
static float gameDeltaNoPause
static GameSetting setting
static ColorProfile Colors
static BaseGameScreen screen
static EffectManager Instance
static SourceMaterial.Row sourceWaterSea
SerializableColor colorSea
SerializableColor colorScreen
List< TransAnime > pointAnimes
ref Vector3 Position(int height)
Point Set(int _x, int _z)
ref Vector3 PositionCenter()
AnimationCurve lightPower
AnimationCurve bloomCurve
AnimationCurve bloomCurve2
AnimationCurve nightRatioCurve
AnimationCurve vignetteCurve
SceneGlobalProfile global
static SceneTemplate Load(string id)
ParticleSystem godrayDust
SoundSource sfxUnderwater
ParticleSystem[] blizzards
ParticleSystem[] blossoms
static Color currentColor
virtual bool IsSnowCovered
Condition CurrentCondition
virtual string IDSceneTemplate
virtual bool IsUnderwater