Elin Decompiled Documentation EA 23.102 Nightly
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[] blossoms
 
ParticleSystem[] blizzards
 
FlockController flock
 
MeshRenderer skyBG
 
MeshRenderer skyPlane
 
SceneProfile profile
 
CameraFilterPack_Atmosphere_Rain filterRain
 
ActionMode actionMode
 
SoundSource sfxRain
 
SoundSource sfxWind
 
SoundSource sfxSea
 
SoundSource sfxFire
 
SoundSource sfxEther
 
GameScreen screenElin
 
GameScreenElona screenElona
 
GameScreenNoMap screenNoMap
 
PopperManager popper
 
EloMapActor elomapActor
 
SpriteRenderer srTarget
 
Tileset tileset
 
Material matFloorEx
 
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 1003 of file Scene.cs.

1004 {
1005 ActorEx actorEx = dictActorEx.TryGetValue(c);
1006 if (!(actorEx != null))
1007 {
1008 actorEx = Util.Instantiate<ActorEx>("Scene/Render/Actor/Ex/" + c.trait.IDActorEx);
1009 onBeforeSetOwner?.Invoke(actorEx);
1010 actorEx.SetOwner(c);
1011 dictActorEx.Add(c, actorEx);
1012 }
1013 }
void SetOwner(Card c)
Definition: ActorEx.cs:33
Trait trait
Definition: Card.cs:49
Dictionary< Card, ActorEx > dictActorEx
Definition: Scene.cs:138
virtual string IDActorEx
Definition: Trait.cs:167
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 811 of file Scene.cs.

812 {
813 MapConfig conf;
815 {
816 conf = EMono._map.config;
820 SetOcean(tileMap.passLiquid.mat);
821 SetOcean(tileMap.passFloorWater.mat);
822 SetOcean(tileMap.passAutoTileWater.mat);
823 ScreenGrading grading = camSupport.grading;
824 ScreenGradingProfile.Lut lut = grading.lut;
825 grading.profile.funcOverlay = () => EMono.scene.profile.overlay;
826 if (conf.idLut == "None")
827 {
828 lut.tex = null;
829 }
830 else
831 {
832 lut.tex = Resources.Load<Texture2D>("Scene/Profile/Lut/" + conf.idLut);
833 lut.Brightness = conf.lutBrightness;
834 lut.Saturation = conf.lutSaturation;
835 lut.Contrast = conf.lutContrast;
836 lut.blend = conf.lutBlend;
837 }
838 grading.SetGrading();
839 }
840 void SetOcean(Material m)
841 {
842 m.SetFloat("_GradientWater", EMono.core.config.graphic.gradientWater ? EMono.core.config.graphic.gradientWaterLevel : 0f);
843 if (conf.seaDir != 0)
844 {
845 m.EnableKeyword("WAVE_ON");
846 Vector4[] array = new Vector4[4]
847 {
848 new Vector4(-2f, -1f, -1f, 1f),
849 new Vector4(1f, 0f, 1f, 1f),
850 new Vector4(2f, 1f, -1f, 1f),
851 new Vector4(-1f, 0f, 1f, 1f)
852 };
853 m.SetVector("_WaveDir", array[conf.seaDir - 1]);
854 }
855 else
856 {
857 m.DisableKeyword("WAVE_ON");
858 }
859 }
860 }
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:594
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:62
float lutSaturation
Definition: MapConfig.cs:65
int seaDir
Definition: MapConfig.cs:86
float lutBrightness
Definition: MapConfig.cs:59
string idRefraction
Definition: MapConfig.cs:20
float lutBlend
Definition: MapConfig.cs:56
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:89
CameraSupport camSupport
Definition: Scene.cs:41
SceneProfile profile
Definition: Scene.cs:73

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

146 {
147 InvokeRepeating("RefreshActorEx", 0.5f, 0.5f);
148 }

◆ Clear()

void Scene.Clear ( )
inline

Definition at line 342 of file Scene.cs.

343 {
344 foreach (ISyncScreen sync in syncList)
345 {
346 sync.OnLeaveScreen();
347 }
348 syncList.Clear();
350 ClearActorEx();
352 }
static EffectManager Instance
List< ISyncScreen > syncList
Definition: Scene.cs:131
void ClearActorEx()
Definition: Scene.cs:994
void DestroyPrefabs()
Definition: Scene.cs:1094
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 994 of file Scene.cs.

995 {
996 foreach (ActorEx value in dictActorEx.Values)
997 {
998 value.Kill();
999 }
1000 dictActorEx.Clear();
1001 }
void Kill()
Definition: ActorEx.cs:153

References ActorEx.Kill().

Referenced by Clear().

◆ DestroyPrefab()

void Scene.DestroyPrefab ( string  id)
inline

Definition at line 1103 of file Scene.cs.

1104 {
1105 GameObject gameObject = GameObject.Find(id);
1106 if ((bool)gameObject)
1107 {
1108 UnityEngine.Object.DestroyImmediate(gameObject);
1109 }
1110 }

◆ DestroyPrefabs()

void Scene.DestroyPrefabs ( )
inline

Definition at line 1094 of file Scene.cs.

1095 {
1096 foreach (GameObject loadedPrefab in loadedPrefabs)
1097 {
1098 UnityEngine.Object.Destroy(loadedPrefab);
1099 }
1100 loadedPrefabs.Clear();
1101 }
List< GameObject > loadedPrefabs
Definition: Scene.cs:127

Referenced by Clear().

◆ DrawPass()

void Scene.DrawPass ( )
inline

Definition at line 1046 of file Scene.cs.

1047 {
1048 if (cam.enabled)
1049 {
1050 MeshPass[] array = passes;
1051 for (int i = 0; i < array.Length; i++)
1052 {
1053 array[i].Draw();
1054 }
1055 }
1056 else
1057 {
1058 MeshPass[] array = passes;
1059 for (int i = 0; i < array.Length; i++)
1060 {
1061 array[i].DrawEmpty();
1062 }
1063 }
1064 RefreshSync();
1065 if ((bool)EMono.screen.guide)
1066 {
1068 }
1069 }
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:115
void RefreshSync()
Definition: Scene.cs:1071
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 799 of file Scene.cs.

800 {
801 if (a >= 1)
802 {
803 EMono.core.screen.Focus(pos);
804 }
805 if (a >= 2)
806 {
808 }
809 }
static AM_Sim Sim
Definition: ActionMode.cs:11
void Pause(bool sound=false)
Definition: ActionMode.cs:1469
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 172 of file Scene.cs.

173 {
174 Debug.Log("Scene.Init:" + newMode);
175 EMono.ui.RemoveLayers();
178 mode = newMode;
179 switch (newMode)
180 {
181 case Mode.None:
182 if (EMono.game != null)
183 {
184 EMono.game.Kill();
185 }
186 EMono.ui.RemoveLayers();
188 break;
189 case Mode.Title:
190 SoundManager.bgmVolumeMod = (SoundManager.bgmDumpMod = 0f);
191 if (EMono.game != null)
192 {
193 EMono.game.Kill();
194 }
195 EMono.ui.AddLayer<LayerTitle>();
196 if (!isAnnounced)
197 {
198 isAnnounced = true;
199 EMono.ui.AddLayer("LayerAnnounce").SetOnKill(TryWarnMacScreen);
200 }
201 else
202 {
204 }
207 break;
208 case Mode.StartGame:
209 EMono.ui.RemoveLayer<LayerTitle>();
210 EMono.ui.ShowCover();
211 Init(Mode.Zone);
212 break;
213 case Mode.Zone:
214 EMono.player.target = null;
215 UIBook.str_pc = EMono.pc.NameSimple;
216 if (EMono.player.zone == null)
217 {
218 Player obj = EMono.player;
219 Zone zone = (EMono.pc.currentZone = EMono.pc.homeZone);
220 obj.zone = zone;
221 }
222 EMono.core.config.game.ignoreWarnCrime = (EMono.core.config.game.ignoreWarnMana = (EMono.core.config.game.ignoreWarnDisassemble = (EMono.core.config.game.ignoreWarnSlaughter = false)));
224 CellDetail.count = 0;
225 skipAnime = true;
226 EMono.player.baseActTime = EMono.setting.defaultActPace;
227 EMono.player.Agent.renderer.isSynced = true;
228 EMono.player.Agent.currentZone = EMono.player.zone;
229 Point._screen = (EMono.player.zone.IsRegion ? ((BaseGameScreen)screenElona) : ((BaseGameScreen)screenElin));
235 Popper.scale = (EMono._zone.IsRegion ? new Vector3(1.7f, 1.7f, 1f) : Vector3.one);
237 {
239 }
240 else if (EMono.player.zone is Region)
241 {
243 }
244 else
245 {
247 }
248 if (EMono.game.altCraft)
249 {
250 if (EMono._zone.IsRegion)
251 {
252 if ((bool)EMono.ui.layerFloat.GetLayer<LayerCraftFloat>())
253 {
254 EMono.ui.layerFloat.RemoveLayer<LayerCraftFloat>();
255 }
256 }
257 else if (!EMono.ui.layerFloat.GetLayer<LayerCraftFloat>())
258 {
259 EMono.ui.layerFloat.AddLayer<LayerCraftFloat>();
260 }
261 }
262 EMono.screen.tileMap.activeCount = 0;
270 if (EMono.ui.hud.imageCover.gameObject.activeSelf && !EMono.player.simulatingZone)
271 {
272 EMono.ui.HideCover(4f);
273 }
275 {
276 EMono.game.Save();
277 }
278 foreach (Thing thing in EMono._map.things)
279 {
280 if (thing.IsInstalled)
281 {
282 thing.trait.TryToggle();
283 }
284 }
286 if (EMono.player.onStartZone != null)
287 {
289 EMono.player.onStartZone = null;
290 }
291 ActionMode.LastBuildMode = null;
292 if (ActionMode.Adv.IsActive && (EInput.leftMouse.pressing || EInput.axis != Vector2.zero))
293 {
297 }
299 {
301 }
303 flock.SetSpawnType(EMono._zone.FlockType);
305 {
306 if (EMono._zone == EMono.pc.homeZone)
307 {
308 EMono.pc.faith.Revelation("welcome");
309 }
310 if (EMono._zone.Boss != null && EMono._zone.Boss.ExistsOnMap)
311 {
313 }
315 }
317 if (EMono.player.questTracker && !EMono.ui.widgets.GetWidget("QuestTracker"))
318 {
319 EMono.ui.widgets.Activate("QuestTracker");
320 }
321 if ((EMono._zone is Zone_Town || EMono._zone is Zone_Tent) && !EMono._zone.isMapSaved && !EMono.debug.ignoreAutoSave)
322 {
323 EMono.game.Save();
324 }
325 break;
326 }
327 etherBlossom.SetActive(mode == Mode.Zone && EMono._zone is Zone_WindRest);
328 }
void SetPressedAction(ButtonState button)
Definition: AM_Adv.cs:1158
void SetManualMove()
Definition: AM_Adv.cs:1148
virtual void RefreshArrow()
Definition: AM_Adv.cs:1307
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 SetZoom(float z)
virtual float TargetZoom
static void Deactivate()
Definition: BuildMenu.cs:173
bool pressing
Definition: ButtonState.cs:35
bool ExistsOnMap
Definition: Card.cs:1961
void RecalculateFOV()
Definition: Card.cs:5616
Point pos
Definition: Card.cs:55
bool IsInstalled
Definition: Card.cs:2241
string NameSimple
Definition: Card.cs:2015
override bool IsAliveInCurrentZone
Definition: Chara.cs:546
string NameBraced
Definition: Chara.cs:499
Zone homeZone
Definition: Chara.cs:252
Religion faith
Definition: Chara.cs:424
bool IsInActiveZone
Definition: Chara.cs:791
new GameConfig game
Definition: CoreConfig.cs:596
void ApplyGrading()
Definition: CoreConfig.cs:939
bool ignoreAutoSave
Definition: CoreDebug.cs:125
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:229
bool Save(bool isAutoSave=false, bool silent=false)
Definition: Game.cs:960
void Kill()
Definition: Game.cs:1030
GameUpdater updater
Definition: Game.cs:243
QuestManager quests
Definition: Game.cs:179
bool altCraft
Definition: Game.cs:265
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:635
Definition: Player.cs:11
Flags flags
Definition: Player.cs:895
Action onStartZone
Definition: Player.cs:1018
bool questTracker
Definition: Player.cs:790
Zone zone
Definition: Player.cs:883
bool simulatingZone
Definition: Player.cs:980
void RefreshEmptyAlly()
Definition: Player.cs:1403
void RefreshCurrentHotItem()
Definition: Player.cs:1977
HotbarManager hotbars
Definition: Player.cs:886
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:121
static bool skipAnime
Definition: Scene.cs:25
void TryWarnMacScreen()
Definition: Scene.cs:150
static bool isAnnounced
Definition: Scene.cs:19
ParticleSystem etherBlossom
Definition: Scene.cs:61
GameScreenNoMap screenNoMap
Definition: Scene.cs:93
FlockController flock
Definition: Scene.cs:67
GameScreenElona screenElona
Definition: Scene.cs:91
void Init(Mode newMode)
Definition: Scene.cs:172
Mode
Definition: Scene.cs:10
void UpdateTimeRatio()
Definition: Scene.cs:754
static void Reset()
Definition: ScreenFlash.cs:18
virtual bool IsRegion
Definition: Spatial.cs:501
virtual string Name
Definition: Spatial.cs:495
Definition: Thing.cs:8
virtual void TryToggle()
Definition: Trait.cs:1084
void RefreshWeather()
Definition: Weather.cs:168
static void Refresh()
Definition: WidgetDate.cs:147
static void OnChangeMode()
Weather weather
Definition: World.cs:12
void Activate()
Definition: Zone.cs:577
virtual FlockController.SpawnType FlockType
Definition: Zone.cs:408
Chara Boss
Definition: Zone.cs:83

References EMono._map, EMono._zone, BaseGameScreen.Activate(), Zone.Activate(), ActionMode.Activate(), ActionMode.Adv, Game.altCraft, CoreConfig.ApplyGrading(), CoreConfig.GameConfig.autoSave, EInput.axis, Zone.Boss, 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, 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, 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 1025 of file Scene.cs.

1026 {
1027 MeshPass[] array = passes;
1028 for (int i = 0; i < array.Length; i++)
1029 {
1030 array[i].Init();
1031 }
1032 foreach (ModItem<Sprite> item in MOD.sprites.list)
1033 {
1034 Sprite sprite = SpriteSheet.Get(item.id);
1035 if ((bool)sprite)
1036 {
1037 Sprite @object = item.GetObject(new SpriteLoadOption
1038 {
1039 pivot = new Vector2(sprite.pivot.x / (sprite.bounds.size.x * 100f), sprite.pivot.y / (sprite.bounds.size.y * 100f))
1040 });
1041 SpriteSheet.dict[item.id] = @object;
1042 }
1043 }
1044 }
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 1086 of file Scene.cs.

1087 {
1088 Transform transform = Util.Instantiate<Transform>("Scene/Prefab/" + id);
1089 transform.name = id;
1090 loadedPrefabs.Add(transform.gameObject);
1091 return transform;
1092 }

References Util.

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

◆ OnChangeHour()

void Scene.OnChangeHour ( )
inline

Definition at line 764 of file Scene.cs.

765 {
770 if ((bool)EMono.screen.pcOrbit)
771 {
773 }
776 foreach (Transform componentsInDirectChild in EMono.ui.rectDynamic.GetComponentsInDirectChildren<Transform>())
777 {
778 if (componentsInDirectChild.gameObject.tag != "IgnoreDestroy" && !componentsInDirectChild.GetComponent<TC>())
779 {
780 UnityEngine.Object.Destroy(componentsInDirectChild.gameObject);
781 }
782 }
783 }
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(), GameDate.AdvanceHour(), and DramaManager.ParseLine().

◆ OnKillGame()

void Scene.OnKillGame ( )
inline

Definition at line 330 of file Scene.cs.

331 {
334 hideBalloon = false;
335 actionMode = null;
336 PCC.PurgeCache();
337 Clear();
338 flock.Reset();
340 }
void Deactivate()
Definition: ActionMode.cs:529
void OnKillGame()
Definition: EloMapActor.cs:88
void Clear()
Definition: PointTarget.cs:220
EloMapActor elomapActor
Definition: Scene.cs:97
void Clear()
Definition: Scene.cs:342
bool hideBalloon
Definition: Scene.cs:141
ActionMode actionMode
Definition: Scene.cs:77
PointTarget mouseTarget
Definition: Scene.cs:129

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

734 {
735 DrawPass();
737 }
static CursorSystem Instance
Definition: CursorSystem.cs:6
void DrawPass()
Definition: Scene.cs:1046

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

Referenced by Core.LateUpdate().

◆ OnToggle()

void Scene.OnToggle ( )
inline

◆ OnUpdate()

void Scene.OnUpdate ( )
inline

Definition at line 354 of file Scene.cs.

355 {
356 SoundManager.speed = (EMono.core.IsGameStarted ? Mathf.Clamp(actionMode.gameSpeed * 0.75f, 1f, 2f) : 1f);
358 EMono.ui.RefreshActiveState();
359 bool isShiftDown = EInput.isShiftDown;
360 if ((bool)UIDropdown.activeInstance)
361 {
363 }
364 else
365 {
366 EInput.Update();
367 }
370 {
371 if (input.middleClick == CoreConfig.GameFunc.EmuShift || input.middlePressLong == CoreConfig.GameFunc.EmuShift)
372 {
373 EInput.isShiftDown = true;
374 }
375 if (input.middleClick == CoreConfig.GameFunc.EmuAlt || input.middlePressLong == CoreConfig.GameFunc.EmuAlt)
376 {
377 EInput.isAltDown = true;
378 }
379 }
381 {
382 if (input.mouse3Click == CoreConfig.GameFunc.EmuShift || input.mouse3PressLong == CoreConfig.GameFunc.EmuShift)
383 {
384 EInput.isShiftDown = true;
385 }
386 if (input.mouse3Click == CoreConfig.GameFunc.EmuAlt || input.mouse3PressLong == CoreConfig.GameFunc.EmuAlt)
387 {
388 EInput.isAltDown = true;
389 }
390 }
392 {
393 if (input.mouse4Click == CoreConfig.GameFunc.EmuShift || input.mouse4PressLong == CoreConfig.GameFunc.EmuShift)
394 {
395 EInput.isShiftDown = true;
396 }
397 if (input.mouse4Click == CoreConfig.GameFunc.EmuAlt || input.mouse4PressLong == CoreConfig.GameFunc.EmuAlt)
398 {
399 EInput.isAltDown = true;
400 }
401 }
402 EInput.hasShiftChanged = EInput.isShiftDown != isShiftDown;
403 Layer.cancelKeyDown = EInput.isCancel;
404 Layer.rightClicked = EInput.rightMouse.down;
405 int num = EInput.wheel;
406 if (num != 0)
407 {
408 if (EMono.ui.isPointerOverUI)
409 {
410 if (!EMono.ui.GetLayer<LayerConfig>())
411 {
412 UIDropdown componentOf = InputModuleEX.GetComponentOf<UIDropdown>();
413 if ((bool)componentOf && !UIDropdown.activeInstance)
414 {
415 if (num < 0)
416 {
417 componentOf.Next();
418 }
419 else if (num > 0)
420 {
421 componentOf.Prev();
422 }
423 num = (EInput.wheel = 0);
424 }
425 Slider componentOf2 = InputModuleEX.GetComponentOf<Slider>();
426 if ((bool)componentOf2 && (bool)EMono.ui.GetLayer<LayerEditPCC>())
427 {
428 SE.Tab();
429 componentOf2.value += (componentOf2.wholeNumbers ? ((float)num) : (0.1f * (float)num));
430 num = (EInput.wheel = 0);
431 }
432 }
434 {
435 DropdownGrid componentOf3 = InputModuleEX.GetComponentOf<DropdownGrid>();
436 if ((bool)componentOf3)
437 {
438 if (num < 0)
439 {
440 componentOf3.Next();
441 }
442 else if (num > 0)
443 {
444 componentOf3.Prev();
445 }
446 num = (EInput.wheel = 0);
447 }
448 }
449 if (EMono.ui.contextMenu.isActive)
450 {
451 Slider componentOf4 = InputModuleEX.GetComponentOf<Slider>();
452 if ((bool)componentOf4)
453 {
454 componentOf4.value += (componentOf4.wholeNumbers ? ((float)num) : (0.1f * (float)num));
455 num = (EInput.wheel = 0);
456 SE.Tab();
457 }
458 }
459 UIScrollView componentOf5 = InputModuleEX.GetComponentOf<UIScrollView>();
460 if ((bool)componentOf5)
461 {
462 num = (EInput.wheel = 0);
463 if (componentOf5.verticalScrollbar.isActiveAndEnabled)
464 {
465 EMono.ui.HideMouseHint();
466 }
467 }
468 UIButton componentOf6 = InputModuleEX.GetComponentOf<UIButton>();
469 if ((bool)componentOf6 && componentOf6.onInputWheel != null)
470 {
471 componentOf6.onInputWheel(num);
472 num = (EInput.wheel = 0);
473 }
474 }
475 if (num != 0)
476 {
477 Layer layer = (EMono.ui.IsActive ? EMono.ui.GetTopLayer() : LayerAbility.Instance);
478 if (layer != null && layer.windows.Count > 0)
479 {
480 Window window = layer.windows[0];
481 if (InputModuleEX.IsPointerChildOf(window.rectTab) && !DropdownGrid.IsActive && window.NextTab(num))
482 {
483 num = (EInput.wheel = 0);
484 }
485 }
486 }
487 }
489 {
491 EInput.Consume();
492 }
493 switch (mode)
494 {
495 case Mode.Title:
497 {
498 timeRatio = 0f;
500 }
501 godray.SetActive(enable: false);
502 UpdateCursor();
503 EMono.ui.UpdateInput();
504 break;
505 case Mode.Zone:
506 {
508 {
509 break;
510 }
512 {
514 }
516 {
517 srTarget.enabled = true;
518 Vector3 position = EMono.player.target.pos.PositionCenter();
519 position.y += EMono.player.target.renderer.data.size.y;
520 position.z -= 10f;
521 srTarget.transform.parent.position = position;
522 }
523 else
524 {
525 srTarget.enabled = false;
526 }
527 EMono.player.pickupDelay -= Core.delta;
528 if (EMono.player.pickupDelay < 0f)
529 {
530 EMono.player.pickupDelay = 0f;
531 }
533 paused = EMono.ui.IsPauseGame || actionMode.ShouldPauseGame || Game.IsWaiting;
535 if (!EMono.pc.isDead)
536 {
537 if (AI_PlayMusic.keepPlaying && EInput.skipFrame <= 0 && Input.anyKeyDown && !Input.GetKey(KeyCode.Tab) && !Input.GetKey(KeyCode.LeftAlt))
538 {
540 }
542 }
543 else
544 {
545 EMono.ui.UpdateInput();
546 }
548 {
550 if (!LayerDrama.IsActive())
551 {
553 }
554 }
556 {
557 EMono.player.deathDialog = true;
558 EMono.player.returnInfo = null;
559 EMono.player.ignoreFallOver = 1;
560 Msg.Say("diebye");
561 EMono.Sound.Play("dead_pc2");
562 EMono.Sound.Play("dead_pc");
563 string[] list = Lang.GetList("lastWords");
564 string lastWord = list.RandomItem();
566 {
568 }
569 EMono.ui.CloseLayers();
570 if ((bool)UIContextMenu.Current)
571 {
573 }
574 EInput.haltInput = false;
575 Dialog.InputName("dialogLastword", lastWord, delegate(bool cancel, string text)
576 {
577 if (!cancel)
578 {
579 lastWord = text;
580 }
581 Player obj = EMono.player;
582 obj.deathMsg = obj.deathMsg + Lang.space + lastWord.Bracket(1);
584 {
585 Net.SendChat(EMono.pc.NameTitled, EMono.player.deathMsg, ChatCategory.Dead, Lang.langCode);
586 }
587 Debug.Log(lastWord);
589 Msg.Say(lastWord.Bracket(1));
590 List<string> list2 = new List<string>();
592 bool addTownRevive = lastTown != null && !EMono._zone.IsInstance;
594 {
595 if (addTownRevive)
596 {
597 list2.Add("pc_revive_town".lang(lastTown.Name));
598 }
599 list2.Add("pc_revive");
600 list2.Add("pc_gameover");
601 }
602 else
603 {
604 list2.Add("pc_gameover");
605 }
606 Debug.Log(list2.Count);
607 EMono.ui.AddLayer<LayerCover>().SetDuration(1f, delegate
608 {
609 EMono.ui.CloseLayers();
610 Dialog.List("pc_deathChoice".lang(), list2, (string j) => j, delegate(int c, string d)
611 {
612 EMono.player.deathDialog = false;
613 if (!EMono.game.principal.permadeath && (c == 0 || (addTownRevive && c == 1)))
614 {
615 EMono.pc.MakeGrave(lastWord);
616 EMono.pc.Revive();
617 EMono.pc.RecalculateFOV();
618 Zone zone = EMono.player.spawnZone ?? EMono.pc.homeZone;
619 if (addTownRevive && c == 0)
620 {
621 zone = lastTown;
622 }
623 if (EMono.game.activeZone == zone)
624 {
625 EMono.pc.Teleport(EMono._zone.GetSpawnPos(EMono.pc, ZoneTransition.EnterState.Return), silent: true, force: true);
626 }
627 else
628 {
629 EMono.player.deathZoneMove = true;
630 EMono.pc.MoveZone(zone, ZoneTransition.EnterState.Return);
631 }
632 EMono.screen.FocusPC();
633 Msg.Say("crawlup");
634 if (EMono.player.stats.death == 0)
635 {
636 Tutorial.Reserve("death");
637 }
638 EMono.player.stats.death++;
639 }
640 else
641 {
642 EMono.game.GotoTitle(showDialog: false);
643 }
644 return true;
645 });
646 });
647 });
648 }
649 UpdateCursor();
651 EMono.Sound.UpdateBGM();
654 {
656 }
657 if (WidgetEquip.dirty)
658 {
660 }
662 {
663 foreach (Chara member in EMono.pc.party.members)
664 {
665 member.CalcBurden();
666 }
667 EMono.player.wasDirtyWeight = false;
668 }
669 if (!EMono.ui.IsActive)
670 {
672 }
673 else if (EMono.ui.mouseInfo.gameObject.activeSelf)
674 {
675 EMono.ui.mouseInfo.SetText();
676 }
677 EMono.screen.Draw();
680 {
681 break;
682 }
683 if (!EMono.ui.GetLayer<LayerDrama>())
684 {
686 {
687 case ZoneTransition.EnterState.Fall:
688 EMono.pc.PlaySound("fall");
689 EMono.pc.PlayAnime(AnimeID.FallSky);
690 EMono.pc.DamageHP((20 + EMono.rnd(30) + ((EMono.player.lastTransition.lastZone is Zone_Casino) ? 1000 : 0)) / ((!EMono.pc.IsLevitating) ? 1 : 10), AttackSource.Fall);
691 break;
692 case ZoneTransition.EnterState.Elevator:
693 EMono.pc.PlaySound("elevator");
694 break;
695 case ZoneTransition.EnterState.PortalReturn:
696 case ZoneTransition.EnterState.Return:
697 case ZoneTransition.EnterState.Teleport:
698 case ZoneTransition.EnterState.Moongate:
699 EMono.pc.PlayEffect("teleport");
700 EMono.pc.PlaySound("return");
701 break;
702 default:
703 SE.MoveZone();
704 break;
705 case ZoneTransition.EnterState.Encounter:
706 break;
707 }
708 }
709 bool flag = (EMono.rnd(5) == 0 && EMono.pc.burden.GetPhase() >= 3) || EMono.pc.burden.GetPhase() >= 4;
711 {
712 flag = false;
713 }
715 {
716 flag = flag;
718 }
719 if (flag)
720 {
721 EMono.pc.Stumble();
722 }
723 EMono.player.lastTransition = null;
724 break;
725 }
726 default:
727 UpdateCursor();
728 EMono.ui.UpdateInput();
729 break;
730 }
731 }
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)
void DamageHP(int dmg, AttackSource attackSource=AttackSource.None, Card origin=null)
Definition: Card.cs:3735
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5404
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:5438
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:5423
CardRenderer renderer
Definition: Card.cs:57
Definition: Chara.cs:10
bool IsLevitating
Definition: Chara.cs:582
Party party
Definition: Chara.cs:43
override bool isSynced
Definition: Chara.cs:676
Zone currentZone
Definition: Chara.cs:240
void Stumble(int mtp=100)
Definition: Chara.cs:1588
Stats burden
Definition: Chara.cs:953
GlobalData global
Definition: Chara.cs:73
bool isDead
Definition: Chara.cs:374
void CalcBurden()
Definition: Chara.cs:1573
NetSetting net
Definition: CoreConfig.cs:598
InputSetting input
Definition: CoreConfig.cs:602
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:10
static void DeleteGame(string id, bool cloud, bool deleteBackup=true)
Definition: GameIO.cs:264
void Update()
Definition: GameUpdater.cs:457
Definition: Game.cs:8
static bool IsWaiting
Definition: Game.cs:255
GamePrincipal principal
Definition: Game.cs:221
static string id
Definition: Game.cs:147
SpatialManager spatials
Definition: Game.cs:152
bool isCloud
Definition: Game.cs:239
Zone activeZone
Definition: Game.cs:245
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:18
void OnLeaveZone()
Definition: Player.cs:663
int uidLastTown
Definition: Player.cs:745
ZoneTransition lastTransition
Definition: Player.cs:944
float pickupDelay
Definition: Player.cs:1002
bool wasDirtyWeight
Definition: Player.cs:964
int ignoreFallOver
Definition: Player.cs:996
Chara target
Definition: Player.cs:1032
void MoveZone(Zone z)
Definition: Player.cs:1814
bool deathDialog
Definition: Player.cs:966
ref Vector3 PositionCenter()
Definition: Point.cs:563
Vector2 size
Definition: RenderData.cs:30
RenderData data
Definition: RenderObject.cs:34
float timeRatio
Definition: Scene.cs:124
ParticleSystem godray
Definition: Scene.cs:55
void UpdateCursor()
Definition: Scene.cs:739
bool paused
Definition: Scene.cs:134
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:2636
bool IsInstance
Definition: Zone.cs:480
bool dirtyElectricity
Definition: Zone.cs:68

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(), 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, 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 974 of file Scene.cs.

975 {
976 foreach (Thing thing in EMono._map.things)
977 {
978 if (!thing.trait.IDActorEx.IsEmpty())
979 {
980 AddActorEx(thing);
981 }
982 }
983 }
void AddActorEx(Card c, Action< ActorEx > onBeforeSetOwner=null)
Definition: Scene.cs:1003

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

◆ RefreshActorEx()

void Scene.RefreshActorEx ( )
inline

Definition at line 985 of file Scene.cs.

986 {
987 SoundManager.bgmDumpMod = 0f;
988 foreach (ActorEx value in dictActorEx.Values)
989 {
990 value.Refresh();
991 }
992 }
void Refresh()
Definition: ActorEx.cs:91

References ActorEx.Refresh().

◆ RefreshBG()

void Scene.RefreshBG ( )
inline

Definition at line 785 of file Scene.cs.

786 {
789 {
790 bg = EMono.setting.render.bgs[MapBG.Snow];
791 }
792 skyBG.SetActive(bg.skyBox);
793 skyBG.sharedMaterial = bg.mat;
794 skyPlane.SetActive(bg.plane);
795 skyPlane.sharedMaterial = bg.mat;
796 cam.clearFlags = ((!EMono.core.config.graphic.alwaysClearCamera && bg.skyBox) ? CameraClearFlags.Depth : CameraClearFlags.Color);
797 }
MapBG
Definition: MapBG.cs:2
RenderSetting render
Definition: GameSetting.cs:301
MapBG bg
Definition: MapConfig.cs:74
GameSetting.RenderSetting.MapBGSetting bg
Definition: Scene.cs:118
MeshRenderer skyPlane
Definition: Scene.cs:71
MeshRenderer skyBG
Definition: Scene.cs:69
virtual bool IsSnowZone
Definition: Spatial.cs:528

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

1072 {
1073 for (int num = syncList.Count - 1; num >= 0; num--)
1074 {
1075 ISyncScreen syncScreen = syncList[num];
1076 if (syncScreen.Sync != syncFrame)
1077 {
1078 syncScreen.OnLeaveScreen();
1079 syncList.RemoveAt(num);
1080 }
1081 }
1082 syncFrame++;
1083 RenderObject.syncFrame = syncFrame;
1084 }
long syncFrame
Definition: Scene.cs:136

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

◆ RemoveActorEx()

void Scene.RemoveActorEx ( Card  c)
inline

Definition at line 1015 of file Scene.cs.

1016 {
1017 ActorEx actorEx = dictActorEx.TryGetValue(c);
1018 if (!(actorEx == null))
1019 {
1020 actorEx.Kill();
1021 dictActorEx.Remove(c);
1022 }
1023 }

References ActorEx.Kill().

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

◆ ToggleBalloon()

void Scene.ToggleBalloon ( )
inline

Definition at line 955 of file Scene.cs.

956 {
958 EMono.ui.ShowBalloon(!hideBalloon);
959 SE.ClickGeneral();
961 }

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

Referenced by HotItemToggle.OnClick().

◆ ToggleBirdView()

void Scene.ToggleBirdView ( bool  sound = true)
inline

Definition at line 942 of file Scene.cs.

943 {
944 SE.ClickGeneral();
946 {
948 }
949 else
950 {
952 }
953 }
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 892 of file Scene.cs.

893 {
895 {
896 SE.Beep();
897 return;
898 }
899 EMono.game.config.freePos = !EMono.game.config.freePos;
900 OnToggle();
901 }
bool freePos
Definition: Game.cs:30
Config config
Definition: Game.cs:215
void OnToggle()
Definition: Scene.cs:862

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

937 {
938 EMono.game.config.highlightArea = !EMono.game.config.highlightArea;
939 OnToggle();
940 }
bool highlightArea
Definition: Game.cs:39

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

◆ ToggleLight()

void Scene.ToggleLight ( )
inline

Definition at line 875 of file Scene.cs.

876 {
877 EMono.game.config.buildLight = !EMono.game.config.buildLight;
878 OnToggle();
879 }
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 963 of file Scene.cs.

964 {
966 SE.ClickGeneral();
968 if (!EMono.Sound.muteBGM)
969 {
971 }
972 }
SoundSetting sound
Definition: CoreConfig.cs:590
void ApplyVolume()
Definition: CoreConfig.cs:979

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

910 {
911 EMono.game.config.noRoof = !EMono.game.config.noRoof;
912 OnToggle();
913 }
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 869 of file Scene.cs.

870 {
871 EMono.game.config.showRoof = !EMono.game.config.showRoof;
872 OnToggle();
873 }
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 903 of file Scene.cs.

904 {
905 EMono.game.config.showWall = !EMono.game.config.showWall;
906 OnToggle();
907 }
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 915 of file Scene.cs.

916 {
917 EMono.game.config.slope = !EMono.game.config.slope;
918 OnToggle();
919 skipAnime = true;
920 }
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 881 of file Scene.cs.

882 {
884 {
885 SE.Beep();
886 return;
887 }
888 EMono.game.config.snapFreePos = !EMono.game.config.snapFreePos;
889 OnToggle();
890 }
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 922 of file Scene.cs.

923 {
924 if (EMono._zone.IsRegion)
925 {
926 EMono.game.config.tiltRegion = !EMono.game.config.tiltRegion;
927 }
928 else
929 {
930 EMono.game.config.tilt = !EMono.game.config.tilt;
931 }
933 OnToggle();
934 }
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 161 of file Scene.cs.

162 {
164 {
165 Dialog.TryWarn("warn_linuxMod", delegate
166 {
167 Application.OpenURL(Lang.isJP ? "https://ylvania.org/elin_dev.html" : "https://ylvania.org/elin_dev_e.html");
168 }, yes: false);
169 }
170 }
bool ignoreLinuxModWarning
Definition: CoreConfig.cs:584
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 150 of file Scene.cs.

151 {
152 if (!EMono.core.config.ignoreParallelsWarning && SystemInfo.graphicsDeviceName.Contains("Parallels Display"))
153 {
154 Dialog.TryWarn("warn_parallels", delegate
155 {
156 Application.OpenURL(Lang.isJP ? "https://ylvania.org/elin_dev.html" : "https://ylvania.org/elin_dev_e.html");
157 }, yes: false);
158 }
159 }
bool ignoreParallelsWarning
Definition: CoreConfig.cs:582

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

Referenced by Init().

◆ UpdateCursor()

void Scene.UpdateCursor ( )
inline

Definition at line 739 of file Scene.cs.

740 {
741 CursorSystem.position = EInput.mposWorld;
742 CursorSystem.position.z = -100f;
744 {
745 CursorSystem.posOrigin = EMono.screen.position.SetZ(-100f);
747 }
748 else
749 {
751 }
752 }
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 754 of file Scene.cs.

755 {
756 float num = ((EMono._map.config.hour != -1) ? ((float)EMono._map.config.hour) : ((float)EMono.world.date.hour + (float)EMono.world.date.min / 60f));
757 if (num > 12f)
758 {
759 num = 24f - num;
760 }
761 timeRatio = Mathf.Clamp(num * 100f / 24f * 0.01f + EMono.setting.dayRatioMod, 0f, 1f);
762 }
int min
Definition: Date.cs:86
float dayRatioMod
Definition: GameSetting.cs:321
int hour
Definition: MapConfig.cs:92
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 118 of file Scene.cs.

Referenced by BaseTileMap.Draw().

◆ blizzards

ParticleSystem [] Scene.blizzards

Definition at line 65 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

◆ 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().

◆ dictActorEx

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

Definition at line 138 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 75 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 141 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 127 of file Scene.cs.

◆ matFloorEx

Material Scene.matFloorEx

Definition at line 103 of file Scene.cs.

Referenced by BaseGameScreen.RefreshAll().

◆ mode

Mode Scene.mode

Definition at line 121 of file Scene.cs.

Referenced by Init(), and OnUpdate().

◆ mouseTarget

◆ passes

MeshPass [] Scene.passes

Definition at line 115 of file Scene.cs.

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

◆ paused

bool Scene.paused

◆ popper

PopperManager Scene.popper

Definition at line 95 of file Scene.cs.

Referenced by Card.DamageHP(), 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 113 of file Scene.cs.

Referenced by BaseTileMap.DrawTile().

◆ psFoot

ParticleSystem Scene.psFoot

Definition at line 105 of file Scene.cs.

Referenced by Chara._Move().

◆ psRainSplash

ParticleSystem Scene.psRainSplash

Definition at line 109 of file Scene.cs.

Referenced by GameUpdater.Update100ms().

◆ psRainSplashWater

ParticleSystem Scene.psRainSplashWater

Definition at line 111 of file Scene.cs.

Referenced by GameUpdater.Update100ms().

◆ psSmoke

ParticleSystem Scene.psSmoke

Definition at line 107 of file Scene.cs.

Referenced by Chara._Move().

◆ rain

ParticleSystem Scene.rain

◆ screenElin

◆ screenElona

GameScreenElona Scene.screenElona

◆ screenNoMap

GameScreenNoMap Scene.screenNoMap

Definition at line 93 of file Scene.cs.

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

◆ sfxEther

SoundSource Scene.sfxEther

Definition at line 87 of file Scene.cs.

◆ sfxFire

SoundSource Scene.sfxFire

Definition at line 85 of file Scene.cs.

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

◆ sfxRain

SoundSource Scene.sfxRain

◆ sfxSea

SoundSource Scene.sfxSea

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

Referenced by GameScreenElona.OnActivate().

◆ skyPlane

MeshRenderer Scene.skyPlane

Definition at line 71 of file Scene.cs.

◆ snow

ParticleSystem Scene.snow

◆ srTarget

SpriteRenderer Scene.srTarget

Definition at line 99 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 136 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 101 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: