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

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

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

148 {
149 InvokeRepeating("RefreshActorEx", 0.5f, 0.5f);
150 }

◆ Clear()

void Scene.Clear ( )
inline

Definition at line 344 of file Scene.cs.

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

998 {
999 foreach (ActorEx value in dictActorEx.Values)
1000 {
1001 value.Kill();
1002 }
1003 dictActorEx.Clear();
1004 }
void Kill()
Definition: ActorEx.cs:153

References ActorEx.Kill().

Referenced by Clear().

◆ DestroyPrefab()

void Scene.DestroyPrefab ( string  id)
inline

Definition at line 1106 of file Scene.cs.

1107 {
1108 GameObject gameObject = GameObject.Find(id);
1109 if ((bool)gameObject)
1110 {
1111 UnityEngine.Object.DestroyImmediate(gameObject);
1112 }
1113 }

◆ DestroyPrefabs()

void Scene.DestroyPrefabs ( )
inline

Definition at line 1097 of file Scene.cs.

1098 {
1099 foreach (GameObject loadedPrefab in loadedPrefabs)
1100 {
1101 UnityEngine.Object.Destroy(loadedPrefab);
1102 }
1103 loadedPrefabs.Clear();
1104 }
List< GameObject > loadedPrefabs
Definition: Scene.cs:129

Referenced by Clear().

◆ DrawPass()

void Scene.DrawPass ( )
inline

Definition at line 1049 of file Scene.cs.

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

803 {
804 if (a >= 1)
805 {
806 EMono.core.screen.Focus(pos);
807 }
808 if (a >= 2)
809 {
811 }
812 }
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 174 of file Scene.cs.

175 {
176 Debug.Log("Scene.Init:" + newMode);
177 EMono.ui.RemoveLayers();
180 mode = newMode;
181 switch (newMode)
182 {
183 case Mode.None:
184 if (EMono.game != null)
185 {
186 EMono.game.Kill();
187 }
188 EMono.ui.RemoveLayers();
190 break;
191 case Mode.Title:
192 SoundManager.bgmVolumeMod = (SoundManager.bgmDumpMod = 0f);
193 if (EMono.game != null)
194 {
195 EMono.game.Kill();
196 }
197 EMono.ui.AddLayer<LayerTitle>();
198 if (!isAnnounced)
199 {
200 isAnnounced = true;
201 EMono.ui.AddLayer("LayerAnnounce").SetOnKill(TryWarnMacScreen);
202 }
203 else
204 {
206 }
209 break;
210 case Mode.StartGame:
211 EMono.ui.RemoveLayer<LayerTitle>();
212 EMono.ui.ShowCover();
213 Init(Mode.Zone);
214 break;
215 case Mode.Zone:
216 EMono.player.target = null;
217 UIBook.str_pc = EMono.pc.NameSimple;
218 if (EMono.player.zone == null)
219 {
220 Player obj = EMono.player;
221 Zone zone = (EMono.pc.currentZone = EMono.pc.homeZone);
222 obj.zone = zone;
223 }
224 EMono.core.config.game.ignoreWarnCrime = (EMono.core.config.game.ignoreWarnMana = (EMono.core.config.game.ignoreWarnDisassemble = (EMono.core.config.game.ignoreWarnSlaughter = false)));
226 CellDetail.count = 0;
227 skipAnime = true;
228 EMono.player.baseActTime = EMono.setting.defaultActPace;
229 EMono.player.Agent.renderer.isSynced = true;
230 EMono.player.Agent.currentZone = EMono.player.zone;
231 Point._screen = (EMono.player.zone.IsRegion ? ((BaseGameScreen)screenElona) : ((BaseGameScreen)screenElin));
237 Popper.scale = (EMono._zone.IsRegion ? new Vector3(1.7f, 1.7f, 1f) : Vector3.one);
239 {
241 }
242 else if (EMono.player.zone is Region)
243 {
245 }
246 else
247 {
249 }
250 if (EMono.game.altCraft)
251 {
252 if (EMono._zone.IsRegion)
253 {
254 if ((bool)EMono.ui.layerFloat.GetLayer<LayerCraftFloat>())
255 {
256 EMono.ui.layerFloat.RemoveLayer<LayerCraftFloat>();
257 }
258 }
259 else if (!EMono.ui.layerFloat.GetLayer<LayerCraftFloat>())
260 {
261 EMono.ui.layerFloat.AddLayer<LayerCraftFloat>();
262 }
263 }
264 EMono.screen.tileMap.activeCount = 0;
272 if (EMono.ui.hud.imageCover.gameObject.activeSelf && !EMono.player.simulatingZone)
273 {
274 EMono.ui.HideCover(4f);
275 }
277 {
278 EMono.game.Save();
279 }
280 foreach (Thing thing in EMono._map.things)
281 {
282 if (thing.IsInstalled)
283 {
284 thing.trait.TryToggle();
285 }
286 }
288 if (EMono.player.onStartZone != null)
289 {
291 EMono.player.onStartZone = null;
292 }
293 ActionMode.LastBuildMode = null;
294 if (ActionMode.Adv.IsActive && (EInput.leftMouse.pressing || EInput.axis != Vector2.zero))
295 {
299 }
301 {
303 }
305 flock.SetSpawnType(EMono._zone.FlockType);
307 {
308 if (EMono._zone == EMono.pc.homeZone)
309 {
310 EMono.pc.faith.Revelation("welcome");
311 }
312 if (EMono._zone.Boss != null && EMono._zone.Boss.ExistsOnMap)
313 {
315 }
317 }
319 if (EMono.player.questTracker && !EMono.ui.widgets.GetWidget("QuestTracker"))
320 {
321 EMono.ui.widgets.Activate("QuestTracker");
322 }
323 if ((EMono._zone is Zone_Town || EMono._zone is Zone_Tent) && !EMono._zone.isMapSaved && !EMono.debug.ignoreAutoSave)
324 {
325 EMono.game.Save();
326 }
327 break;
328 }
329 etherBlossom.SetActive(mode == Mode.Zone && EMono._zone is Zone_WindRest);
330 }
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:1985
void RecalculateFOV()
Definition: Card.cs:5797
Point pos
Definition: Card.cs:55
bool IsInstalled
Definition: Card.cs:2281
string NameSimple
Definition: Card.cs:2039
override bool IsAliveInCurrentZone
Definition: Chara.cs:551
string NameBraced
Definition: Chara.cs:504
Zone homeZone
Definition: Chara.cs:257
Religion faith
Definition: Chara.cs:429
bool IsInActiveZone
Definition: Chara.cs:796
new GameConfig game
Definition: CoreConfig.cs:598
void ApplyGrading()
Definition: CoreConfig.cs:941
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:944
void Kill()
Definition: Game.cs:1014
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:1993
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:123
static bool skipAnime
Definition: Scene.cs:25
void TryWarnMacScreen()
Definition: Scene.cs:152
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:174
Mode
Definition: Scene.cs:10
void UpdateTimeRatio()
Definition: Scene.cs:757
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: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 1028 of file Scene.cs.

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

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

References Util.

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

◆ OnChangeHour()

void Scene.OnChangeHour ( )
inline

Definition at line 767 of file Scene.cs.

768 {
773 if ((bool)EMono.screen.pcOrbit)
774 {
776 }
779 foreach (Transform componentsInDirectChild in EMono.ui.rectDynamic.GetComponentsInDirectChildren<Transform>())
780 {
781 if (componentsInDirectChild.gameObject.tag != "IgnoreDestroy" && !componentsInDirectChild.GetComponent<TC>())
782 {
783 UnityEngine.Object.Destroy(componentsInDirectChild.gameObject);
784 }
785 }
786 }
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 332 of file Scene.cs.

333 {
336 hideBalloon = false;
337 actionMode = null;
338 PCC.PurgeCache();
339 Clear();
340 flock.Reset();
342 }
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:344
bool hideBalloon
Definition: Scene.cs:143
ActionMode actionMode
Definition: Scene.cs:77
PointTarget mouseTarget
Definition: Scene.cs:131

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

737 {
738 DrawPass();
740 }
static CursorSystem Instance
Definition: CursorSystem.cs:6
void DrawPass()
Definition: Scene.cs:1049

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

Referenced by Core.LateUpdate().

◆ OnToggle()

void Scene.OnToggle ( )
inline

◆ OnUpdate()

void Scene.OnUpdate ( )
inline

Definition at line 356 of file Scene.cs.

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

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

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

◆ RefreshActorEx()

void Scene.RefreshActorEx ( )
inline

Definition at line 988 of file Scene.cs.

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

References ActorEx.Refresh().

◆ RefreshBG()

void Scene.RefreshBG ( )
inline

Definition at line 788 of file Scene.cs.

789 {
792 {
793 bg = EMono.setting.render.bgs[MapBG.Snow];
794 }
795 skyBG.SetActive(bg.skyBox);
796 skyBG.sharedMaterial = bg.mat;
797 skyPlane.SetActive(bg.plane);
798 skyPlane.sharedMaterial = bg.mat;
799 cam.clearFlags = ((!EMono.core.config.graphic.alwaysClearCamera && bg.skyBox) ? CameraClearFlags.Depth : CameraClearFlags.Color);
800 }
MapBG
Definition: MapBG.cs:2
RenderSetting render
Definition: GameSetting.cs:301
MapBG bg
Definition: MapConfig.cs:74
GameSetting.RenderSetting.MapBGSetting bg
Definition: Scene.cs:120
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 1074 of file Scene.cs.

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

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

◆ RemoveActorEx()

void Scene.RemoveActorEx ( Card  c)
inline

Definition at line 1018 of file Scene.cs.

1019 {
1020 ActorEx actorEx = dictActorEx.TryGetValue(c);
1021 if (!(actorEx == null))
1022 {
1023 actorEx.Kill();
1024 dictActorEx.Remove(c);
1025 }
1026 }

References ActorEx.Kill().

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

◆ ToggleBalloon()

void Scene.ToggleBalloon ( )
inline

Definition at line 958 of file Scene.cs.

959 {
961 EMono.ui.ShowBalloon(!hideBalloon);
962 SE.ClickGeneral();
964 }

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

Referenced by HotItemToggle.OnClick().

◆ ToggleBirdView()

void Scene.ToggleBirdView ( bool  sound = true)
inline

Definition at line 945 of file Scene.cs.

946 {
947 SE.ClickGeneral();
949 {
951 }
952 else
953 {
955 }
956 }
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 895 of file Scene.cs.

896 {
898 {
899 SE.Beep();
900 return;
901 }
902 EMono.game.config.freePos = !EMono.game.config.freePos;
903 OnToggle();
904 }
bool freePos
Definition: Game.cs:30
Config config
Definition: Game.cs:215
void OnToggle()
Definition: Scene.cs:865

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

940 {
941 EMono.game.config.highlightArea = !EMono.game.config.highlightArea;
942 OnToggle();
943 }
bool highlightArea
Definition: Game.cs:39

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

◆ ToggleLight()

void Scene.ToggleLight ( )
inline

Definition at line 878 of file Scene.cs.

879 {
880 EMono.game.config.buildLight = !EMono.game.config.buildLight;
881 OnToggle();
882 }
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 966 of file Scene.cs.

967 {
969 SE.ClickGeneral();
971 if (!EMono.Sound.muteBGM)
972 {
974 }
975 }
SoundSetting sound
Definition: CoreConfig.cs:592
void ApplyVolume()
Definition: CoreConfig.cs:981

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

913 {
914 EMono.game.config.noRoof = !EMono.game.config.noRoof;
915 OnToggle();
916 }
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 872 of file Scene.cs.

873 {
874 EMono.game.config.showRoof = !EMono.game.config.showRoof;
875 OnToggle();
876 }
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 906 of file Scene.cs.

907 {
908 EMono.game.config.showWall = !EMono.game.config.showWall;
909 OnToggle();
910 }
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 918 of file Scene.cs.

919 {
920 EMono.game.config.slope = !EMono.game.config.slope;
921 OnToggle();
922 skipAnime = true;
923 }
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 884 of file Scene.cs.

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

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

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

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

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

Referenced by Init().

◆ UpdateCursor()

void Scene.UpdateCursor ( )
inline

Definition at line 742 of file Scene.cs.

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

758 {
759 float num = ((EMono._map.config.hour != -1) ? ((float)EMono._map.config.hour) : ((float)EMono.world.date.hour + (float)EMono.world.date.min / 60f));
760 if (num > 12f)
761 {
762 num = 24f - num;
763 }
764 timeRatio = Mathf.Clamp(num * 100f / 24f * 0.01f + EMono.setting.dayRatioMod, 0f, 1f);
765 }
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 120 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().

◆ damageTextRenderer

DamageTextRenderer Scene.damageTextRenderer = new DamageTextRenderer()

Definition at line 105 of file Scene.cs.

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

◆ dictActorEx

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

Definition at line 140 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 143 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 129 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 123 of file Scene.cs.

Referenced by Init(), and OnUpdate().

◆ mouseTarget

◆ passes

MeshPass [] Scene.passes

Definition at line 117 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 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 115 of file Scene.cs.

Referenced by BaseTileMap.DrawTile().

◆ psFoot

ParticleSystem Scene.psFoot

Definition at line 107 of file Scene.cs.

Referenced by Chara._Move().

◆ psRainSplash

ParticleSystem Scene.psRainSplash

Definition at line 111 of file Scene.cs.

Referenced by GameUpdater.Update100ms().

◆ psRainSplashWater

ParticleSystem Scene.psRainSplashWater

Definition at line 113 of file Scene.cs.

Referenced by GameUpdater.Update100ms().

◆ psSmoke

ParticleSystem Scene.psSmoke

Definition at line 109 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 138 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: