Elin Decompiled Documentation EA 23.252 Stable Patch 2
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 1019 of file Scene.cs.

1020 {
1021 ActorEx actorEx = dictActorEx.TryGetValue(c);
1022 if (!(actorEx != null))
1023 {
1024 actorEx = Util.Instantiate<ActorEx>("Scene/Render/Actor/Ex/" + c.trait.IDActorEx);
1025 onBeforeSetOwner?.Invoke(actorEx);
1026 actorEx.SetOwner(c);
1027 dictActorEx.Add(c, actorEx);
1028 }
1029 }
void SetOwner(Card c)
Definition: ActorEx.cs:33
Trait trait
Definition: Card.cs:53
Dictionary< Card, ActorEx > dictActorEx
Definition: Scene.cs:144
virtual string IDActorEx
Definition: Trait.cs:176
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 827 of file Scene.cs.

828 {
829 MapConfig conf;
831 {
832 conf = EMono._map.config;
836 SetOcean(tileMap.passLiquid.mat);
837 SetOcean(tileMap.passFloorWater.mat);
838 SetOcean(tileMap.passAutoTileWater.mat);
839 ScreenGrading grading = camSupport.grading;
840 ScreenGradingProfile.Lut lut = grading.lut;
841 grading.profile.funcOverlay = () => EMono.scene.profile.overlay;
842 if (conf.idLut == "None")
843 {
844 lut.tex = null;
845 }
846 else
847 {
848 lut.tex = Resources.Load<Texture2D>("Scene/Profile/Lut/" + conf.idLut);
849 lut.Brightness = conf.lutBrightness;
850 lut.Saturation = conf.lutSaturation;
851 lut.Contrast = conf.lutContrast;
852 lut.blend = conf.lutBlend;
853 }
854 grading.SetGrading();
855 }
856 void SetOcean(Material m)
857 {
858 m.SetFloat("_GradientWater", EMono.core.config.graphic.gradientWater ? EMono.core.config.graphic.gradientWaterLevel : 0f);
859 if (conf.seaDir != 0)
860 {
861 m.EnableKeyword("WAVE_ON");
862 Vector4[] array = new Vector4[4]
863 {
864 new Vector4(-2f, -1f, -1f, 1f),
865 new Vector4(1f, 0f, 1f, 1f),
866 new Vector4(2f, 1f, -1f, 1f),
867 new Vector4(-1f, 0f, 1f, 1f)
868 };
869 m.SetVector("_WaveDir", array[conf.seaDir - 1]);
870 }
871 else
872 {
873 m.DisableKeyword("WAVE_ON");
874 }
875 }
876 }
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 353 of file Scene.cs.

354 {
355 foreach (ISyncScreen sync in syncList)
356 {
357 sync.OnLeaveScreen();
358 }
359 syncList.Clear();
361 ClearActorEx();
363 }
static EffectManager Instance
List< ISyncScreen > syncList
Definition: Scene.cs:137
void ClearActorEx()
Definition: Scene.cs:1010
void DestroyPrefabs()
Definition: Scene.cs:1110
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 1010 of file Scene.cs.

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

References ActorEx.Kill().

Referenced by Clear().

◆ DestroyPrefab()

void Scene.DestroyPrefab ( string  id)
inline

Definition at line 1119 of file Scene.cs.

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

◆ DestroyPrefabs()

void Scene.DestroyPrefabs ( )
inline

Definition at line 1110 of file Scene.cs.

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

Referenced by Clear().

◆ DrawPass()

void Scene.DrawPass ( )
inline

Definition at line 1062 of file Scene.cs.

1063 {
1064 if (cam.enabled)
1065 {
1066 MeshPass[] array = passes;
1067 for (int i = 0; i < array.Length; i++)
1068 {
1069 array[i].Draw();
1070 }
1071 }
1072 else
1073 {
1074 MeshPass[] array = passes;
1075 for (int i = 0; i < array.Length; i++)
1076 {
1077 array[i].DrawEmpty();
1078 }
1079 }
1080 RefreshSync();
1081 if ((bool)EMono.screen.guide)
1082 {
1084 }
1085 }
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:1087
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 815 of file Scene.cs.

816 {
817 if (a >= 1)
818 {
819 EMono.core.screen.Focus(pos);
820 }
821 if (a >= 2)
822 {
824 }
825 }
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 mode = newMode;
185 switch (newMode)
186 {
187 case Mode.None:
188 if (EMono.game != null)
189 {
190 EMono.game.Kill();
191 }
192 EMono.ui.RemoveLayers();
194 break;
195 case Mode.Title:
196 SoundManager.bgmVolumeMod = (SoundManager.bgmDumpMod = 0f);
197 if (EMono.game != null)
198 {
199 EMono.game.Kill();
200 }
201 EMono.ui.AddLayer<LayerTitle>();
202 if (!isAnnounced || Application.isEditor)
203 {
204 isAnnounced = true;
206 {
207 EMono.ui.AddLayer("LayerAnnounce").SetOnKill(TryWarnMacScreen);
208 });
209 }
210 else
211 {
213 }
216 break;
217 case Mode.StartGame:
218 EMono.ui.RemoveLayer<LayerTitle>();
219 EMono.ui.ShowCover();
220 Init(Mode.Zone);
221 break;
222 case Mode.Zone:
223 EMono.player.target = null;
224 UIBook.str_pc = EMono.pc.NameSimple;
225 if (EMono.player.zone == null)
226 {
227 Player obj = EMono.player;
228 Zone zone = (EMono.pc.currentZone = EMono.pc.homeZone);
229 obj.zone = zone;
230 }
231 EMono.core.config.game.ignoreWarnCrime = (EMono.core.config.game.ignoreWarnMana = (EMono.core.config.game.ignoreWarnDisassemble = (EMono.core.config.game.ignoreWarnSlaughter = false)));
233 CellDetail.count = 0;
234 skipAnime = true;
235 EMono.player.baseActTime = EMono.setting.defaultActPace;
236 EMono.player.Agent.renderer.isSynced = true;
237 EMono.player.Agent.currentZone = EMono.player.zone;
238 Point._screen = (EMono.player.zone.IsRegion ? ((BaseGameScreen)screenElona) : ((BaseGameScreen)screenElin));
244 Popper.scale = (EMono._zone.IsRegion ? new Vector3(1.7f, 1.7f, 1f) : Vector3.one);
246 {
248 }
249 else if (EMono.player.zone is Region)
250 {
252 }
253 else
254 {
256 }
257 if (EMono.game.altCraft)
258 {
259 if (EMono._zone.IsRegion)
260 {
261 if ((bool)EMono.ui.layerFloat.GetLayer<LayerCraftFloat>())
262 {
263 EMono.ui.layerFloat.RemoveLayer<LayerCraftFloat>();
264 }
265 }
266 else if (!EMono.ui.layerFloat.GetLayer<LayerCraftFloat>())
267 {
268 EMono.ui.layerFloat.AddLayer<LayerCraftFloat>();
269 }
270 }
271 EMono.screen.tileMap.activeCount = 0;
279 if (EMono.ui.hud.imageCover.gameObject.activeSelf && !EMono.player.simulatingZone)
280 {
281 EMono.ui.HideCover(4f);
282 }
284 {
285 EMono.game.Save();
286 }
287 foreach (Thing thing in EMono._map.things)
288 {
289 if (thing.IsInstalled)
290 {
291 thing.trait.TryToggle();
292 }
293 }
295 camSupport.water.enabled = EMono._zone.IsUnderwater;
296 if (EMono.player.onStartZone != null)
297 {
299 EMono.player.onStartZone = null;
300 }
301 ActionMode.LastBuildMode = null;
302 if (ActionMode.Adv.IsActive && (EInput.leftMouse.pressing || EInput.axis != Vector2.zero))
303 {
307 }
309 {
311 }
312 flock.SetSpawnType(EMono._zone.FlockType);
314 {
316 if (EMono._zone == EMono.pc.homeZone)
317 {
318 EMono.pc.faith.Revelation("welcome");
319 }
320 if (EMono._zone.Boss != null && EMono._zone.Boss.ExistsOnMap)
321 {
323 }
325 }
327 if (EMono.player.questTracker && !EMono.ui.widgets.GetWidget("QuestTracker"))
328 {
329 EMono.ui.widgets.Activate("QuestTracker");
330 }
331 if ((EMono._zone is Zone_Town || EMono._zone is Zone_Tent) && !EMono._zone.isMapSaved && !EMono.debug.ignoreAutoSave)
332 {
333 EMono.game.Save();
334 }
335 break;
336 }
337 etherBlossom.SetActive(mode == Mode.Zone && EMono._zone is Zone_WindRest);
338 bubble.SetActive(mode == Mode.Zone && EMono._zone.IsUnderwater);
339 }
void SetPressedAction(ButtonState button)
Definition: AM_Adv.cs:1162
void SetManualMove()
Definition: AM_Adv.cs:1152
virtual void RefreshArrow()
Definition: AM_Adv.cs:1324
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 Deactivate()
Definition: BuildMenu.cs:173
bool pressing
Definition: ButtonState.cs:35
bool ExistsOnMap
Definition: Card.cs:2085
void RecalculateFOV()
Definition: Card.cs:6389
Point pos
Definition: Card.cs:59
bool IsInstalled
Definition: Card.cs:2381
string NameSimple
Definition: Card.cs:2139
override bool IsAliveInCurrentZone
Definition: Chara.cs:561
string NameBraced
Definition: Chara.cs:514
Zone homeZone
Definition: Chara.cs:267
Religion faith
Definition: Chara.cs:439
bool IsInActiveZone
Definition: Chara.cs:838
new GameConfig game
Definition: CoreConfig.cs:609
void ApplyGrading()
Definition: CoreConfig.cs:956
bool ignoreAutoSave
Definition: CoreDebug.cs:126
CoreDebug debug
Definition: Core.cs:31
Definition: EInput.cs:8
static Vector2 axis
Definition: EInput.cs:331
static ButtonState leftMouse
Definition: EInput.cs:349
static KeyboardPress keyWait
Definition: EInput.cs:251
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:235
bool Save(bool isAutoSave=false, bool silent=false)
Definition: Game.cs:1028
void Kill()
Definition: Game.cs:1098
GameUpdater updater
Definition: Game.cs:249
QuestManager quests
Definition: Game.cs:182
bool altCraft
Definition: Game.cs:271
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:808
Definition: Player.cs:11
Flags flags
Definition: Player.cs:1094
Action onStartZone
Definition: Player.cs:1217
bool questTracker
Definition: Player.cs:989
Zone zone
Definition: Player.cs:1082
bool simulatingZone
Definition: Player.cs:1179
void RefreshEmptyAlly()
Definition: Player.cs:1602
void RefreshCurrentHotItem()
Definition: Player.cs:2199
HotbarManager hotbars
Definition: Player.cs:1085
void OnEnterZone()
void Build(Point _p, Mode _mode=Mode.Passive)
Definition: Region.cs:7
void Revelation(string idTalk, int chance=100)
Definition: Religion.cs:145
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:770
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:1135
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:591
virtual FlockController.SpawnType FlockType
Definition: Zone.cs:415
Chara Boss
Definition: Zone.cs:86
virtual bool IsUnderwater
Definition: Zone.cs:269

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, 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 1041 of file Scene.cs.

1042 {
1043 MeshPass[] array = passes;
1044 for (int i = 0; i < array.Length; i++)
1045 {
1046 array[i].Init();
1047 }
1048 foreach (ModItem<Sprite> item in MOD.sprites.list)
1049 {
1050 Sprite sprite = SpriteSheet.Get(item.id);
1051 if ((bool)sprite)
1052 {
1053 Sprite @object = item.GetObject(new SpriteLoadOption
1054 {
1055 pivot = new Vector2(sprite.pivot.x / (sprite.bounds.size.x * 100f), sprite.pivot.y / (sprite.bounds.size.y * 100f))
1056 });
1057 SpriteSheet.dict[item.id] = @object;
1058 }
1059 }
1060 }
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 1102 of file Scene.cs.

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

References Util.

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

◆ OnChangeHour()

void Scene.OnChangeHour ( )
inline

Definition at line 780 of file Scene.cs.

781 {
786 if ((bool)EMono.screen.pcOrbit)
787 {
789 }
792 foreach (Transform componentsInDirectChild in EMono.ui.rectDynamic.GetComponentsInDirectChildren<Transform>())
793 {
794 if (componentsInDirectChild.gameObject.tag != "IgnoreDestroy" && !componentsInDirectChild.GetComponent<TC>())
795 {
796 UnityEngine.Object.Destroy(componentsInDirectChild.gameObject);
797 }
798 }
799 }
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 341 of file Scene.cs.

342 {
345 hideBalloon = false;
346 actionMode = null;
347 PCC.PurgeCache();
348 Clear();
349 flock.Reset();
351 }
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:353
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 749 of file Scene.cs.

750 {
751 DrawPass();
753 }
static CursorSystem Instance
Definition: CursorSystem.cs:6
void DrawPass()
Definition: Scene.cs:1062

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

Referenced by Core.LateUpdate().

◆ OnToggle()

void Scene.OnToggle ( )
inline

◆ OnUpdate()

void Scene.OnUpdate ( )
inline

Definition at line 365 of file Scene.cs.

366 {
367 SoundManager.speed = (EMono.core.IsGameStarted ? Mathf.Clamp(actionMode.gameSpeed * 0.75f, 1f, 2f) : 1f);
369 EMono.ui.RefreshActiveState();
370 bool isShiftDown = EInput.isShiftDown;
371 if ((bool)UIDropdown.activeInstance)
372 {
374 }
375 else
376 {
377 EInput.Update();
378 }
381 {
382 if (input.middleClick == CoreConfig.GameFunc.EmuShift || input.middlePressLong == CoreConfig.GameFunc.EmuShift)
383 {
384 EInput.isShiftDown = true;
385 }
386 if (input.middleClick == CoreConfig.GameFunc.EmuAlt || input.middlePressLong == CoreConfig.GameFunc.EmuAlt)
387 {
388 EInput.isAltDown = true;
389 }
390 }
392 {
393 if (input.mouse3Click == CoreConfig.GameFunc.EmuShift || input.mouse3PressLong == CoreConfig.GameFunc.EmuShift)
394 {
395 EInput.isShiftDown = true;
396 }
397 if (input.mouse3Click == CoreConfig.GameFunc.EmuAlt || input.mouse3PressLong == CoreConfig.GameFunc.EmuAlt)
398 {
399 EInput.isAltDown = true;
400 }
401 }
403 {
404 if (input.mouse4Click == CoreConfig.GameFunc.EmuShift || input.mouse4PressLong == CoreConfig.GameFunc.EmuShift)
405 {
406 EInput.isShiftDown = true;
407 }
408 if (input.mouse4Click == CoreConfig.GameFunc.EmuAlt || input.mouse4PressLong == CoreConfig.GameFunc.EmuAlt)
409 {
410 EInput.isAltDown = true;
411 }
412 }
413 EInput.hasShiftChanged = EInput.isShiftDown != isShiftDown;
414 Layer.cancelKeyDown = EInput.isCancel;
415 Layer.rightClicked = EInput.rightMouse.down;
416 int num = EInput.wheel;
417 if (num != 0)
418 {
419 if (EMono.ui.isPointerOverUI)
420 {
421 if (!EMono.ui.GetLayer<LayerConfig>())
422 {
423 UIDropdown componentOf = InputModuleEX.GetComponentOf<UIDropdown>();
424 if ((bool)componentOf && !UIDropdown.activeInstance)
425 {
426 if (num < 0)
427 {
428 componentOf.Next();
429 }
430 else if (num > 0)
431 {
432 componentOf.Prev();
433 }
434 num = (EInput.wheel = 0);
435 }
436 Slider componentOf2 = InputModuleEX.GetComponentOf<Slider>();
437 if ((bool)componentOf2 && (bool)EMono.ui.GetLayer<LayerEditPCC>())
438 {
439 SE.Tab();
440 componentOf2.value += (componentOf2.wholeNumbers ? ((float)num) : (0.1f * (float)num));
441 num = (EInput.wheel = 0);
442 }
443 }
445 {
446 DropdownGrid componentOf3 = InputModuleEX.GetComponentOf<DropdownGrid>();
447 if ((bool)componentOf3)
448 {
449 if (num < 0)
450 {
451 componentOf3.Next();
452 }
453 else if (num > 0)
454 {
455 componentOf3.Prev();
456 }
457 num = (EInput.wheel = 0);
458 }
459 }
460 if (EMono.ui.contextMenu.isActive)
461 {
462 Slider componentOf4 = InputModuleEX.GetComponentOf<Slider>();
463 if ((bool)componentOf4)
464 {
465 componentOf4.value += (componentOf4.wholeNumbers ? ((float)num) : (0.1f * (float)num));
466 num = (EInput.wheel = 0);
467 SE.Tab();
468 }
469 }
470 UIScrollView componentOf5 = InputModuleEX.GetComponentOf<UIScrollView>();
471 if ((bool)componentOf5)
472 {
473 num = (EInput.wheel = 0);
474 if (componentOf5.verticalScrollbar.isActiveAndEnabled)
475 {
476 EMono.ui.HideMouseHint();
477 }
478 }
479 UIButton componentOf6 = InputModuleEX.GetComponentOf<UIButton>();
480 if ((bool)componentOf6 && componentOf6.onInputWheel != null)
481 {
482 componentOf6.onInputWheel(num);
483 num = (EInput.wheel = 0);
484 }
485 }
486 if (num != 0)
487 {
488 Layer layer = (EMono.ui.IsActive ? EMono.ui.GetTopLayer() : LayerAbility.Instance);
489 if (layer != null && layer.windows.Count > 0)
490 {
491 Window window = layer.windows[0];
492 if (InputModuleEX.IsPointerChildOf(window.rectTab) && !DropdownGrid.IsActive && window.NextTab(num))
493 {
494 num = (EInput.wheel = 0);
495 }
496 }
497 }
498 }
500 {
502 EInput.Consume();
503 }
504 switch (mode)
505 {
506 case Mode.Title:
508 {
509 timeRatio = 0f;
511 }
512 godray.SetActive(enable: false);
513 UpdateCursor();
514 EMono.ui.UpdateInput();
515 break;
516 case Mode.Zone:
517 {
519 {
520 break;
521 }
523 {
525 }
527 {
528 srTarget.enabled = true;
529 Vector3 position = EMono.player.target.pos.PositionCenter();
530 position.y += EMono.player.target.renderer.data.size.y;
531 position.z -= 10f;
532 srTarget.transform.parent.position = position;
533 }
534 else
535 {
536 srTarget.enabled = false;
537 }
538 EMono.player.pickupDelay -= Core.delta;
539 if (EMono.player.pickupDelay < 0f)
540 {
541 EMono.player.pickupDelay = 0f;
542 }
544 paused = EMono.ui.IsPauseGame || actionMode.ShouldPauseGame || Game.IsWaiting;
546 if (!EMono.pc.isDead)
547 {
548 if (AI_PlayMusic.keepPlaying && EInput.skipFrame <= 0 && Input.anyKeyDown && !Input.GetKey(KeyCode.Tab) && !Input.GetKey(KeyCode.LeftAlt))
549 {
551 }
553 }
554 else
555 {
556 EMono.ui.UpdateInput();
557 }
559 {
561 if (!LayerDrama.IsActive())
562 {
564 }
565 }
567 {
568 EMono.player.deathDialog = true;
569 EMono.player.returnInfo = null;
570 EMono.player.ignoreFallOver = 1;
571 Msg.Say("diebye");
572 EMono.Sound.Play("dead_pc2");
573 EMono.Sound.Play("dead_pc");
574 string[] list = Lang.GetList("lastWords");
575 string lastWord = list.RandomItem();
577 {
579 }
580 EMono.ui.CloseLayers();
581 if ((bool)UIContextMenu.Current)
582 {
584 }
585 EInput.haltInput = false;
586 Dialog.InputName("dialogLastword", lastWord, delegate(bool cancel, string text)
587 {
588 if (!cancel)
589 {
590 lastWord = text;
591 }
592 Player obj = EMono.player;
593 obj.deathMsg = obj.deathMsg + Lang.space + lastWord.Bracket(1);
595 {
596 Net.SendChat(EMono.pc.NameTitled, EMono.player.deathMsg, ChatCategory.Dead, Lang.langCode);
597 }
598 Debug.Log(lastWord);
600 Msg.Say(lastWord.Bracket(1));
601 List<string> list2 = new List<string>();
603 bool addTownRevive = lastTown != null && !EMono._zone.IsInstance;
605 {
606 if (addTownRevive)
607 {
608 list2.Add("pc_revive_town".lang(lastTown.Name));
609 }
610 list2.Add("pc_revive");
611 list2.Add("pc_gameover");
612 }
613 else
614 {
615 list2.Add("pc_gameover");
616 }
617 Debug.Log(list2.Count);
618 EMono.ui.AddLayer<LayerCover>().SetDuration(1f, delegate
619 {
620 EMono.ui.CloseLayers();
621 Dialog.List("pc_deathChoice".lang(), list2, (string j) => j, delegate(int c, string d)
622 {
623 EMono.player.deathDialog = false;
624 if (!EMono.game.principal.permadeath && (c == 0 || (addTownRevive && c == 1)))
625 {
626 EMono.pc.MakeGrave(lastWord);
627 EMono.pc.Revive();
628 EMono.pc.RecalculateFOV();
629 Zone zone = EMono.player.spawnZone ?? EMono.pc.homeZone;
630 if (addTownRevive && c == 0)
631 {
632 zone = lastTown;
633 }
634 if (EMono.game.activeZone == zone)
635 {
636 EMono.pc.Teleport(EMono._zone.GetSpawnPos(EMono.pc, ZoneTransition.EnterState.Return).GetNearestPoint() ?? EMono._map.GetCenterPos(), silent: true, force: true);
637 }
638 else
639 {
640 EMono.player.deathZoneMove = true;
641 EMono.pc.MoveZone(zone, ZoneTransition.EnterState.Return);
642 }
643 EMono.screen.FocusPC();
644 Msg.Say("crawlup");
645 if (EMono.player.stats.death == 0)
646 {
647 Tutorial.Reserve("death");
648 }
649 EMono.player.stats.death++;
650 if (EMono.player.stats.days <= 90)
651 {
652 EMono.player.stats.death2++;
653 }
654 }
655 else
656 {
657 EMono.game.GotoTitle(showDialog: false);
658 }
659 return true;
660 });
661 });
662 });
663 }
664 UpdateCursor();
666 EMono.Sound.UpdateBGM();
669 {
671 }
672 if (WidgetEquip.dirty)
673 {
675 }
677 {
678 foreach (Chara member in EMono.pc.party.members)
679 {
680 member.CalcBurden();
681 }
682 EMono.player.wasDirtyWeight = false;
683 }
684 if (!EMono.ui.IsActive)
685 {
687 }
688 else if (EMono.ui.mouseInfo.gameObject.activeSelf)
689 {
690 EMono.ui.mouseInfo.SetText();
691 }
692 EMono.screen.Draw();
696 {
697 break;
698 }
699 if (!EMono.ui.GetLayer<LayerDrama>())
700 {
702 {
703 case ZoneTransition.EnterState.Fall:
704 EMono.pc.PlaySound("fall");
705 EMono.pc.PlayAnime(AnimeID.FallSky);
706 EMono.pc.DamageHP((20 + EMono.rnd(30) + ((EMono.player.lastTransition.lastZone is Zone_Casino) ? 1000 : 0)) / ((!EMono.pc.IsLevitating) ? 1 : 10), AttackSource.Fall);
707 break;
708 case ZoneTransition.EnterState.Elevator:
709 EMono.pc.PlaySound("elevator");
710 break;
711 case ZoneTransition.EnterState.PortalReturn:
712 case ZoneTransition.EnterState.Return:
713 case ZoneTransition.EnterState.Teleport:
714 case ZoneTransition.EnterState.Moongate:
715 EMono.pc.PlayEffect("teleport");
716 EMono.pc.PlaySound("return");
717 break;
718 default:
719 SE.MoveZone();
720 break;
721 case ZoneTransition.EnterState.Encounter:
722 break;
723 }
724 }
725 bool flag = (EMono.rnd(5) == 0 && EMono.pc.burden.GetPhase() >= 3) || EMono.pc.burden.GetPhase() >= 4;
727 {
728 flag = false;
729 }
731 {
732 flag = flag;
734 }
735 if (flag)
736 {
737 EMono.pc.Stumble();
738 }
739 EMono.player.lastTransition = null;
740 break;
741 }
742 default:
743 UpdateCursor();
744 EMono.ui.UpdateInput();
745 break;
746 }
747 }
AnimeID
Definition: AnimeID.cs:2
AttackSource
Definition: AttackSource.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:6177
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6211
void DamageHP(long dmg, AttackSource attackSource=AttackSource.None, Card origin=null)
Definition: Card.cs:4063
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:6196
CardRenderer renderer
Definition: Card.cs:61
Definition: Chara.cs:10
bool IsLevitating
Definition: Chara.cs:597
Party party
Definition: Chara.cs:43
override bool isSynced
Definition: Chara.cs:691
Zone currentZone
Definition: Chara.cs:255
void Stumble(int mtp=100)
Definition: Chara.cs:1842
Stats burden
Definition: Chara.cs:1144
GlobalData global
Definition: Chara.cs:76
bool isDead
Definition: Chara.cs:389
void CalcBurden()
Definition: Chara.cs:1827
NetSetting net
Definition: CoreConfig.cs:611
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:528
static bool IsActive
Definition: DropdownGrid.cs:8
static bool isCancel
Definition: EInput.cs:378
static int wheel
Definition: EInput.cs:289
static ButtonState middleMouse
Definition: EInput.cs:353
static void Consume(int _skipFrame)
Definition: EInput.cs:656
static ButtonState mouse4
Definition: EInput.cs:357
static void UpdateOnlyAxis()
Definition: EInput.cs:464
static void Update()
Definition: EInput.cs:475
static bool isShiftDown
Definition: EInput.cs:261
static ButtonState rightMouse
Definition: EInput.cs:351
static ButtonState mouse3
Definition: EInput.cs:355
static int skipFrame
Definition: EInput.cs:287
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:8
static bool IsWaiting
Definition: Game.cs:261
GamePrincipal principal
Definition: Game.cs:224
static string id
Definition: Game.cs:147
SpatialManager spatials
Definition: Game.cs:152
bool isCloud
Definition: Game.cs:245
Zone activeZone
Definition: Game.cs:251
ZoneTransition transition
Definition: GlobalData.cs:6
static bool IsPointerChildOf(Component c)
Definition: Lang.cs:6
static string[] GetList(string id)
Definition: Lang.cs:114
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
List< Chara > members
Definition: Party.cs:19
void OnLeaveZone()
Definition: Player.cs:856
int uidLastTown
Definition: Player.cs:938
ZoneTransition lastTransition
Definition: Player.cs:1143
float pickupDelay
Definition: Player.cs:1201
bool wasDirtyWeight
Definition: Player.cs:1163
int ignoreFallOver
Definition: Player.cs:1195
Chara target
Definition: Player.cs:1231
void MoveZone(Zone z)
Definition: Player.cs:2029
bool deathDialog
Definition: Player.cs:1165
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:755
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:2889
bool IsInstance
Definition: Zone.cs:489
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, Debug, GameIO.DeleteGame(), Core.delta, WidgetEquip.dirty, WidgetHotbar.dirtyCurrentItem, Zone.dirtyElectricity, ButtonState.down, BaseGameScreen.Draw(), elomapActor, CoreConfig.NetSetting.enable, 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, 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(), CoreConfig.net, 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, CoreConfig.NetSetting.sendEvent, 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 990 of file Scene.cs.

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

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

◆ RefreshActorEx()

void Scene.RefreshActorEx ( )
inline

Definition at line 1001 of file Scene.cs.

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

References ActorEx.Refresh().

◆ RefreshBG()

void Scene.RefreshBG ( )
inline

Definition at line 801 of file Scene.cs.

802 {
805 {
806 bg = EMono.setting.render.bgs[MapBG.Snow];
807 }
808 skyBG.SetActive(bg.skyBox);
809 skyBG.sharedMaterial = bg.mat;
810 skyPlane.SetActive(bg.plane);
811 skyPlane.sharedMaterial = bg.mat;
812 cam.clearFlags = ((!EMono.core.config.graphic.alwaysClearCamera && bg.skyBox) ? CameraClearFlags.Depth : CameraClearFlags.Color);
813 }
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 1087 of file Scene.cs.

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

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

◆ RemoveActorEx()

void Scene.RemoveActorEx ( Card  c)
inline

Definition at line 1031 of file Scene.cs.

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

References ActorEx.Kill().

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

◆ ToggleBalloon()

void Scene.ToggleBalloon ( )
inline

Definition at line 971 of file Scene.cs.

972 {
974 EMono.ui.ShowBalloon(!hideBalloon);
975 SE.ClickGeneral();
977 }

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

Referenced by HotItemToggle.OnClick().

◆ ToggleBirdView()

void Scene.ToggleBirdView ( bool  sound = true)
inline

Definition at line 958 of file Scene.cs.

959 {
960 SE.ClickGeneral();
962 {
964 }
965 else
966 {
968 }
969 }
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 908 of file Scene.cs.

909 {
911 {
912 SE.Beep();
913 return;
914 }
915 EMono.game.config.freePos = !EMono.game.config.freePos;
916 OnToggle();
917 }
bool freePos
Definition: Game.cs:30
Config config
Definition: Game.cs:218
void OnToggle()
Definition: Scene.cs:878

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 952 of file Scene.cs.

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

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

◆ ToggleLight()

void Scene.ToggleLight ( )
inline

Definition at line 891 of file Scene.cs.

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

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

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

◆ ToggleMuteBGM()

void Scene.ToggleMuteBGM ( )
inline

Definition at line 979 of file Scene.cs.

980 {
982 SE.ClickGeneral();
984 if (!EMono.Sound.muteBGM)
985 {
987 }
988 }
SoundSetting sound
Definition: CoreConfig.cs:603
void ApplyVolume()
Definition: CoreConfig.cs:996

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 925 of file Scene.cs.

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

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

Referenced by HotItemToggle.OnClick().

◆ ToggleShowRoof()

void Scene.ToggleShowRoof ( )
inline

Definition at line 885 of file Scene.cs.

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

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

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

◆ ToggleShowWall()

void Scene.ToggleShowWall ( )
inline

Definition at line 919 of file Scene.cs.

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

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

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

◆ ToggleSlope()

void Scene.ToggleSlope ( )
inline

Definition at line 931 of file Scene.cs.

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

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

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

◆ ToggleSnapFreePos()

void Scene.ToggleSnapFreePos ( )
inline

Definition at line 897 of file Scene.cs.

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

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 938 of file Scene.cs.

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

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)
Definition: Dialog.cs:290
static bool isJP
Definition: Lang.cs:38

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 755 of file Scene.cs.

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

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 770 of file Scene.cs.

771 {
772 float num = ((EMono._map.config.hour != -1) ? ((float)EMono._map.config.hour) : ((float)EMono.world.date.hour + (float)EMono.world.date.min / 60f));
773 if (num > 12f)
774 {
775 num = 24f - num;
776 }
777 timeRatio = Mathf.Clamp(num * 100f / 24f * 0.01f + EMono.setting.dayRatioMod, 0f, 1f);
778 }
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 BaseTileMap.DrawTile().

◆ 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

List<ISyncScreen> Scene.syncList = new List<ISyncScreen>()

◆ 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: