10 public override float SkyRate
20 public override float TargetZoom
24 return this.zoom + 0.01f * (float)
EMono.game.config.regionZoom - 1f;
29 public override void OnActivate()
31 this.actor.transMap.SetActive(
true);
32 this.actor.selector.hasTargetChanged =
true;
33 EMono.scene.skyBG.SetActive(
false);
34 EMono.scene.cam.clearFlags = CameraClearFlags.Color;
36 this.actor.OnActivate();
40 public override void OnDeactivate()
42 this.actor.OnDeactivate();
46 public override void OnChangeHour()
48 this.actor.OnChangeHour();
52 public override void SetUnitSize()
54 this.tileAlign =
new Vector2(this.tileSize.x * 0.01f,
this.tileSize.y * 0.01f);
55 this.tileWorldSize =
new Vector2(this.tileSize.x * 0.01f,
this.tileSize.y * 0.01f);
56 float x = this.tileSize.x;
58 float num2 = num * 100f;
59 float num3 = num * 100f;
60 this.tileViewSize =
new Vector2(num2 * 0.01f, num3 * 0.01f);
64 public unsafe
override void RefreshPosition()
66 STETilemap fogmap = this.actor.elomap.fogmap;
67 this.actor.transMap.position =
new Vector3((
float)(-(
float)fogmap.MinGridX) *
this.tileAlign.x +
this.actorPos.x, (
float)(-(
float)fogmap.MinGridY) *
this.tileAlign.y +
this.actorPos.y,
this.actorPos.z);
68 if (base.fixFocus &&
EMono.pc.currentZone ==
EMono._zone)
70 float z = this.position.z;
71 this.targetZoom = this.TargetZoom;
72 Vector3 vector = (EMono.pc.isSynced ? EMono.pc.renderer.position : (*
EMono.pc.pos.PositionTopdown())) + this.focusFix;
73 if (this.instantFocus)
75 this.position = vector;
79 this.position = Vector3.Lerp(this.position, vector, this.focusSpeed * Core.delta);
82 this.pcOrbit.transform.position =
EMono.pc.renderer.position;
88 this.targetZoom = 0.01f * (float)
EMono.game.config.defaultZoom;
90 this.pushBack = Vector3.zero;
91 int scrollX = this.scrollX;
92 int scrollY = this.scrollY;
93 if ((
float)scrollX <= this.mapLimit.x)
95 this.pushBack.x = this.mapLimit.x - (float)scrollX;
97 if ((
float)scrollY <= this.mapLimit.y)
99 this.pushBack.y = this.mapLimit.y - (float)scrollY;
101 if ((
float)scrollX >= (
float)
EMono._map.Size +
this.mapLimit.width - (
float)(
this.width / 2))
103 this.pushBack.x = (float)
EMono._map.Size +
this.mapLimit.width - (
float)(this.width / 2) - (
float)scrollX;
105 if ((
float)scrollY >= (
float)
EMono._map.Size +
this.mapLimit.height - (
float)(
this.height / 2))
107 this.pushBack.y = (float)
EMono._map.Size +
this.mapLimit.height - (
float)(this.height / 2) - (
float)scrollY;
109 this.position += this.pushBack * Core.delta * this.pushbackSpeed;
111 this.scrollX = Mathf.FloorToInt(this.position.x /
this.tileWorldSize.x) - this.width / 2 + (int)this.paddingOffset.x;
112 this.scrollY = Mathf.FloorToInt(this.position.y /
this.tileWorldSize.y) - this.height / 4 + (int)this.paddingOffset.y;
113 if (this.lastPos.x != (
float)
this.scrollX ||
this.lastPos.y != (
float)
this.scrollY)
115 this.lastPos.x = (float)this.scrollX;
116 this.lastPos.y = (float)this.scrollY;
118 this.camPos.x = this.position.x;
119 this.camPos.y = this.position.y;
120 base.SnapScreen(ref this.camPos, this.Zoom);
121 this.camPos.z = -500f;
122 EMono.scene.cam.transform.localPosition = this.camPos;
124 EMono.scene.transAudio.position = this.camPos;
129 this.RefreshWeather();
133 public override void RefreshWeather()
135 EMono.world.weather.RefreshWeather();
138 Weather.Condition currentCondition = weather.CurrentCondition;
139 bool isRaining = weather.IsRaining;
140 bool isEther = weather.IsEther;
141 bool flag = currentCondition ==
Weather.Condition.Snow;
142 EMono.scene.filterRain.enabled = (isRaining && !flag &&
EMono.core.config.graphic.enhanceRain);
143 EMono.scene.filterRain.Fade = ((currentCondition ==
Weather.Condition.RainHeavy) ? 0.4f : 0.3f);
144 EMono.scene.rain.enableEmission = (isRaining && !flag);
145 ParticleSystem.EmissionModule emission =
EMono.scene.rain.emission;
146 emission.rateOverTime = (float)((currentCondition ==
Weather.Condition.RainHeavy) ? 700 : 200);
147 EMono.scene.snow.enableEmission = flag;
148 emission =
EMono.scene.snow.emission;
149 emission.rateOverTime = (float)((currentCondition ==
Weather.Condition.SnowHeavy) ? 120 : 35);
150 EMono.scene.ether.enableEmission = isEther;
151 EMono.scene.snow.SetActive(
true);
152 EMono.scene.rain.SetActive(
true);
153 EMono.scene.ether.SetActive(
true);
154 EMono.scene.blossom.SetActive(
false);
155 EMono.scene.godray.SetActive(
false);
156 EMono.scene.godrayDust.SetActive(
false);
157 EMono.scene.sfxRain._Volume += Core.delta * ((isRaining && !flag) ? 0.5f : -0.5f);
158 EMono.scene.sfxRain.SetVolume(
EMono.scene.sfxRain._Volume);
159 EMono.scene.sfxWind.SetVolume(1f);
160 EMono.scene.sfxSea.SetVolume(Mathf.Lerp(0f, 1f, -0.05f * (
float)(pos.x - 20)));
161 EMono.scene.rain.main.prewarm = (EMono.scene.snow.main.prewarm = (EMono.scene.ether.main.prewarm =
false));
162 ParticleSystem[] array =
EMono.scene.blossoms;
163 for (
int i = 0; i < array.Length; i++)
165 array[i].main.prewarm =
false;
167 bool enableEmission = currentCondition == Weather.Condition.SnowHeavy &&
EMono.core.config.graphic.blizzard;
168 array =
EMono.scene.blizzards;
169 for (
int i = 0; i < array.Length; i++)
171 array[i].enableEmission = enableEmission;
173 EMono.scene.transBlizzard.localScale =
new Vector3(2f, 2f, 2f);
174 EMono.scene.camSupport.grading.profile.fog =
EMono.setting.render.fogs[
EMono._map.config.fog];
175 float sceneBrightness = (!EMono._map.IsIndoor &&
EMono.world.weather.IsRaining) ? ((currentCondition ==
Weather.Condition.RainHeavy) ? -0.06f : -0.03f) : 0f;
176 base.camSupport.grading.sceneBrightness = sceneBrightness;
183 public float skyRate;
189 public Vector3 actorPos;