Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
GameScreenElona.cs
Go to the documentation of this file.
1using CreativeSpore.SuperTilemapEditor;
2using UnityEngine;
3
5{
7
8 public float skyRate;
9
10 public float zoom;
11
12 public Vector3 actorPos;
13
14 public override float SkyRate => skyRate;
15
16 public override float TargetZoom => zoom + 0.01f * (float)EMono.game.config.regionZoom - 1f;
17
18 public override void OnActivate()
19 {
20 actor.transMap.SetActive(enable: true);
21 actor.selector.hasTargetChanged = true;
22 EMono.scene.skyBG.SetActive(enable: false);
23 EMono.scene.cam.clearFlags = CameraClearFlags.Color;
24 Tutorial.Play("region");
26 }
27
28 public override void OnDeactivate()
29 {
31 }
32
33 public override void OnChangeHour()
34 {
36 }
37
38 public override void SetUnitSize()
39 {
40 tileAlign = new Vector2(tileSize.x * 0.01f, tileSize.y * 0.01f);
41 tileWorldSize = new Vector2(tileSize.x * 0.01f, tileSize.y * 0.01f);
42 float x = tileSize.x;
43 float num = 100f / x;
44 float num2 = num * 100f;
45 float num3 = num * 100f;
46 tileViewSize = new Vector2(num2 * 0.01f, num3 * 0.01f);
47 }
48
49 public override void RefreshPosition()
50 {
51 STETilemap fogmap = actor.elomap.fogmap;
52 actor.transMap.position = new Vector3((float)(-fogmap.MinGridX) * tileAlign.x + actorPos.x, (float)(-fogmap.MinGridY) * tileAlign.y + actorPos.y, actorPos.z);
53 if (base.fixFocus && EMono.pc.currentZone == EMono._zone)
54 {
55 float z = position.z;
57 Vector3 b = (EMono.pc.isSynced ? EMono.pc.renderer.position : EMono.pc.pos.PositionTopdown()) + focusFix;
58 if (instantFocus)
59 {
60 position = b;
61 }
62 else
63 {
64 position = Vector3.Lerp(position, b, focusSpeed * Core.delta);
65 }
66 position.z = z;
67 pcOrbit.transform.position = EMono.pc.renderer.position;
68 }
69 else
70 {
72 {
73 targetZoom = 0.01f * (float)EMono.game.config.defaultZoom;
74 }
75 pushBack = Vector3.zero;
76 int num = scrollX;
77 int num2 = scrollY;
78 if ((float)num <= mapLimit.x)
79 {
80 pushBack.x = mapLimit.x - (float)num;
81 }
82 if ((float)num2 <= mapLimit.y)
83 {
84 pushBack.y = mapLimit.y - (float)num2;
85 }
86 if ((float)num >= (float)EMono._map.Size + mapLimit.width - (float)(width / 2))
87 {
88 pushBack.x = (float)EMono._map.Size + mapLimit.width - (float)(width / 2) - (float)num;
89 }
90 if ((float)num2 >= (float)EMono._map.Size + mapLimit.height - (float)(height / 2))
91 {
92 pushBack.y = (float)EMono._map.Size + mapLimit.height - (float)(height / 2) - (float)num2;
93 }
94 position += pushBack * Core.delta * pushbackSpeed;
95 }
96 scrollX = Mathf.FloorToInt(position.x / tileWorldSize.x) - width / 2 + (int)paddingOffset.x;
97 scrollY = Mathf.FloorToInt(position.y / tileWorldSize.y) - height / 4 + (int)paddingOffset.y;
98 if (lastPos.x != (float)scrollX || lastPos.y != (float)scrollY)
99 {
100 lastPos.x = scrollX;
101 lastPos.y = scrollY;
102 }
103 camPos.x = position.x;
104 camPos.y = position.y;
105 SnapScreen(ref camPos, Zoom);
106 camPos.z = -500f;
107 EMono.scene.cam.transform.localPosition = camPos;
108 camPos.z = 0f;
109 EMono.scene.transAudio.position = camPos + EMono.scene.posAudioListener;
110 if ((bool)WidgetMinimap.Instance)
111 {
113 }
115 }
116
117 public override void RefreshWeather()
118 {
120 Point pos = EMono.pc.pos;
121 Weather weather = EMono.world.weather;
122 Weather.Condition currentCondition = weather.CurrentCondition;
123 bool isRaining = weather.IsRaining;
124 bool isEther = weather.IsEther;
125 bool flag = currentCondition == Weather.Condition.Snow;
126 EMono.scene.filterRain.enabled = isRaining && !flag && EMono.core.config.graphic.enhanceRain;
127 EMono.scene.filterRain.Fade = ((currentCondition == Weather.Condition.RainHeavy) ? 0.4f : 0.3f);
128 EMono.scene.rain.enableEmission = isRaining && !flag;
129 ParticleSystem.EmissionModule emission = EMono.scene.rain.emission;
130 emission.rateOverTime = ((currentCondition == Weather.Condition.RainHeavy) ? 700 : 200);
131 EMono.scene.snow.enableEmission = flag;
132 emission = EMono.scene.snow.emission;
133 emission.rateOverTime = ((currentCondition == Weather.Condition.SnowHeavy) ? 120 : 35);
134 EMono.scene.ether.enableEmission = isEther;
135 EMono.scene.snow.SetActive(enable: true);
136 EMono.scene.rain.SetActive(enable: true);
137 EMono.scene.ether.SetActive(enable: true);
138 EMono.scene.blossom.SetActive(enable: false);
139 EMono.scene.godray.SetActive(enable: false);
140 EMono.scene.godrayDust.SetActive(enable: false);
141 EMono.scene.sfxRain._Volume += Core.delta * ((isRaining && !flag) ? 0.5f : (-0.5f));
142 EMono.scene.sfxRain.SetVolume(EMono.scene.sfxRain._Volume);
143 EMono.scene.sfxWind.SetVolume(1f);
144 EMono.scene.sfxSea.SetVolume(Mathf.Lerp(0f, 1f, -0.05f * (float)(pos.x - 20)));
145 ParticleSystem.MainModule main = EMono.scene.rain.main;
146 ParticleSystem.MainModule main2 = EMono.scene.snow.main;
147 ParticleSystem.MainModule main3 = EMono.scene.ether.main;
148 bool flag3 = (main3.prewarm = false);
149 bool prewarm = (main2.prewarm = flag3);
150 main.prewarm = prewarm;
151 ParticleSystem[] blossoms = EMono.scene.blossoms;
152 for (int i = 0; i < blossoms.Length; i++)
153 {
154 ParticleSystem.MainModule main4 = blossoms[i].main;
155 main4.prewarm = false;
156 }
157 bool enableEmission = currentCondition == Weather.Condition.SnowHeavy && EMono.core.config.graphic.blizzard;
158 blossoms = EMono.scene.blizzards;
159 for (int i = 0; i < blossoms.Length; i++)
160 {
161 blossoms[i].enableEmission = enableEmission;
162 }
163 EMono.scene.transBlizzard.localScale = new Vector3(2f, 2f, 2f);
164 EMono.scene.camSupport.grading.profile.fog = EMono.setting.render.fogs[EMono._map.config.fog];
165 float sceneBrightness = ((EMono._map.IsIndoor || !EMono.world.weather.IsRaining) ? 0f : ((currentCondition == Weather.Condition.RainHeavy) ? (-0.06f) : (-0.03f)));
166 base.camSupport.grading.sceneBrightness = sceneBrightness;
167 }
168}
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
bool IsActive
Definition: ActionMode.cs:121
static AM_Adv Adv
Definition: ActionMode.cs:15
Vector2 paddingOffset
Vector2 tileWorldSize
void SnapScreen(ref Vector3 v, float zoom)
Vector2 tileViewSize
Vector3 position
Definition: CardRenderer.cs:21
Point pos
Definition: Card.cs:55
CardRenderer renderer
Definition: Card.cs:57
Zone currentZone
Definition: Chara.cs:240
GraphicSetting graphic
Definition: CoreConfig.cs:594
Definition: Core.cs:14
static float delta
Definition: Core.cs:17
CoreConfig config
Definition: Core.cs:70
Definition: EMono.cs:4
static GameSetting setting
Definition: EMono.cs:31
static Core core
Definition: EMono.cs:5
static Chara pc
Definition: EMono.cs:13
static World world
Definition: EMono.cs:37
static Zone _zone
Definition: EMono.cs:19
static Game game
Definition: EMono.cs:7
static Scene scene
Definition: EMono.cs:27
static Map _map
Definition: EMono.cs:17
Transform transMap
Definition: EloMapActor.cs:9
void OnDeactivate()
Definition: EloMapActor.cs:59
void OnChangeHour()
Definition: EloMapActor.cs:71
EloMap elomap
Definition: EloMapActor.cs:7
void OnActivate()
Definition: EloMapActor.cs:48
STETilemap fogmap
Definition: EloMap.cs:96
override void SetUnitSize()
EloMapActor actor
override void OnActivate()
override void RefreshPosition()
override float TargetZoom
override void OnDeactivate()
override void RefreshWeather()
override void OnChangeHour()
override float SkyRate
RenderSetting render
Definition: GameSetting.cs:301
int regionZoom
Definition: Game.cs:69
int defaultZoom
Definition: Game.cs:63
Config config
Definition: Game.cs:215
int Size
Definition: MapBounds.cs:20
FogType fog
Definition: MapConfig.cs:77
MapConfig config
Definition: Map.cs:37
Definition: Point.cs:9
ref Vector3 PositionTopdown()
Definition: Point.cs:545
ParticleSystem ether
Definition: Scene.cs:53
SoundSource sfxWind
Definition: Scene.cs:81
ParticleSystem snow
Definition: Scene.cs:51
ParticleSystem godrayDust
Definition: Scene.cs:57
ParticleSystem blossom
Definition: Scene.cs:59
Vector3 posAudioListener
Definition: Scene.cs:33
ParticleSystem godray
Definition: Scene.cs:55
SoundSource sfxSea
Definition: Scene.cs:83
ParticleSystem[] blizzards
Definition: Scene.cs:65
ParticleSystem rain
Definition: Scene.cs:49
MeshRenderer skyBG
Definition: Scene.cs:69
SoundSource sfxRain
Definition: Scene.cs:79
ParticleSystem[] blossoms
Definition: Scene.cs:63
static void Play(string idStep)
Definition: Tutorial.cs:7
bool IsEther
Definition: Weather.cs:156
Condition
Definition: Weather.cs:16
Condition CurrentCondition
Definition: Weather.cs:79
bool IsRaining
Definition: Weather.cs:117
void RefreshWeather()
Definition: Weather.cs:168
static WidgetMinimap Instance
Weather weather
Definition: World.cs:12