Elin Decompiled Documentation EA 23.153 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 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 1015 of file Scene.cs.

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

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

1007 {
1008 foreach (ActorEx value in dictActorEx.Values)
1009 {
1010 value.Kill();
1011 }
1012 dictActorEx.Clear();
1013 }
void Kill()
Definition: ActorEx.cs:153

References ActorEx.Kill().

Referenced by Clear().

◆ DestroyPrefab()

void Scene.DestroyPrefab ( string  id)
inline

Definition at line 1115 of file Scene.cs.

1116 {
1117 GameObject gameObject = GameObject.Find(id);
1118 if ((bool)gameObject)
1119 {
1120 UnityEngine.Object.DestroyImmediate(gameObject);
1121 }
1122 }

◆ DestroyPrefabs()

void Scene.DestroyPrefabs ( )
inline

Definition at line 1106 of file Scene.cs.

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

Referenced by Clear().

◆ DrawPass()

void Scene.DrawPass ( )
inline

Definition at line 1058 of file Scene.cs.

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

812 {
813 if (a >= 1)
814 {
815 EMono.core.screen.Focus(pos);
816 }
817 if (a >= 2)
818 {
820 }
821 }
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 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 }
313 flock.SetSpawnType(EMono._zone.FlockType);
315 {
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: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 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:2021
void RecalculateFOV()
Definition: Card.cs:5988
Point pos
Definition: Card.cs:55
bool IsInstalled
Definition: Card.cs:2317
string NameSimple
Definition: Card.cs:2075
override bool IsAliveInCurrentZone
Definition: Chara.cs:557
string NameBraced
Definition: Chara.cs:510
Zone homeZone
Definition: Chara.cs:263
Religion faith
Definition: Chara.cs:435
bool IsInActiveZone
Definition: Chara.cs:834
new GameConfig game
Definition: CoreConfig.cs:600
void ApplyGrading()
Definition: CoreConfig.cs:947
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:948
void Kill()
Definition: Game.cs:1018
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:647
Definition: Player.cs:11
Flags flags
Definition: Player.cs:910
Action onStartZone
Definition: Player.cs:1033
bool questTracker
Definition: Player.cs:805
Zone zone
Definition: Player.cs:898
bool simulatingZone
Definition: Player.cs:995
void RefreshEmptyAlly()
Definition: Player.cs:1418
void RefreshCurrentHotItem()
Definition: Player.cs:1998
HotbarManager hotbars
Definition: Player.cs:901
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:766
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:1122
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:579
virtual FlockController.SpawnType FlockType
Definition: Zone.cs:410
Chara Boss
Definition: Zone.cs:83
virtual bool IsUnderwater
Definition: Zone.cs:264

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

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

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

References Util.

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

◆ OnChangeHour()

void Scene.OnChangeHour ( )
inline

Definition at line 776 of file Scene.cs.

777 {
782 if ((bool)EMono.screen.pcOrbit)
783 {
785 }
788 foreach (Transform componentsInDirectChild in EMono.ui.rectDynamic.GetComponentsInDirectChildren<Transform>())
789 {
790 if (componentsInDirectChild.gameObject.tag != "IgnoreDestroy" && !componentsInDirectChild.GetComponent<TC>())
791 {
792 UnityEngine.Object.Destroy(componentsInDirectChild.gameObject);
793 }
794 }
795 }
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 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 745 of file Scene.cs.

746 {
747 DrawPass();
749 }
static CursorSystem Instance
Definition: CursorSystem.cs:6
void DrawPass()
Definition: Scene.cs:1058

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), 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 }
651 else
652 {
653 EMono.game.GotoTitle(showDialog: false);
654 }
655 return true;
656 });
657 });
658 });
659 }
660 UpdateCursor();
662 EMono.Sound.UpdateBGM();
665 {
667 }
668 if (WidgetEquip.dirty)
669 {
671 }
673 {
674 foreach (Chara member in EMono.pc.party.members)
675 {
676 member.CalcBurden();
677 }
678 EMono.player.wasDirtyWeight = false;
679 }
680 if (!EMono.ui.IsActive)
681 {
683 }
684 else if (EMono.ui.mouseInfo.gameObject.activeSelf)
685 {
686 EMono.ui.mouseInfo.SetText();
687 }
688 EMono.screen.Draw();
692 {
693 break;
694 }
695 if (!EMono.ui.GetLayer<LayerDrama>())
696 {
698 {
699 case ZoneTransition.EnterState.Fall:
700 EMono.pc.PlaySound("fall");
701 EMono.pc.PlayAnime(AnimeID.FallSky);
702 EMono.pc.DamageHP((20 + EMono.rnd(30) + ((EMono.player.lastTransition.lastZone is Zone_Casino) ? 1000 : 0)) / ((!EMono.pc.IsLevitating) ? 1 : 10), AttackSource.Fall);
703 break;
704 case ZoneTransition.EnterState.Elevator:
705 EMono.pc.PlaySound("elevator");
706 break;
707 case ZoneTransition.EnterState.PortalReturn:
708 case ZoneTransition.EnterState.Return:
709 case ZoneTransition.EnterState.Teleport:
710 case ZoneTransition.EnterState.Moongate:
711 EMono.pc.PlayEffect("teleport");
712 EMono.pc.PlaySound("return");
713 break;
714 default:
715 SE.MoveZone();
716 break;
717 case ZoneTransition.EnterState.Encounter:
718 break;
719 }
720 }
721 bool flag = (EMono.rnd(5) == 0 && EMono.pc.burden.GetPhase() >= 3) || EMono.pc.burden.GetPhase() >= 4;
723 {
724 flag = false;
725 }
727 {
728 flag = flag;
730 }
731 if (flag)
732 {
733 EMono.pc.Stumble();
734 }
735 EMono.player.lastTransition = null;
736 break;
737 }
738 default:
739 UpdateCursor();
740 EMono.ui.UpdateInput();
741 break;
742 }
743 }
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:3908
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5776
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:5810
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:5795
CardRenderer renderer
Definition: Card.cs:57
Definition: Chara.cs:10
bool IsLevitating
Definition: Chara.cs:593
Party party
Definition: Chara.cs:43
override bool isSynced
Definition: Chara.cs:687
Zone currentZone
Definition: Chara.cs:251
void Stumble(int mtp=100)
Definition: Chara.cs:1642
Stats burden
Definition: Chara.cs:996
GlobalData global
Definition: Chara.cs:76
bool isDead
Definition: Chara.cs:385
void CalcBurden()
Definition: Chara.cs:1627
NetSetting net
Definition: CoreConfig.cs:602
InputSetting input
Definition: CoreConfig.cs:606
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:675
int uidLastTown
Definition: Player.cs:757
ZoneTransition lastTransition
Definition: Player.cs:959
float pickupDelay
Definition: Player.cs:1017
bool wasDirtyWeight
Definition: Player.cs:979
int ignoreFallOver
Definition: Player.cs:1011
Chara target
Definition: Player.cs:1047
void MoveZone(Zone z)
Definition: Player.cs:1835
bool deathDialog
Definition: Player.cs:981
ref Vector3 PositionCenter()
Definition: Point.cs:575
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:751
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:2740
bool IsInstance
Definition: Zone.cs:482
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(), 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 986 of file Scene.cs.

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

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

◆ RefreshActorEx()

void Scene.RefreshActorEx ( )
inline

Definition at line 997 of file Scene.cs.

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

References ActorEx.Refresh().

◆ RefreshBG()

void Scene.RefreshBG ( )
inline

Definition at line 797 of file Scene.cs.

798 {
801 {
802 bg = EMono.setting.render.bgs[MapBG.Snow];
803 }
804 skyBG.SetActive(bg.skyBox);
805 skyBG.sharedMaterial = bg.mat;
806 skyPlane.SetActive(bg.plane);
807 skyPlane.sharedMaterial = bg.mat;
808 cam.clearFlags = ((!EMono.core.config.graphic.alwaysClearCamera && bg.skyBox) ? CameraClearFlags.Depth : CameraClearFlags.Color);
809 }
MapBG
Definition: MapBG.cs:2
RenderSetting render
Definition: GameSetting.cs:301
MapBG bg
Definition: MapConfig.cs:74
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: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 1083 of file Scene.cs.

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

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

◆ RemoveActorEx()

void Scene.RemoveActorEx ( Card  c)
inline

Definition at line 1027 of file Scene.cs.

1028 {
1029 ActorEx actorEx = dictActorEx.TryGetValue(c);
1030 if (!(actorEx == null))
1031 {
1032 actorEx.Kill();
1033 dictActorEx.Remove(c);
1034 }
1035 }

References ActorEx.Kill().

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

◆ ToggleBalloon()

void Scene.ToggleBalloon ( )
inline

Definition at line 967 of file Scene.cs.

968 {
970 EMono.ui.ShowBalloon(!hideBalloon);
971 SE.ClickGeneral();
973 }

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

Referenced by HotItemToggle.OnClick().

◆ ToggleBirdView()

void Scene.ToggleBirdView ( bool  sound = true)
inline

Definition at line 954 of file Scene.cs.

955 {
956 SE.ClickGeneral();
958 {
960 }
961 else
962 {
964 }
965 }
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 904 of file Scene.cs.

905 {
907 {
908 SE.Beep();
909 return;
910 }
911 EMono.game.config.freePos = !EMono.game.config.freePos;
912 OnToggle();
913 }
bool freePos
Definition: Game.cs:30
Config config
Definition: Game.cs:215
void OnToggle()
Definition: Scene.cs:874

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

949 {
950 EMono.game.config.highlightArea = !EMono.game.config.highlightArea;
951 OnToggle();
952 }
bool highlightArea
Definition: Game.cs:39

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

◆ ToggleLight()

void Scene.ToggleLight ( )
inline

Definition at line 887 of file Scene.cs.

888 {
889 EMono.game.config.buildLight = !EMono.game.config.buildLight;
890 OnToggle();
891 }
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 975 of file Scene.cs.

976 {
978 SE.ClickGeneral();
980 if (!EMono.Sound.muteBGM)
981 {
983 }
984 }
SoundSetting sound
Definition: CoreConfig.cs:594
void ApplyVolume()
Definition: CoreConfig.cs:987

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

922 {
923 EMono.game.config.noRoof = !EMono.game.config.noRoof;
924 OnToggle();
925 }
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 881 of file Scene.cs.

882 {
883 EMono.game.config.showRoof = !EMono.game.config.showRoof;
884 OnToggle();
885 }
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 915 of file Scene.cs.

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

928 {
929 EMono.game.config.slope = !EMono.game.config.slope;
930 OnToggle();
931 skipAnime = true;
932 }
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 893 of file Scene.cs.

894 {
896 {
897 SE.Beep();
898 return;
899 }
900 EMono.game.config.snapFreePos = !EMono.game.config.snapFreePos;
901 OnToggle();
902 }
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 934 of file Scene.cs.

935 {
936 if (EMono._zone.IsRegion)
937 {
938 EMono.game.config.tiltRegion = !EMono.game.config.tiltRegion;
939 }
940 else
941 {
942 EMono.game.config.tilt = !EMono.game.config.tilt;
943 }
945 OnToggle();
946 }
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:588
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:586

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

Referenced by Init().

◆ UpdateCursor()

void Scene.UpdateCursor ( )
inline

Definition at line 751 of file Scene.cs.

752 {
753 CursorSystem.position = EInput.mposWorld;
754 CursorSystem.position.z = -100f;
756 {
757 CursorSystem.posOrigin = EMono.screen.position.SetZ(-100f);
759 }
760 else
761 {
763 }
764 }
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 766 of file Scene.cs.

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