Elin Decompiled Documentation EA 23.287 Stable Patch 3
Loading...
Searching...
No Matches
Scene Class Reference
Inheritance diagram for Scene:
EMono

Public Types

enum  Mode { None , Title , StartGame , Zone }
 

Public Member Functions

void TryWarnMacScreen ()
 
void TryWarnLinuxMod ()
 
void Init (Mode newMode)
 
void OnKillGame ()
 
void Clear ()
 
void OnUpdate ()
 
void OnLateUpdate ()
 
void UpdateCursor ()
 
void UpdateTimeRatio ()
 
void OnChangeHour ()
 
void RefreshBG ()
 
void FocusAndPause (Point pos, int a)
 
void ApplyZoneConfig ()
 
void OnToggle ()
 
void ToggleShowRoof ()
 
void ToggleLight ()
 
void ToggleSnapFreePos ()
 
void ToggleFreePos ()
 
void ToggleShowWall ()
 
void ToggleRoof ()
 
void ToggleSlope ()
 
void ToggleTilt ()
 
void ToggleHighlightArea ()
 
void ToggleBirdView (bool sound=true)
 
void ToggleBalloon ()
 
void ToggleMuteBGM ()
 
void RebuildActorEx ()
 
void RefreshActorEx ()
 
void ClearActorEx ()
 
void AddActorEx (Card c, Action< ActorEx > onBeforeSetOwner=null)
 
void RemoveActorEx (Card c)
 
void InitPass ()
 
void DrawPass ()
 
void RefreshSync ()
 
Transform LoadPrefab (string id)
 
void DestroyPrefabs ()
 
void DestroyPrefab (string id)
 

Public Attributes

Vector2[] test
 
Transform transFocus
 
Transform transBlizzard
 
Transform transAudio
 
Vector3 posAudioListener
 
AudioListener audioListener
 
Camera cam
 
Camera camTreasure
 
CameraSupport camSupport
 
VFX firefly
 
VFX fireflyNight
 
VFX star
 
ParticleSystem rain
 
ParticleSystem snow
 
ParticleSystem ether
 
ParticleSystem godray
 
ParticleSystem godrayDust
 
ParticleSystem blossom
 
ParticleSystem etherBlossom
 
ParticleSystem bubble
 
ParticleSystem[] blossoms
 
ParticleSystem[] blizzards
 
FlockController flock
 
MeshRenderer skyBG
 
MeshRenderer skyPlane
 
SceneProfile profile
 
CameraFilterPack_Atmosphere_Rain filterRain
 
ActionMode actionMode
 
SoundSource sfxRain
 
SoundSource sfxWind
 
SoundSource sfxUnderwater
 
SoundSource sfxSea
 
SoundSource sfxFire
 
SoundSource sfxEther
 
GameScreen screenElin
 
GameScreenElona screenElona
 
GameScreenNoMap screenNoMap
 
PopperManager popper
 
EloMapActor elomapActor
 
SpriteRenderer srTarget
 
Tileset tileset
 
Material matFloorEx
 
DamageTextRenderer damageTextRenderer = new DamageTextRenderer()
 
ParticleSystem psFoot
 
ParticleSystem psSmoke
 
ParticleSystem psRainSplash
 
ParticleSystem psRainSplashWater
 
ParticleSystem psFey
 
MeshPass[] passes
 
GameSetting.RenderSetting.MapBGSetting bg
 
Mode mode
 
float timeRatio
 
List< GameObject > loadedPrefabs = new List<GameObject>()
 
PointTarget mouseTarget = new PointTarget()
 
List< ISyncScreensyncList = new List<ISyncScreen>()
 
bool paused
 
long syncFrame
 
Dictionary< Card, ActorExdictActorEx = new Dictionary<Card, ActorEx>()
 
bool hideBalloon
 

Static Public Attributes

static bool isAnnounced
 
static Point HitPoint = new Point()
 
static Point ClickPoint = new Point()
 
static bool skipAnime
 
- Static Public Attributes inherited from EMono
static Core core
 

Properties

EloMap elomap [get]
 
- Properties inherited from EMono
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SoundManager Sound [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static CoreDebug debug [get]
 

Private Member Functions

void Awake ()
 

Additional Inherited Members

- Static Public Member Functions inherited from EMono
static int rnd (int a)
 

Detailed Description

Definition at line 7 of file Scene.cs.

Member Enumeration Documentation

◆ Mode

enum Scene.Mode
Enumerator
None 
Title 
StartGame 
Zone 

Definition at line 9 of file Scene.cs.

10 {
11 None,
12 Title,
14 Zone
15 }
Definition: Zone.cs:12

Member Function Documentation

◆ AddActorEx()

void Scene.AddActorEx ( Card  c,
Action< ActorEx onBeforeSetOwner = null 
)
inline

Definition at line 1018 of file Scene.cs.

1019 {
1020 ActorEx actorEx = dictActorEx.TryGetValue(c);
1021 if (!(actorEx != null))
1022 {
1023 actorEx = Util.Instantiate<ActorEx>("Scene/Render/Actor/Ex/" + c.trait.IDActorEx);
1024 onBeforeSetOwner?.Invoke(actorEx);
1025 actorEx.SetOwner(c);
1026 dictActorEx.Add(c, actorEx);
1027 }
1028 }
void SetOwner(Card c)
Definition: ActorEx.cs:33
Trait trait
Definition: Card.cs:54
Dictionary< Card, ActorEx > dictActorEx
Definition: Scene.cs:144
virtual string IDActorEx
Definition: Trait.cs:187
Definition: Util.cs:10
static Transform Instantiate(string path, Component parent=null)
Definition: Util.cs:67

References Trait.IDActorEx, ActorEx.SetOwner(), Card.trait, and Util.

Referenced by Map._AddCard(), TraitJukeBox.OnToggle(), and TraitRadio.OnUse().

◆ ApplyZoneConfig()

void Scene.ApplyZoneConfig ( )
inline

Definition at line 826 of file Scene.cs.

827 {
828 MapConfig conf;
830 {
831 conf = EMono._map.config;
835 SetOcean(tileMap.passLiquid.mat);
836 SetOcean(tileMap.passFloorWater.mat);
837 SetOcean(tileMap.passAutoTileWater.mat);
838 ScreenGrading grading = camSupport.grading;
839 ScreenGradingProfile.Lut lut = grading.lut;
840 grading.profile.funcOverlay = () => EMono.scene.profile.overlay;
841 if (conf.idLut == "None")
842 {
843 lut.tex = null;
844 }
845 else
846 {
847 lut.tex = Resources.Load<Texture2D>("Scene/Profile/Lut/" + conf.idLut);
848 lut.Brightness = conf.lutBrightness;
849 lut.Saturation = conf.lutSaturation;
850 lut.Contrast = conf.lutContrast;
851 lut.blend = conf.lutBlend;
852 }
853 grading.SetGrading();
854 }
855 void SetOcean(Material m)
856 {
857 m.SetFloat("_GradientWater", EMono.core.config.graphic.gradientWater ? EMono.core.config.graphic.gradientWaterLevel : 0f);
858 if (conf.seaDir != 0)
859 {
860 m.EnableKeyword("WAVE_ON");
861 Vector4[] array = new Vector4[4]
862 {
863 new Vector4(-2f, -1f, -1f, 1f),
864 new Vector4(1f, 0f, 1f, 1f),
865 new Vector4(2f, 1f, -1f, 1f),
866 new Vector4(-1f, 0f, 1f, 1f)
867 };
868 m.SetVector("_WaveDir", array[conf.seaDir - 1]);
869 }
870 else
871 {
872 m.DisableKeyword("WAVE_ON");
873 }
874 }
875 }
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
BaseTileMap tileMap
MeshPass passAutoTileWater
Definition: BaseTileMap.cs:177
MeshPass passFloorWater
Definition: BaseTileMap.cs:165
MeshPass passLiquid
Definition: BaseTileMap.cs:135
ScreenGrading grading
GraphicSetting graphic
Definition: CoreConfig.cs:607
bool IsGameStarted
Definition: Core.cs:84
CoreConfig config
Definition: Core.cs:70
Definition: EMono.cs:4
static Core core
Definition: EMono.cs:5
static Scene scene
Definition: EMono.cs:27
static Map _map
Definition: EMono.cs:17
static void Apply(string id)
string idLut
Definition: MapConfig.cs:17
string idLiquid
Definition: MapConfig.cs:14
float lutContrast
Definition: MapConfig.cs:65
float lutSaturation
Definition: MapConfig.cs:68
int seaDir
Definition: MapConfig.cs:89
float lutBrightness
Definition: MapConfig.cs:62
string idRefraction
Definition: MapConfig.cs:20
float lutBlend
Definition: MapConfig.cs:59
MapConfig config
Definition: Map.cs:37
Material mat
Definition: MeshPass.cs:21
static void Apply(string id)
OverlayProfile overlay
Definition: SceneProfile.cs:8
GameScreen screenElin
Definition: Scene.cs:93
CameraSupport camSupport
Definition: Scene.cs:41
SceneProfile profile
Definition: Scene.cs:75

References EMono._map, LiquidProfile.Apply(), RefractionProfile.Apply(), Core.config, Map.config, EMono.core, CoreConfig.GraphicSetting.gradientWater, CoreConfig.GraphicSetting.gradientWaterLevel, CameraSupport.grading, CoreConfig.graphic, MapConfig.idLiquid, MapConfig.idLut, MapConfig.idRefraction, if(), Core.IsGameStarted, MapConfig.lutBlend, MapConfig.lutBrightness, MapConfig.lutContrast, MapConfig.lutSaturation, MeshPass.mat, Material, SceneProfile.overlay, BaseTileMap.passAutoTileWater, BaseTileMap.passFloorWater, BaseTileMap.passLiquid, profile, EMono.scene, MapConfig.seaDir, and BaseGameScreen.tileMap.

Referenced by BaseGameScreen.Activate(), WidgetSceneCustomizer.OnActivate(), TextureManager.RefreshTextures(), and WidgetSceneCustomizer.ShowPicker().

◆ Awake()

void Scene.Awake ( )
inlineprivate

Definition at line 151 of file Scene.cs.

152 {
153 InvokeRepeating("RefreshActorEx", 0.5f, 0.5f);
154 }

◆ Clear()

void Scene.Clear ( )
inline

Definition at line 355 of file Scene.cs.

356 {
357 foreach (ISyncScreen sync in syncList)
358 {
359 sync.OnLeaveScreen();
360 }
361 syncList.Clear();
363 ClearActorEx();
365 }
static EffectManager Instance
List< ISyncScreen > syncList
Definition: Scene.cs:137
void ClearActorEx()
Definition: Scene.cs:1009
void DestroyPrefabs()
Definition: Scene.cs:1109
void OnLeaveScreen()

References ClearActorEx(), DestroyPrefabs(), EffectManager.Instance, EffectManager.KillAll(), ISyncScreen.OnLeaveScreen(), and syncList.

Referenced by Zone.Deactivate(), and OnKillGame().

◆ ClearActorEx()

void Scene.ClearActorEx ( )
inline

Definition at line 1009 of file Scene.cs.

1010 {
1011 foreach (ActorEx value in dictActorEx.Values)
1012 {
1013 value.Kill();
1014 }
1015 dictActorEx.Clear();
1016 }
void Kill()
Definition: ActorEx.cs:157

References ActorEx.Kill().

Referenced by Clear().

◆ DestroyPrefab()

void Scene.DestroyPrefab ( string  id)
inline

Definition at line 1118 of file Scene.cs.

1119 {
1120 GameObject gameObject = GameObject.Find(id);
1121 if ((bool)gameObject)
1122 {
1123 UnityEngine.Object.DestroyImmediate(gameObject);
1124 }
1125 }

◆ DestroyPrefabs()

void Scene.DestroyPrefabs ( )
inline

Definition at line 1109 of file Scene.cs.

1110 {
1111 foreach (GameObject loadedPrefab in loadedPrefabs)
1112 {
1113 UnityEngine.Object.Destroy(loadedPrefab);
1114 }
1115 loadedPrefabs.Clear();
1116 }
List< GameObject > loadedPrefabs
Definition: Scene.cs:133

Referenced by Clear().

◆ DrawPass()

void Scene.DrawPass ( )
inline

Definition at line 1061 of file Scene.cs.

1062 {
1063 if (cam.enabled)
1064 {
1065 MeshPass[] array = passes;
1066 for (int i = 0; i < array.Length; i++)
1067 {
1068 array[i].Draw();
1069 }
1070 }
1071 else
1072 {
1073 MeshPass[] array = passes;
1074 for (int i = 0; i < array.Length; i++)
1075 {
1076 array[i].DrawEmpty();
1077 }
1078 }
1079 RefreshSync();
1080 if ((bool)EMono.screen.guide)
1081 {
1083 }
1084 }
ScreenGuide guide
static BaseGameScreen screen
Definition: EMono.cs:29
void Draw()
Definition: MeshPass.cs:350
void DrawEmpty()
Definition: MeshPass.cs:412
Camera cam
Definition: Scene.cs:37
MeshPass[] passes
Definition: Scene.cs:121
void RefreshSync()
Definition: Scene.cs:1086
void OnDrawPass()
Definition: ScreenGuide.cs:33

References MeshPass.Draw(), MeshPass.DrawEmpty(), BaseGameScreen.guide, ScreenGuide.OnDrawPass(), and EMono.screen.

◆ FocusAndPause()

void Scene.FocusAndPause ( Point  pos,
int  a 
)
inline

Definition at line 814 of file Scene.cs.

815 {
816 if (a >= 1)
817 {
818 EMono.core.screen.Focus(pos);
819 }
820 if (a >= 2)
821 {
823 }
824 }
static AM_Sim Sim
Definition: ActionMode.cs:11
void Pause(bool sound=false)
Definition: ActionMode.cs:1502
void Focus(Int3 ints)
BaseGameScreen screen
Definition: Core.cs:67

References EMono.core, BaseGameScreen.Focus(), ActionMode.Pause(), Core.screen, and ActionMode.Sim.

◆ Init()

void Scene.Init ( Mode  newMode)
inline

Definition at line 178 of file Scene.cs.

179 {
180 Debug.Log("Scene.Init:" + newMode);
181 EMono.ui.RemoveLayers();
184 BaseModManager.PublishEvent("elin.scene.pre_init", newMode);
185 mode = newMode;
186 switch (newMode)
187 {
188 case Mode.None:
189 if (EMono.game != null)
190 {
191 EMono.game.Kill();
192 }
193 EMono.ui.RemoveLayers();
195 break;
196 case Mode.Title:
197 SoundManager.bgmVolumeMod = (SoundManager.bgmDumpMod = 0f);
198 if (EMono.game != null)
199 {
200 EMono.game.Kill();
201 }
202 EMono.ui.AddLayer<LayerTitle>();
203 if (!isAnnounced || Application.isEditor)
204 {
205 isAnnounced = true;
207 {
208 EMono.ui.AddLayer("LayerAnnounce").SetOnKill(TryWarnMacScreen);
209 });
210 }
211 else
212 {
214 }
217 break;
218 case Mode.StartGame:
219 EMono.ui.RemoveLayer<LayerTitle>();
220 EMono.ui.ShowCover();
221 Init(Mode.Zone);
222 break;
223 case Mode.Zone:
224 EMono.player.target = null;
225 UIBook.str_pc = EMono.pc.NameSimple;
226 if (EMono.player.zone == null)
227 {
228 Player obj = EMono.player;
229 Zone zone = (EMono.pc.currentZone = EMono.pc.homeZone);
230 obj.zone = zone;
231 }
232 EMono.core.config.game.ignoreWarnCrime = (EMono.core.config.game.ignoreWarnMana = (EMono.core.config.game.ignoreWarnDisassemble = (EMono.core.config.game.ignoreWarnSlaughter = false)));
234 CellDetail.count = 0;
235 skipAnime = true;
236 EMono.player.baseActTime = EMono.setting.defaultActPace;
237 EMono.player.Agent.renderer.isSynced = true;
238 EMono.player.Agent.currentZone = EMono.player.zone;
239 Point._screen = (EMono.player.zone.IsRegion ? ((BaseGameScreen)screenElona) : ((BaseGameScreen)screenElin));
245 Popper.scale = (EMono._zone.IsRegion ? new Vector3(1.7f, 1.7f, 1f) : Vector3.one);
247 {
249 }
250 else if (EMono.player.zone is Region)
251 {
253 }
254 else
255 {
257 }
258 if (EMono.game.altCraft)
259 {
260 if (EMono._zone.IsRegion)
261 {
262 if ((bool)EMono.ui.layerFloat.GetLayer<LayerCraftFloat>())
263 {
264 EMono.ui.layerFloat.RemoveLayer<LayerCraftFloat>();
265 }
266 }
267 else if (!EMono.ui.layerFloat.GetLayer<LayerCraftFloat>())
268 {
269 EMono.ui.layerFloat.AddLayer<LayerCraftFloat>();
270 }
271 }
272 EMono.screen.tileMap.activeCount = 0;
280 if (EMono.ui.hud.imageCover.gameObject.activeSelf && !EMono.player.simulatingZone)
281 {
282 EMono.ui.HideCover(4f);
283 }
285 {
286 EMono.game.Save();
287 }
288 foreach (Thing thing in EMono._map.things)
289 {
290 if (thing.IsInstalled)
291 {
292 thing.trait.TryToggle();
293 }
294 }
296 camSupport.water.enabled = EMono._zone.IsUnderwater;
297 if (EMono.player.onStartZone != null)
298 {
300 EMono.player.onStartZone = null;
301 }
302 ActionMode.LastBuildMode = null;
303 if (ActionMode.Adv.IsActive && (EInput.leftMouse.pressing || EInput.axis != Vector2.zero))
304 {
308 }
310 {
312 }
313 flock.SetSpawnType(EMono._zone.FlockType);
315 {
317 if (EMono._zone == EMono.pc.homeZone)
318 {
319 EMono.pc.faith.Revelation("welcome");
320 }
321 if (EMono._zone.Boss != null && EMono._zone.Boss.ExistsOnMap)
322 {
324 }
326 }
328 if (EMono.player.questTracker && !EMono.ui.widgets.GetWidget("QuestTracker"))
329 {
330 EMono.ui.widgets.Activate("QuestTracker");
331 }
332 if ((EMono._zone is Zone_Town || EMono._zone is Zone_Tent) && !EMono._zone.isMapSaved && !EMono.debug.ignoreAutoSave)
333 {
334 EMono.game.Save();
335 }
336 break;
337 }
338 etherBlossom.SetActive(mode == Mode.Zone && EMono._zone is Zone_WindRest);
339 bubble.SetActive(mode == Mode.Zone && EMono._zone.IsUnderwater);
340 BaseModManager.PublishEvent("elin.scene.post_init", newMode);
341 }
void SetPressedAction(ButtonState button)
Definition: AM_Adv.cs:1208
void SetManualMove()
Definition: AM_Adv.cs:1198
virtual void RefreshArrow()
Definition: AM_Adv.cs:1370
static AM_Title Title
Definition: ActionMode.cs:9
static AM_Region Region
Definition: ActionMode.cs:17
void Activate(bool toggle=true, bool forceActivate=false)
Definition: ActionMode.cs:339
bool IsActive
Definition: ActionMode.cs:121
static AM_ViewZone View
Definition: ActionMode.cs:13
static AM_Adv Adv
Definition: ActionMode.cs:15
void WaitForEndOfFrame(Action action)
Definition: BaseCore.cs:61
void SetZoom(float z)
virtual float TargetZoom
static void PublishEvent(string eventId, object data=null)
static void Deactivate()
Definition: BuildMenu.cs:173
bool pressing
Definition: ButtonState.cs:35
bool ExistsOnMap
Definition: Card.cs:2123
void RecalculateFOV()
Definition: Card.cs:6591
Point pos
Definition: Card.cs:60
bool IsInstalled
Definition: Card.cs:2421
string NameSimple
Definition: Card.cs:2179
override bool IsAliveInCurrentZone
Definition: Chara.cs:563
string NameBraced
Definition: Chara.cs:516
Zone homeZone
Definition: Chara.cs:269
Religion faith
Definition: Chara.cs:441
bool IsInActiveZone
Definition: Chara.cs:852
new GameConfig game
Definition: CoreConfig.cs:609
void ApplyGrading()
Definition: CoreConfig.cs:960
bool ignoreAutoSave
Definition: CoreDebug.cs:126
CoreDebug debug
Definition: Core.cs:31
Definition: EInput.cs:8
static Vector2 axis
Definition: EInput.cs:342
static ButtonState leftMouse
Definition: EInput.cs:360
static KeyboardPress keyWait
Definition: EInput.cs:262
static GameSetting setting
Definition: EMono.cs:31
static Chara pc
Definition: EMono.cs:13
static World world
Definition: EMono.cs:37
static Player player
Definition: EMono.cs:11
static Zone _zone
Definition: EMono.cs:19
static Game game
Definition: EMono.cs:7
static UI ui
Definition: EMono.cs:15
static CoreDebug debug
Definition: EMono.cs:45
float defaultActPace
Definition: GameSetting.cs:327
void Reset()
Definition: GameUpdater.cs:375
RecipeUpdater recipe
Definition: GameUpdater.cs:363
int countLoadedMaps
Definition: Game.cs:236
bool Save(bool isAutoSave=false, bool silent=false)
Definition: Game.cs:1040
void Kill()
Definition: Game.cs:1113
GameUpdater updater
Definition: Game.cs:250
QuestManager quests
Definition: Game.cs:183
bool altCraft
Definition: Game.cs:272
void ResetHotbar(int id)
Definition: HotbarManager.cs:8
List< Thing > things
Definition: Map.cs:49
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
void OnEnterZone()
Definition: Player.cs:849
Definition: Player.cs:11
Flags flags
Definition: Player.cs:1149
Action onStartZone
Definition: Player.cs:1277
bool questTracker
Definition: Player.cs:1044
Zone zone
Definition: Player.cs:1137
bool simulatingZone
Definition: Player.cs:1237
void RefreshEmptyAlly()
Definition: Player.cs:1662
void RefreshCurrentHotItem()
Definition: Player.cs:2259
HotbarManager hotbars
Definition: Player.cs:1140
void OnEnterZone()
void Build(Point _p, Mode _mode=Mode.Passive)
Definition: Region.cs:7
void Revelation(string idTalk, int chance=100)
Definition: Religion.cs:146
Mode mode
Definition: Scene.cs:127
static bool skipAnime
Definition: Scene.cs:25
void TryWarnMacScreen()
Definition: Scene.cs:156
ParticleSystem bubble
Definition: Scene.cs:63
static bool isAnnounced
Definition: Scene.cs:19
ParticleSystem etherBlossom
Definition: Scene.cs:61
GameScreenNoMap screenNoMap
Definition: Scene.cs:97
FlockController flock
Definition: Scene.cs:69
GameScreenElona screenElona
Definition: Scene.cs:95
void Init(Mode newMode)
Definition: Scene.cs:178
Mode
Definition: Scene.cs:10
void UpdateTimeRatio()
Definition: Scene.cs:769
static void Reset()
Definition: ScreenFlash.cs:18
virtual bool IsRegion
Definition: Spatial.cs:515
virtual string Name
Definition: Spatial.cs:509
Definition: Thing.cs:8
virtual void TryToggle()
Definition: Trait.cs:1160
void RefreshWeather()
Definition: Weather.cs:168
static void Refresh()
Definition: WidgetDate.cs:190
static void OnChangeMode()
Weather weather
Definition: World.cs:12
void Activate()
Definition: Zone.cs:593
virtual FlockController.SpawnType FlockType
Definition: Zone.cs:417
Chara Boss
Definition: Zone.cs:86
virtual bool IsUnderwater
Definition: Zone.cs:271

References EMono._map, EMono._zone, BaseGameScreen.Activate(), Zone.Activate(), ActionMode.Activate(), ActionMode.Adv, Game.altCraft, CoreConfig.ApplyGrading(), CoreConfig.GameConfig.autoSave, EInput.axis, Zone.Boss, bubble, RecipeUpdater.Build(), Core.config, EInput.KeyboardPress.Consume(), EMono.core, Game.countLoadedMaps, BaseGameScreen.Deactivate(), BuildMenu.Deactivate(), Core.debug, EMono.debug, Debug, GameSetting.defaultActPace, etherBlossom, Card.ExistsOnMap, Chara.faith, Player.flags, flock, Zone.FlockType, BaseGameScreen.FocusPC(), CoreConfig.game, EMono.game, Chara.homeZone, Player.hotbars, CoreDebug.ignoreAutoSave, Init(), ActionMode.IsActive, Chara.IsAliveInCurrentZone, isAnnounced, Chara.IsInActiveZone, Card.IsInstalled, Spatial.IsRegion, Zone.IsUnderwater, EInput.keyWait, Game.Kill(), EInput.leftMouse, mode, Spatial.Name, Chara.NameBraced, Card.NameSimple, WidgetMenuPanel.OnChangeMode(), Player.Flags.OnEnterZone(), QuestManager.OnEnterZone(), Player.onStartZone, EMono.pc, EMono.player, Card.pos, ButtonState.pressing, BaseModManager.PublishEvent(), Game.quests, Player.questTracker, Card.RecalculateFOV(), GameUpdater.recipe, WidgetDate.Refresh(), AM_Adv.RefreshArrow(), Player.RefreshCurrentHotItem(), Player.RefreshEmptyAlly(), Weather.RefreshWeather(), ActionMode.Region, GameUpdater.Reset(), ScreenFlash.Reset(), HotbarManager.ResetHotbar(), Religion.Revelation(), Game.Save(), Msg.Say(), EMono.screen, screenElin, screenElona, screenNoMap, AM_Adv.SetManualMove(), AM_Adv.SetPressedAction(), EMono.setting, BaseGameScreen.SetZoom(), Player.simulatingZone, skipAnime, BaseGameScreen.TargetZoom, Map.things, ActionMode.Title, Card.trait, Trait.TryToggle(), TryWarnMacScreen(), EMono.ui, Game.updater, UpdateTimeRatio(), ActionMode.View, BaseCore.WaitForEndOfFrame(), World.weather, EMono.world, and Player.zone.

Referenced by AM_Adv._OnUpdateInput(), Game.GotoTitle(), Core.Init(), Init(), Game.Load(), Player.MoveZone(), Map.Reload(), Player.SimulateFaction(), Game.StartNewGame(), and CoreDebug.UpdateInput().

◆ InitPass()

void Scene.InitPass ( )
inline

Definition at line 1040 of file Scene.cs.

1041 {
1042 MeshPass[] array = passes;
1043 for (int i = 0; i < array.Length; i++)
1044 {
1045 array[i].Init();
1046 }
1047 foreach (ModItem<Sprite> item in MOD.sprites.list)
1048 {
1049 Sprite sprite = SpriteSheet.Get(item.id);
1050 if ((bool)sprite)
1051 {
1052 Sprite @object = item.GetObject(new SpriteLoadOption
1053 {
1054 pivot = new Vector2(sprite.pivot.x / (sprite.bounds.size.x * 100f), sprite.pivot.y / (sprite.bounds.size.y * 100f))
1055 });
1056 SpriteSheet.dict[item.id] = @object;
1057 }
1058 }
1059 }
Definition: MOD.cs:7
static ModItemList< Sprite > sprites
Definition: MOD.cs:16
void Init()
Definition: MeshPass.cs:98
List< ModItem< T > > list
Definition: ModItemList.cs:9
static Sprite Get(string id)
Definition: SpriteSheet.cs:28
static Dictionary< string, Sprite > dict
Definition: SpriteSheet.cs:6

References SpriteSheet.dict, SpriteSheet.Get(), MeshPass.Init(), item, ModItemList< T >.list, and MOD.sprites.

Referenced by Core.Init().

◆ LoadPrefab()

Transform Scene.LoadPrefab ( string  id)
inline

Definition at line 1101 of file Scene.cs.

1102 {
1103 Transform transform = Util.Instantiate<Transform>("Scene/Prefab/" + id);
1104 transform.name = id;
1105 loadedPrefabs.Add(transform.gameObject);
1106 return transform;
1107 }

References Util.

Referenced by Zone_Olvina.OnActivate(), and Zone_SisterHouse.OnActivate().

◆ OnChangeHour()

void Scene.OnChangeHour ( )
inline

Definition at line 779 of file Scene.cs.

780 {
785 if ((bool)EMono.screen.pcOrbit)
786 {
788 }
791 foreach (Transform componentsInDirectChild in EMono.ui.rectDynamic.GetComponentsInDirectChildren<Transform>())
792 {
793 if (componentsInDirectChild.gameObject.tag != "IgnoreDestroy" && !componentsInDirectChild.GetComponent<TC>())
794 {
795 UnityEngine.Object.Destroy(componentsInDirectChild.gameObject);
796 }
797 }
798 }
virtual void OnChangeHour()
void OnChangeMin()
Definition: PCOrbit.cs:19
VFX fireflyNight
Definition: Scene.cs:45
VFX firefly
Definition: Scene.cs:43
VFX star
Definition: Scene.cs:47
Definition: TC.cs:4
void OnChangeHour()
Definition: VFX.cs:15

References BaseGameScreen.OnChangeHour(), VFX.OnChangeHour(), PCOrbit.OnChangeMin(), BaseGameScreen.pcOrbit, BaseGameScreen.RefreshSky(), EMono.screen, and EMono.ui.

Referenced by BaseGameScreen.Activate(), and GameDate.AdvanceHour().

◆ OnKillGame()

void Scene.OnKillGame ( )
inline

Definition at line 343 of file Scene.cs.

344 {
347 hideBalloon = false;
348 actionMode = null;
349 PCC.PurgeCache();
350 Clear();
351 flock.Reset();
353 }
void Deactivate()
Definition: ActionMode.cs:529
void OnKillGame()
Definition: EloMapActor.cs:88
void Clear()
Definition: PointTarget.cs:220
EloMapActor elomapActor
Definition: Scene.cs:101
void Clear()
Definition: Scene.cs:355
bool hideBalloon
Definition: Scene.cs:147
ActionMode actionMode
Definition: Scene.cs:79
PointTarget mouseTarget
Definition: Scene.cs:135

References actionMode, PointTarget.Clear(), Clear(), ActionMode.Deactivate(), elomapActor, flock, hideBalloon, mouseTarget, and EloMapActor.OnKillGame().

Referenced by Game.Kill().

◆ OnLateUpdate()

void Scene.OnLateUpdate ( )
inline

Definition at line 748 of file Scene.cs.

749 {
750 DrawPass();
752 }
static CursorSystem Instance
Definition: CursorSystem.cs:6
void DrawPass()
Definition: Scene.cs:1061

References CursorSystem.Draw(), and CursorSystem.Instance.

Referenced by Core.LateUpdate().

◆ OnToggle()

void Scene.OnToggle ( )
inline

◆ OnUpdate()

void Scene.OnUpdate ( )
inline

Definition at line 367 of file Scene.cs.

368 {
369 SoundManager.speed = (EMono.core.IsGameStarted ? Mathf.Clamp(actionMode.gameSpeed * 0.75f, 1f, 2f) : 1f);
371 EMono.ui.RefreshActiveState();
372 bool isShiftDown = EInput.isShiftDown;
373 if ((bool)UIDropdown.activeInstance)
374 {
376 }
377 else
378 {
379 EInput.Update();
380 }
383 {
384 if (input.middleClick == CoreConfig.GameFunc.EmuShift || input.middlePressLong == CoreConfig.GameFunc.EmuShift)
385 {
386 EInput.isShiftDown = true;
387 }
388 if (input.middleClick == CoreConfig.GameFunc.EmuAlt || input.middlePressLong == CoreConfig.GameFunc.EmuAlt)
389 {
390 EInput.isAltDown = true;
391 }
392 }
394 {
395 if (input.mouse3Click == CoreConfig.GameFunc.EmuShift || input.mouse3PressLong == CoreConfig.GameFunc.EmuShift)
396 {
397 EInput.isShiftDown = true;
398 }
399 if (input.mouse3Click == CoreConfig.GameFunc.EmuAlt || input.mouse3PressLong == CoreConfig.GameFunc.EmuAlt)
400 {
401 EInput.isAltDown = true;
402 }
403 }
405 {
406 if (input.mouse4Click == CoreConfig.GameFunc.EmuShift || input.mouse4PressLong == CoreConfig.GameFunc.EmuShift)
407 {
408 EInput.isShiftDown = true;
409 }
410 if (input.mouse4Click == CoreConfig.GameFunc.EmuAlt || input.mouse4PressLong == CoreConfig.GameFunc.EmuAlt)
411 {
412 EInput.isAltDown = true;
413 }
414 }
415 EInput.hasShiftChanged = EInput.isShiftDown != isShiftDown;
416 Layer.cancelKeyDown = EInput.isCancel;
417 Layer.rightClicked = EInput.rightMouse.down;
418 int num = EInput.wheel;
419 if (num != 0)
420 {
421 if (EMono.ui.isPointerOverUI)
422 {
423 if (!EMono.ui.GetLayer<LayerConfig>())
424 {
425 UIDropdown componentOf = InputModuleEX.GetComponentOf<UIDropdown>();
426 if ((bool)componentOf && !UIDropdown.activeInstance)
427 {
428 if (num < 0)
429 {
430 componentOf.Next();
431 }
432 else if (num > 0)
433 {
434 componentOf.Prev();
435 }
436 num = (EInput.wheel = 0);
437 }
438 Slider componentOf2 = InputModuleEX.GetComponentOf<Slider>();
439 if ((bool)componentOf2 && (bool)EMono.ui.GetLayer<LayerEditPCC>())
440 {
441 SE.Tab();
442 componentOf2.value += (componentOf2.wholeNumbers ? ((float)num) : (0.1f * (float)num));
443 num = (EInput.wheel = 0);
444 }
445 }
447 {
448 DropdownGrid componentOf3 = InputModuleEX.GetComponentOf<DropdownGrid>();
449 if ((bool)componentOf3)
450 {
451 if (num < 0)
452 {
453 componentOf3.Next();
454 }
455 else if (num > 0)
456 {
457 componentOf3.Prev();
458 }
459 num = (EInput.wheel = 0);
460 }
461 }
462 if (EMono.ui.contextMenu.isActive)
463 {
464 Slider componentOf4 = InputModuleEX.GetComponentOf<Slider>();
465 if ((bool)componentOf4)
466 {
467 componentOf4.value += (componentOf4.wholeNumbers ? ((float)num) : (0.1f * (float)num));
468 num = (EInput.wheel = 0);
469 SE.Tab();
470 }
471 }
472 UIScrollView componentOf5 = InputModuleEX.GetComponentOf<UIScrollView>();
473 if ((bool)componentOf5)
474 {
475 num = (EInput.wheel = 0);
476 if (componentOf5.verticalScrollbar.isActiveAndEnabled)
477 {
478 EMono.ui.HideMouseHint();
479 }
480 }
481 UIButton componentOf6 = InputModuleEX.GetComponentOf<UIButton>();
482 if ((bool)componentOf6 && componentOf6.onInputWheel != null)
483 {
484 componentOf6.onInputWheel(num);
485 num = (EInput.wheel = 0);
486 }
487 }
488 if (num != 0)
489 {
490 Layer layer = (EMono.ui.IsActive ? EMono.ui.GetTopLayer() : LayerAbility.Instance);
491 if (layer != null && layer.windows.Count > 0)
492 {
493 Window window = layer.windows[0];
494 if (InputModuleEX.IsPointerChildOf(window.rectTab) && !DropdownGrid.IsActive && window.NextTab(num))
495 {
496 num = (EInput.wheel = 0);
497 }
498 }
499 }
500 }
502 {
504 EInput.Consume();
505 }
506 switch (mode)
507 {
508 case Mode.Title:
510 {
511 timeRatio = 0f;
513 }
514 godray.SetActive(enable: false);
515 UpdateCursor();
516 EMono.ui.UpdateInput();
517 break;
518 case Mode.Zone:
519 {
521 {
522 break;
523 }
525 {
527 }
529 {
530 srTarget.enabled = true;
531 Vector3 position = EMono.player.target.pos.PositionCenter();
532 position.y += EMono.player.target.renderer.data.size.y;
533 position.z -= 10f;
534 srTarget.transform.parent.position = position;
535 }
536 else
537 {
538 srTarget.enabled = false;
539 }
540 EMono.player.pickupDelay -= Core.delta;
541 if (EMono.player.pickupDelay < 0f)
542 {
543 EMono.player.pickupDelay = 0f;
544 }
546 paused = EMono.ui.IsPauseGame || actionMode.ShouldPauseGame || Game.IsWaiting;
548 if (!EMono.pc.isDead)
549 {
550 if (AI_PlayMusic.keepPlaying && EInput.skipFrame <= 0 && Input.anyKeyDown && !Input.GetKey(KeyCode.Tab) && !Input.GetKey(KeyCode.LeftAlt))
551 {
553 }
555 }
556 else
557 {
558 EMono.ui.UpdateInput();
559 }
561 {
563 if (!LayerDrama.IsActive())
564 {
566 }
567 }
569 {
570 EMono.player.deathDialog = true;
571 EMono.player.returnInfo = null;
572 EMono.player.ignoreFallOver = 1;
573 Msg.Say("diebye");
574 EMono.Sound.Play("dead_pc2");
575 EMono.Sound.Play("dead_pc");
576 string[] list = Lang.GetList("lastWords");
577 string lastWord = list.RandomItem();
579 {
581 }
582 EMono.ui.CloseLayers();
583 if ((bool)UIContextMenu.Current)
584 {
586 }
587 EInput.haltInput = false;
588 Dialog.InputName("dialogLastword", lastWord, delegate(bool cancel, string text)
589 {
590 if (!cancel)
591 {
592 lastWord = text;
593 }
594 Player obj = EMono.player;
595 obj.deathMsg = obj.deathMsg + Lang.space + lastWord.Bracket(1);
597 Debug.Log(lastWord);
599 Msg.Say(lastWord.Bracket(1));
600 List<string> list2 = new List<string>();
602 bool addTownRevive = lastTown != null && !EMono._zone.IsInstance;
604 {
605 if (addTownRevive)
606 {
607 list2.Add("pc_revive_town".lang(lastTown.Name));
608 }
609 list2.Add("pc_revive");
610 list2.Add("pc_gameover");
611 }
612 else
613 {
614 list2.Add("pc_gameover");
615 }
616 Debug.Log(list2.Count);
617 EMono.ui.AddLayer<LayerCover>().SetDuration(1f, delegate
618 {
619 EMono.ui.CloseLayers();
620 Dialog.List("pc_deathChoice".lang(), list2, (string j) => j, delegate(int c, string d)
621 {
622 EMono.player.deathDialog = false;
623 if (!EMono.game.principal.permadeath && (c == 0 || (addTownRevive && c == 1)))
624 {
625 EMono.pc.MakeGrave(lastWord);
626 EMono.pc.Revive();
627 EMono.pc.RecalculateFOV();
628 Zone zone = EMono.player.spawnZone ?? EMono.pc.homeZone;
629 if (addTownRevive && c == 0)
630 {
631 zone = lastTown;
632 }
633 if (EMono.game.activeZone == zone)
634 {
635 EMono.pc.Teleport(EMono._zone.GetSpawnPos(EMono.pc, ZoneTransition.EnterState.Return).GetNearestPoint() ?? EMono._map.GetCenterPos(), silent: true, force: true);
636 }
637 else
638 {
639 EMono.player.deathZoneMove = true;
640 EMono.pc.MoveZone(zone, ZoneTransition.EnterState.Return);
641 }
642 EMono.screen.FocusPC();
643 Msg.Say("crawlup");
644 if (EMono.player.stats.death == 0)
645 {
646 Tutorial.Reserve("death");
647 }
648 EMono.player.stats.death++;
649 if (EMono.player.stats.days <= 90)
650 {
651 EMono.player.stats.death2++;
652 }
653 }
654 else
655 {
656 EMono.game.GotoTitle(showDialog: false);
657 }
658 return true;
659 });
660 });
661 });
662 }
663 UpdateCursor();
665 EMono.Sound.UpdateBGM();
668 {
670 }
671 if (WidgetEquip.dirty)
672 {
674 }
676 {
677 foreach (Chara member in EMono.pc.party.members)
678 {
679 member.CalcBurden();
680 }
681 EMono.player.wasDirtyWeight = false;
682 }
683 if (!EMono.ui.IsActive)
684 {
686 }
687 else if (EMono.ui.mouseInfo.gameObject.activeSelf)
688 {
689 EMono.ui.mouseInfo.SetText();
690 }
691 EMono.screen.Draw();
695 {
696 break;
697 }
698 if (!EMono.ui.GetLayer<LayerDrama>())
699 {
701 {
702 case ZoneTransition.EnterState.Fall:
703 EMono.pc.PlaySound("fall");
704 EMono.pc.PlayAnime(AnimeID.FallSky);
705 EMono.pc.DamageHP((20 + EMono.rnd(30) + ((EMono.player.lastTransition.lastZone is Zone_Casino) ? 1000 : 0)) / ((!EMono.pc.IsLevitating) ? 1 : 10), AttackSource.Fall);
706 break;
707 case ZoneTransition.EnterState.Elevator:
708 EMono.pc.PlaySound("elevator");
709 break;
710 case ZoneTransition.EnterState.PortalReturn:
711 case ZoneTransition.EnterState.Return:
712 case ZoneTransition.EnterState.Teleport:
713 case ZoneTransition.EnterState.Moongate:
714 EMono.pc.PlayEffect("teleport");
715 EMono.pc.PlaySound("return");
716 break;
717 default:
718 SE.MoveZone();
719 break;
720 case ZoneTransition.EnterState.Encounter:
721 break;
722 }
723 }
724 bool flag = (EMono.rnd(5) == 0 && EMono.pc.burden.GetPhase() >= 3) || EMono.pc.burden.GetPhase() >= 4;
726 {
727 flag = false;
728 }
730 {
731 flag = flag;
733 }
734 if (flag)
735 {
736 EMono.pc.Stumble();
737 }
738 EMono.player.lastTransition = null;
739 break;
740 }
741 default:
742 UpdateCursor();
743 EMono.ui.UpdateInput();
744 break;
745 }
746 }
AnimeID
Definition: AnimeID.cs:2
AttackSource
Definition: AttackSource.cs:2
ChatCategory
Definition: ChatCategory.cs:2
static bool keepPlaying
Definition: AI_PlayMusic.cs:8
static void CancelKeepPlaying()
Definition: AI_PlayMusic.cs:40
virtual void OnBeforeUpdate()
Definition: ActionMode.cs:546
void UpdateInput()
Definition: ActionMode.cs:570
virtual void OnAfterUpdate()
Definition: ActionMode.cs:550
virtual float gameSpeed
Definition: ActionMode.cs:119
BaseTileSelector tileSelector
void UpdateShaders(float time=0f)
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6375
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6409
void DamageHP(long dmg, AttackSource attackSource=AttackSource.None, Card origin=null)
Definition: Card.cs:4149
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:6394
CardRenderer renderer
Definition: Card.cs:62
Definition: Chara.cs:10
bool IsLevitating
Definition: Chara.cs:599
Party party
Definition: Chara.cs:43
override bool isSynced
Definition: Chara.cs:705
Zone currentZone
Definition: Chara.cs:257
void Stumble(int mtp=100)
Definition: Chara.cs:1879
string NameTitled
Definition: Chara.cs:518
Stats burden
Definition: Chara.cs:1170
GlobalData global
Definition: Chara.cs:76
bool isDead
Definition: Chara.cs:391
void CalcBurden()
Definition: Chara.cs:1864
InputSetting input
Definition: CoreConfig.cs:615
Definition: Core.cs:14
static float delta
Definition: Core.cs:17
Definition: Dialog.cs:7
static Dialog InputName(string langDetail, string text, Action< bool, string > onClose, InputType inputType=InputType.Default)
Definition: Dialog.cs:536
static bool IsActive
Definition: DropdownGrid.cs:8
static bool isCancel
Definition: EInput.cs:389
static int wheel
Definition: EInput.cs:300
static ButtonState middleMouse
Definition: EInput.cs:364
static void Consume(int _skipFrame)
Definition: EInput.cs:667
static ButtonState mouse4
Definition: EInput.cs:368
static void UpdateOnlyAxis()
Definition: EInput.cs:475
static void Update()
Definition: EInput.cs:486
static bool isShiftDown
Definition: EInput.cs:272
static ButtonState rightMouse
Definition: EInput.cs:362
static ButtonState mouse3
Definition: EInput.cs:366
static int skipFrame
Definition: EInput.cs:298
static int rnd(int a)
Definition: EMono.cs:47
static SoundManager Sound
Definition: EMono.cs:39
bool IsActive
Definition: EloMapActor.cs:21
Definition: GameIO.cs:11
static void DeleteGame(string id, bool cloud, bool deleteBackup=true)
Definition: GameIO.cs:267
void Update()
Definition: GameUpdater.cs:457
Definition: Game.cs:9
static bool IsWaiting
Definition: Game.cs:262
GamePrincipal principal
Definition: Game.cs:225
static string id
Definition: Game.cs:148
SpatialManager spatials
Definition: Game.cs:153
bool isCloud
Definition: Game.cs:246
Zone activeZone
Definition: Game.cs:252
ZoneTransition transition
Definition: GlobalData.cs:6
static bool IsPointerChildOf(Component c)
Definition: Lang.cs:7
static string langCode
Definition: Lang.cs:29
static string[] GetList(string id)
Definition: Lang.cs:117
static LayerAbility Instance
Definition: LayerAbility.cs:21
void SetDuration(float duration, Action onKill)
Definition: LayerCover.cs:7
static bool IsActive()
Definition: LayerDrama.cs:34
Definition: Layer.cs:9
List< Window > windows
Definition: Layer.cs:116
bool isShowingLog
Definition: MsgBox.cs:55
Color Talk
Definition: MsgColors.cs:7
static MsgColors colors
Definition: Msg.cs:20
static void SetColor()
Definition: Msg.cs:22
Definition: Net.cs:11
static async UniTask< bool > SendChat(string name, string msg, ChatCategory cat, string idLang)
Definition: Net.cs:333
List< Chara > members
Definition: Party.cs:19
void OnLeaveZone()
Definition: Player.cs:897
int uidLastTown
Definition: Player.cs:993
ZoneTransition lastTransition
Definition: Player.cs:1201
float pickupDelay
Definition: Player.cs:1259
bool wasDirtyWeight
Definition: Player.cs:1221
int ignoreFallOver
Definition: Player.cs:1253
Chara target
Definition: Player.cs:1291
void MoveZone(Zone z)
Definition: Player.cs:2089
bool deathDialog
Definition: Player.cs:1223
string deathMsg
Definition: Player.cs:1243
ref Vector3 PositionCenter()
Definition: Point.cs:587
Vector2 size
Definition: RenderData.cs:30
RenderData data
Definition: RenderObject.cs:34
DamageTextRenderer damageTextRenderer
Definition: Scene.cs:109
float timeRatio
Definition: Scene.cs:130
ParticleSystem godray
Definition: Scene.cs:55
void UpdateCursor()
Definition: Scene.cs:754
bool paused
Definition: Scene.cs:140
Zone Find(string id)
override int GetPhase()
Definition: Stats.cs:117
Action< int > onInputWheel
Definition: UIButton.cs:148
static void UpdateButtons()
Definition: UIButton.cs:704
static UIContextMenu Current
void Next()
Definition: UIDropdown.cs:89
static UIDropdown activeInstance
Definition: UIDropdown.cs:12
void Prev()
Definition: UIDropdown.cs:97
static bool dirty
Definition: WidgetEquip.cs:13
static void Redraw()
Definition: WidgetEquip.cs:69
static bool dirtyCurrentItem
Definition: WidgetHotbar.cs:32
static WidgetMainText Instance
Definition: Window.cs:13
RectTransform rectTab
Definition: Window.cs:644
bool NextTab(int a)
Definition: Window.cs:1378
EnterState state
void RefreshElectricity()
Definition: Zone.cs:2953
bool IsInstance
Definition: Zone.cs:491
bool dirtyElectricity
Definition: Zone.cs:71

References WidgetMainText._ToggleLog(), EMono._zone, actionMode, UIDropdown.activeInstance, Game.activeZone, WidgetMainText.box, Chara.burden, Chara.CalcBurden(), AI_PlayMusic.CancelKeepPlaying(), Msg.colors, Core.config, EInput.Consume(), EMono.core, UIContextMenu.Current, Chara.currentZone, Card.DamageHP(), damageTextRenderer, RenderObject.data, Player.deathDialog, Player.deathMsg, Debug, GameIO.DeleteGame(), Core.delta, WidgetEquip.dirty, WidgetHotbar.dirtyCurrentItem, Zone.dirtyElectricity, ButtonState.down, BaseGameScreen.Draw(), elomapActor, SpatialManager.Find(), Player.flags, DamageTextRenderer.Flush(), EMono.game, ActionMode.gameSpeed, Lang.GetList(), Stats.GetPhase(), Chara.global, godray, UIContextMenu.Hide(), Game.id, if(), Player.ignoreFallOver, CoreConfig.input, Dialog.InputName(), LayerAbility.Instance, WidgetMainText.Instance, DropdownGrid.IsActive, EloMapActor.IsActive, LayerDrama.IsActive(), EInput.isCancel, Game.isCloud, Chara.isDead, Core.IsGameStarted, Zone.IsInstance, Chara.IsLevitating, InputModuleEX.IsPointerChildOf(), EInput.isShiftDown, MsgBox.isShowingLog, Chara.isSynced, Game.IsWaiting, AI_PlayMusic.keepPlaying, Lang.langCode, Player.lastTransition, ZoneTransition.lastZone, EInput.leftMouse, Party.members, CoreConfig.InputSetting.middleClick, EInput.middleMouse, CoreConfig.InputSetting.middlePressLong, mode, EInput.mouse3, CoreConfig.InputSetting.mouse3Click, CoreConfig.InputSetting.mouse3PressLong, EInput.mouse4, CoreConfig.InputSetting.mouse4Click, CoreConfig.InputSetting.mouse4PressLong, Player.MoveZone(), Chara.NameTitled, DropdownGrid.Next(), UIDropdown.Next(), Window.NextTab(), ActionMode.OnAfterUpdate(), ActionMode.OnBeforeUpdate(), UIButton.onInputWheel, Player.Flags.OnLeaveZone(), BaseTileSelector.OnUpdate(), Chara.party, paused, EMono.pc, GamePrincipal.permadeath, Player.pickupDelay, Card.PlayAnime(), Card.PlayEffect(), EMono.player, Card.PlaySound(), Card.pos, Point.PositionCenter(), ButtonState.pressing, DropdownGrid.Prev(), UIDropdown.Prev(), Game.principal, Window.rectTab, WidgetEquip.Redraw(), Player.RefreshCurrentHotItem(), Zone.RefreshElectricity(), Player.RefreshEmptyAlly(), Card.renderer, EInput.rightMouse, EMono.rnd(), Msg.Say(), EMono.scene, Core.screen, EMono.screen, Net.SendChat(), Msg.SetColor(), LayerCover.SetDuration(), Player.simulatingZone, RenderData.size, EInput.skipFrame, EMono.Sound, Game.spatials, ZoneTransition.state, Chara.Stumble(), MsgColors.Talk, Player.target, BaseGameScreen.tileSelector, timeRatio, GlobalData.transition, EMono.ui, Player.uidLastTown, GameUpdater.Update(), EInput.Update(), UIButton.UpdateButtons(), UpdateCursor(), ActionMode.UpdateInput(), EInput.UpdateOnlyAxis(), Game.updater, BaseGameScreen.UpdateShaders(), UpdateTimeRatio(), Player.wasDirtyWeight, EInput.wheel, and Layer.windows.

Referenced by Core.Update().

◆ RebuildActorEx()

void Scene.RebuildActorEx ( )
inline

Definition at line 989 of file Scene.cs.

990 {
991 foreach (Thing thing in EMono._map.things)
992 {
993 if (!thing.trait.IDActorEx.IsEmpty())
994 {
995 AddActorEx(thing);
996 }
997 }
998 }
void AddActorEx(Card c, Action< ActorEx > onBeforeSetOwner=null)
Definition: Scene.cs:1018

References EMono._map, Trait.IDActorEx, Map.things, and Card.trait.

◆ RefreshActorEx()

void Scene.RefreshActorEx ( )
inline

Definition at line 1000 of file Scene.cs.

1001 {
1002 SoundManager.bgmDumpMod = 0f;
1003 foreach (ActorEx value in dictActorEx.Values)
1004 {
1005 value.Refresh();
1006 }
1007 }
void Refresh()
Definition: ActorEx.cs:91

References ActorEx.Refresh().

◆ RefreshBG()

void Scene.RefreshBG ( )
inline

Definition at line 800 of file Scene.cs.

801 {
804 {
805 bg = EMono.setting.render.bgs[MapBG.Snow];
806 }
807 skyBG.SetActive(bg.skyBox);
808 skyBG.sharedMaterial = bg.mat;
809 skyPlane.SetActive(bg.plane);
810 skyPlane.sharedMaterial = bg.mat;
811 cam.clearFlags = ((!EMono.core.config.graphic.alwaysClearCamera && bg.skyBox) ? CameraClearFlags.Depth : CameraClearFlags.Color);
812 }
MapBG
Definition: MapBG.cs:2
RenderSetting render
Definition: GameSetting.cs:301
MapBG bg
Definition: MapConfig.cs:77
GameSetting.RenderSetting.MapBGSetting bg
Definition: Scene.cs:124
MeshRenderer skyPlane
Definition: Scene.cs:73
MeshRenderer skyBG
Definition: Scene.cs:71
virtual bool IsSnowZone
Definition: Spatial.cs:542

References EMono._map, EMono._zone, MapConfig.bg, GameSetting.RenderSetting.bgs, Map.config, Spatial.IsSnowZone, GameSetting.RenderSetting.MapBGSetting.mat, GameSetting.RenderSetting.MapBGSetting.plane, GameSetting.render, EMono.setting, and GameSetting.RenderSetting.MapBGSetting.skyBox.

Referenced by GameScreen.OnActivate(), and TraitMapBoard.TrySetAct().

◆ RefreshSync()

void Scene.RefreshSync ( )
inline

Definition at line 1086 of file Scene.cs.

1087 {
1088 for (int num = syncList.Count - 1; num >= 0; num--)
1089 {
1090 ISyncScreen syncScreen = syncList[num];
1091 if (syncScreen.Sync != syncFrame)
1092 {
1093 syncScreen.OnLeaveScreen();
1094 syncList.RemoveAt(num);
1095 }
1096 }
1097 syncFrame++;
1098 RenderObject.syncFrame = syncFrame;
1099 }
long syncFrame
Definition: Scene.cs:142

References ISyncScreen.OnLeaveScreen(), and ISyncScreen.Sync.

◆ RemoveActorEx()

void Scene.RemoveActorEx ( Card  c)
inline

Definition at line 1030 of file Scene.cs.

1031 {
1032 ActorEx actorEx = dictActorEx.TryGetValue(c);
1033 if (!(actorEx == null))
1034 {
1035 actorEx.Kill();
1036 dictActorEx.Remove(c);
1037 }
1038 }

References ActorEx.Kill().

Referenced by TraitJukeBox.OnToggle(), TraitRadio.OnUse(), and Zone.RemoveCard().

◆ ToggleBalloon()

void Scene.ToggleBalloon ( )
inline

Definition at line 970 of file Scene.cs.

971 {
973 EMono.ui.ShowBalloon(!hideBalloon);
974 SE.ClickGeneral();
976 }

References WidgetSystemIndicator.Refresh(), and EMono.ui.

Referenced by HotItemToggle.OnClick().

◆ ToggleBirdView()

void Scene.ToggleBirdView ( bool  sound = true)
inline

Definition at line 957 of file Scene.cs.

958 {
959 SE.ClickGeneral();
961 {
963 }
964 else
965 {
967 }
968 }
static AM_Bird Bird
Definition: ActionMode.cs:31

References actionMode, ActionMode.Activate(), ActionMode.Bird, ActionMode.Deactivate(), and EMono.scene.

Referenced by HotItemContext.Show().

◆ ToggleFreePos()

void Scene.ToggleFreePos ( )
inline

Definition at line 907 of file Scene.cs.

908 {
910 {
911 SE.Beep();
912 return;
913 }
914 EMono.game.config.freePos = !EMono.game.config.freePos;
915 OnToggle();
916 }
bool freePos
Definition: Game.cs:31
Config config
Definition: Game.cs:219
void OnToggle()
Definition: Scene.cs:877

References Core.config, Game.config, EMono.core, CoreConfig.GameConfig.freePos, Game.Config.freePos, CoreConfig.game, and EMono.game.

Referenced by ActionMode.DoFunc(), and HotItemToggle.OnClick().

◆ ToggleHighlightArea()

void Scene.ToggleHighlightArea ( )
inline

Definition at line 951 of file Scene.cs.

952 {
953 EMono.game.config.highlightArea = !EMono.game.config.highlightArea;
954 OnToggle();
955 }
bool highlightArea
Definition: Game.cs:40

References Game.config, EMono.game, and Game.Config.highlightArea.

◆ ToggleLight()

void Scene.ToggleLight ( )
inline

Definition at line 890 of file Scene.cs.

891 {
892 EMono.game.config.buildLight = !EMono.game.config.buildLight;
893 OnToggle();
894 }
bool buildLight
Definition: Game.cs:37

References Game.Config.buildLight, Game.config, and EMono.game.

Referenced by ActionMode.DoFunc(), and HotItemToggle.OnClick().

◆ ToggleMuteBGM()

void Scene.ToggleMuteBGM ( )
inline

Definition at line 978 of file Scene.cs.

979 {
981 SE.ClickGeneral();
983 if (!EMono.Sound.muteBGM)
984 {
986 }
987 }
SoundSetting sound
Definition: CoreConfig.cs:603
void ApplyVolume()
Definition: CoreConfig.cs:1000

References CoreConfig.ApplyVolume(), Core.config, EMono.core, WidgetSystemIndicator.Refresh(), CoreConfig.sound, EMono.Sound, and CoreConfig.SoundSetting.volumeBGM.

Referenced by HotItemToggle.OnClick(), and ActionMode.UpdateInput().

◆ ToggleRoof()

void Scene.ToggleRoof ( )
inline

Definition at line 924 of file Scene.cs.

925 {
926 EMono.game.config.noRoof = !EMono.game.config.noRoof;
927 OnToggle();
928 }
bool noRoof
Definition: Game.cs:28

References Game.config, EMono.game, and Game.Config.noRoof.

Referenced by HotItemToggle.OnClick().

◆ ToggleShowRoof()

void Scene.ToggleShowRoof ( )
inline

Definition at line 884 of file Scene.cs.

885 {
886 EMono.game.config.showRoof = !EMono.game.config.showRoof;
887 OnToggle();
888 }
bool showRoof
Definition: Game.cs:13

References Game.config, EMono.game, and Game.Config.showRoof.

Referenced by ActionMode.DoFunc(), and HotItemToggle.OnClick().

◆ ToggleShowWall()

void Scene.ToggleShowWall ( )
inline

Definition at line 918 of file Scene.cs.

919 {
920 EMono.game.config.showWall = !EMono.game.config.showWall;
921 OnToggle();
922 }
bool showWall
Definition: Game.cs:16

References Game.config, EMono.game, and Game.Config.showWall.

Referenced by ActionMode.DoFunc(), and HotItemToggle.OnClick().

◆ ToggleSlope()

void Scene.ToggleSlope ( )
inline

Definition at line 930 of file Scene.cs.

931 {
932 EMono.game.config.slope = !EMono.game.config.slope;
933 OnToggle();
934 skipAnime = true;
935 }
bool slope
Definition: Game.cs:25

References Game.config, EMono.game, and Game.Config.slope.

Referenced by ActionMode.DoFunc(), and HotItemToggle.OnClick().

◆ ToggleSnapFreePos()

void Scene.ToggleSnapFreePos ( )
inline

Definition at line 896 of file Scene.cs.

897 {
899 {
900 SE.Beep();
901 return;
902 }
903 EMono.game.config.snapFreePos = !EMono.game.config.snapFreePos;
904 OnToggle();
905 }
bool snapFreePos
Definition: Game.cs:34

References Core.config, Game.config, EMono.core, CoreConfig.GameConfig.freePos, CoreConfig.game, EMono.game, and Game.Config.snapFreePos.

Referenced by ActionMode.DoFunc(), and HotItemToggle.OnClick().

◆ ToggleTilt()

void Scene.ToggleTilt ( )
inline

Definition at line 937 of file Scene.cs.

938 {
939 if (EMono._zone.IsRegion)
940 {
941 EMono.game.config.tiltRegion = !EMono.game.config.tiltRegion;
942 }
943 else
944 {
945 EMono.game.config.tilt = !EMono.game.config.tilt;
946 }
948 OnToggle();
949 }
bool tilt
Definition: Game.cs:19
bool tiltRegion
Definition: Game.cs:22

References EMono._zone, Game.config, EMono.game, Spatial.IsRegion, BaseGameScreen.RefreshTilt(), EMono.screen, Game.Config.tilt, and Game.Config.tiltRegion.

◆ TryWarnLinuxMod()

void Scene.TryWarnLinuxMod ( )
inline

Definition at line 167 of file Scene.cs.

168 {
170 {
171 Dialog.TryWarn("warn_linuxMod", delegate
172 {
173 Application.OpenURL(Lang.isJP ? "https://ylvania.org/elin_dev.html" : "https://ylvania.org/elin_dev_e.html");
174 }, yes: false);
175 }
176 }
bool ignoreLinuxModWarning
Definition: CoreConfig.cs:597
static void TryWarn(string lang, Action action, bool yes=true, string text=null)
Definition: Dialog.cs:298
static bool isJP
Definition: Lang.cs:39

References Core.config, EMono.core, CoreConfig.ignoreLinuxModWarning, Lang.isJP, and Dialog.TryWarn().

Referenced by MiniGame.Activate().

◆ TryWarnMacScreen()

void Scene.TryWarnMacScreen ( )
inline

Definition at line 156 of file Scene.cs.

157 {
158 if (!EMono.core.config.ignoreParallelsWarning && SystemInfo.graphicsDeviceName.Contains("Parallels Display"))
159 {
160 Dialog.TryWarn("warn_parallels", delegate
161 {
162 Application.OpenURL(Lang.isJP ? "https://ylvania.org/elin_dev.html" : "https://ylvania.org/elin_dev_e.html");
163 }, yes: false);
164 }
165 }
bool ignoreParallelsWarning
Definition: CoreConfig.cs:595

References Core.config, EMono.core, CoreConfig.ignoreParallelsWarning, Lang.isJP, and Dialog.TryWarn().

Referenced by Init().

◆ UpdateCursor()

void Scene.UpdateCursor ( )
inline

Definition at line 754 of file Scene.cs.

755 {
756 CursorSystem.position = EInput.mposWorld;
757 CursorSystem.position.z = -100f;
759 {
760 CursorSystem.posOrigin = EMono.screen.position.SetZ(-100f);
762 }
763 else
764 {
766 }
767 }
virtual void OnUpdateCursor()
Definition: ActionMode.cs:554
static void SetCursor(CursorInfo info=null, int _priority=0)
static Vector3 mposWorld
Definition: EInput.cs:350

References EMono.core, Core.IsGameStarted, EInput.mposWorld, ActionMode.OnUpdateCursor(), BaseGameScreen.position, EMono.screen, and CursorSystem.SetCursor().

Referenced by ActionMode.Activate(), and OnUpdate().

◆ UpdateTimeRatio()

void Scene.UpdateTimeRatio ( )
inline

Definition at line 769 of file Scene.cs.

770 {
771 float num = ((EMono._map.config.hour != -1) ? ((float)EMono._map.config.hour) : ((float)EMono.world.date.hour + (float)EMono.world.date.min / 60f));
772 if (num > 12f)
773 {
774 num = 24f - num;
775 }
776 timeRatio = Mathf.Clamp(num * 100f / 24f * 0.01f + EMono.setting.dayRatioMod, 0f, 1f);
777 }
int min
Definition: Date.cs:86
float dayRatioMod
Definition: GameSetting.cs:321
int hour
Definition: MapConfig.cs:95
GameDate date
Definition: World.cs:6

References EMono._map, Map.config, World.date, GameSetting.dayRatioMod, MapConfig.hour, Date.min, EMono.setting, and EMono.world.

Referenced by Init(), and OnUpdate().

Member Data Documentation

◆ actionMode

◆ audioListener

AudioListener Scene.audioListener

Definition at line 35 of file Scene.cs.

◆ bg

Definition at line 124 of file Scene.cs.

Referenced by BaseTileMap.Draw().

◆ blizzards

ParticleSystem [] Scene.blizzards

Definition at line 67 of file Scene.cs.

Referenced by BaseGameScreen.RefreshWeather(), and GameScreenElona.RefreshWeather().

◆ blossom

ParticleSystem Scene.blossom

Definition at line 59 of file Scene.cs.

Referenced by BaseGameScreen.RefreshWeather(), and GameScreenElona.RefreshWeather().

◆ blossoms

ParticleSystem [] Scene.blossoms

◆ bubble

ParticleSystem Scene.bubble

Definition at line 63 of file Scene.cs.

Referenced by Init().

◆ cam

◆ camSupport

◆ camTreasure

Camera Scene.camTreasure

Definition at line 39 of file Scene.cs.

Referenced by LayerTreasureMap.SetMap().

◆ ClickPoint

Point Scene.ClickPoint = new Point()
static

Definition at line 23 of file Scene.cs.

Referenced by AM_Sim._OnUpdateInput().

◆ damageTextRenderer

DamageTextRenderer Scene.damageTextRenderer = new DamageTextRenderer()

Definition at line 109 of file Scene.cs.

Referenced by Card.DamageHP(), and OnUpdate().

◆ dictActorEx

Dictionary<Card, ActorEx> Scene.dictActorEx = new Dictionary<Card, ActorEx>()

Definition at line 144 of file Scene.cs.

◆ elomapActor

◆ ether

ParticleSystem Scene.ether

◆ etherBlossom

ParticleSystem Scene.etherBlossom

Definition at line 61 of file Scene.cs.

Referenced by Init().

◆ filterRain

Definition at line 77 of file Scene.cs.

◆ firefly

VFX Scene.firefly

Definition at line 43 of file Scene.cs.

Referenced by BaseGameScreen.Activate(), and BaseGameScreen.RefreshSky().

◆ fireflyNight

VFX Scene.fireflyNight

Definition at line 45 of file Scene.cs.

Referenced by BaseGameScreen.Activate(), and BaseGameScreen.RefreshSky().

◆ flock

◆ godray

ParticleSystem Scene.godray

◆ godrayDust

ParticleSystem Scene.godrayDust

Definition at line 57 of file Scene.cs.

Referenced by BaseGameScreen.RefreshWeather(), and GameScreenElona.RefreshWeather().

◆ hideBalloon

bool Scene.hideBalloon

Definition at line 147 of file Scene.cs.

Referenced by ActionMode.Activate(), OnKillGame(), and HotItemToggle.ShouldHighlight().

◆ HitPoint

◆ isAnnounced

bool Scene.isAnnounced
static

Definition at line 19 of file Scene.cs.

Referenced by Init().

◆ loadedPrefabs

List<GameObject> Scene.loadedPrefabs = new List<GameObject>()

Definition at line 133 of file Scene.cs.

◆ matFloorEx

Material Scene.matFloorEx

Definition at line 107 of file Scene.cs.

Referenced by BaseGameScreen.RefreshAll().

◆ mode

Mode Scene.mode

Definition at line 127 of file Scene.cs.

Referenced by Init(), and OnUpdate().

◆ mouseTarget

◆ passes

MeshPass [] Scene.passes

Definition at line 121 of file Scene.cs.

Referenced by MeshPass.Refresh(), and CoreDebug.Test_Filter().

◆ paused

bool Scene.paused

◆ popper

PopperManager Scene.popper

Definition at line 99 of file Scene.cs.

Referenced by DamageTextRenderer.Flush(), and BaseStats.PopText().

◆ posAudioListener

Vector3 Scene.posAudioListener

Definition at line 33 of file Scene.cs.

Referenced by BaseGameScreen.RefreshPosition(), and GameScreenElona.RefreshPosition().

◆ profile

◆ psFey

ParticleSystem Scene.psFey

Definition at line 119 of file Scene.cs.

Referenced by GrowSystem.OnRenderTileMap().

◆ psFoot

ParticleSystem Scene.psFoot

Definition at line 111 of file Scene.cs.

Referenced by Chara._Move().

◆ psRainSplash

ParticleSystem Scene.psRainSplash

Definition at line 115 of file Scene.cs.

Referenced by GameUpdater.Update100ms().

◆ psRainSplashWater

ParticleSystem Scene.psRainSplashWater

Definition at line 117 of file Scene.cs.

Referenced by GameUpdater.Update100ms().

◆ psSmoke

ParticleSystem Scene.psSmoke

Definition at line 113 of file Scene.cs.

Referenced by Chara._Move().

◆ rain

ParticleSystem Scene.rain

◆ screenElin

◆ screenElona

GameScreenElona Scene.screenElona

◆ screenNoMap

GameScreenNoMap Scene.screenNoMap

Definition at line 97 of file Scene.cs.

Referenced by Core.Awake(), and Init().

◆ sfxEther

SoundSource Scene.sfxEther

Definition at line 91 of file Scene.cs.

◆ sfxFire

SoundSource Scene.sfxFire

Definition at line 89 of file Scene.cs.

Referenced by BaseGameScreen.Activate(), BaseTileMap.Draw(), and TileMapElona.Draw().

◆ sfxRain

SoundSource Scene.sfxRain

◆ sfxSea

SoundSource Scene.sfxSea

◆ sfxUnderwater

SoundSource Scene.sfxUnderwater

Definition at line 85 of file Scene.cs.

Referenced by BaseGameScreen.Activate().

◆ sfxWind

SoundSource Scene.sfxWind

◆ skipAnime

bool Scene.skipAnime
static

Definition at line 25 of file Scene.cs.

Referenced by BaseGameScreen.Draw(), Init(), and CharaRenderer.UpdatePosition().

◆ skyBG

MeshRenderer Scene.skyBG

Definition at line 71 of file Scene.cs.

Referenced by GameScreenElona.OnActivate().

◆ skyPlane

MeshRenderer Scene.skyPlane

Definition at line 73 of file Scene.cs.

◆ snow

ParticleSystem Scene.snow

◆ srTarget

SpriteRenderer Scene.srTarget

Definition at line 103 of file Scene.cs.

◆ star

VFX Scene.star

Definition at line 47 of file Scene.cs.

Referenced by BaseGameScreen.Activate(), and BaseGameScreen.RefreshSky().

◆ syncFrame

long Scene.syncFrame

Definition at line 142 of file Scene.cs.

Referenced by TaskDesignation.Draw().

◆ syncList

◆ test

Vector2 [] Scene.test

Definition at line 17 of file Scene.cs.

◆ tileset

Tileset Scene.tileset

Definition at line 105 of file Scene.cs.

Referenced by TextureData.IsValid().

◆ timeRatio

◆ transAudio

Transform Scene.transAudio

Definition at line 31 of file Scene.cs.

Referenced by Point.PlaySound(), and ESoundSource.Refresh().

◆ transBlizzard

Transform Scene.transBlizzard

Definition at line 29 of file Scene.cs.

◆ transFocus

Transform Scene.transFocus

Definition at line 27 of file Scene.cs.

Referenced by AM_Bird.OnUpdateInput().

Property Documentation

◆ elomap


The documentation for this class was generated from the following file: