Elin Decompiled Documentation EA 23.185 Nightly Patch 1
Loading...
Searching...
No Matches
Core.cs
Go to the documentation of this file.
1using System;
2using System.Collections;
3using System.Collections.Generic;
4using System.IO;
5using System.Text;
6using DG.Tweening;
7using IniParser;
8using IniParser.Model;
9using ReflexCLI;
10using Steamworks;
11using UnityEngine;
12
13public class Core : BaseCore
14{
15 public new static Core Instance;
16
17 public static float delta;
18
19 public static float avgDelta;
20
21 public static float gameDelta;
22
23 public static float gameDeltaNoPause;
24
25 public static float fixedFrame;
26
27 public static bool spiked;
28
30
32
34
36
38
39 public ModManager mods = new ModManager();
40
41 public PCCManager pccs;
42
44
46
48
50
51 public CoreRef refs;
52
54
56
57 public Steam steam;
58
59 public bool useUImat;
60
61 public bool trial;
62
63 public UI ui;
64
65 public Scene scene;
66
68
69 [NonSerialized]
71
72 public Game game;
73
74 [NonSerialized]
75 public bool initialized;
76
77 private bool? lastFullScreen;
78
79 private float nextResolutionUpdate;
80
81 private float skinTimer;
82
83 public bool IsGameStarted
84 {
85 get
86 {
87 if (game != null)
88 {
89 return game.activeZone != null;
90 }
91 return false;
92 }
93 }
94
95 public override float uiScale => ui.canvasScaler.scaleFactor;
96
97 protected override void Awake()
98 {
99 base.Awake();
100 Debug.Log("Core Awake");
101 Debug.Log("Version:" + version.GetText());
102 QualitySettings.vSyncCount = 0;
103 Application.targetFrameRate = 60;
104 IO.CreateDirectory(CorePath.Temp);
105 SetCurrent();
106 Lang.langCode = "";
107 if (Application.isEditor && debug.langCode != 0)
108 {
109 forceLangCode = debug.langCode.ToString();
110 }
111 string[] array = (Application.isEditor ? debug.command.Split(',') : Environment.GetCommandLineArgs());
112 for (int i = 0; i < array.Length; i++)
113 {
114 string text = array[i];
115 text = text.Replace("-", "").ToUpper();
116 Debug.Log("Commandline args:" + text);
117 if (text.StartsWith("LANG_"))
118 {
119 forceLangCode = text.Replace("LANG_", "");
120 continue;
121 }
122 switch (text)
123 {
124 case "DEV":
125 releaseMode = ReleaseMode.Debug;
126 break;
127 case "UPDATE_LANG":
128 Lang.runUpdate = true;
129 break;
130 case "NOMOD":
131 ModManager.disableMod = true;
132 break;
133 }
134 }
135 NewsList.dict = null;
136 InvOwner.Trader = (InvOwner.Main = null);
137 SpriteSheet.dict.Clear();
138 SpriteSheet.loadedPath.Clear();
140 LayerDrama.haltPlaylist = false;
141 LayerDrama.keepBGM = false;
142 BaseModManager.isInitialized = false;
143 Net.isUploading = false;
144 MapPiece.initialized = false;
145 ActPlan.warning = false;
146 Game.isPaused = false;
147 if (Application.isEditor && BaseCore.resetRuntime)
148 {
149 ResetRuntime();
150 }
151 Window.dictData.Clear();
152 LayerInventory.listInv.Clear();
153 debug = Resources.Load<CoreDebug>("_Debug " + releaseMode);
154 debug.enable = releaseMode != ReleaseMode.Public;
155 if (useUImat)
156 {
157 Canvas.GetDefaultCanvasMaterial().CopyPropertiesFromMaterial(matUI);
158 Canvas.GetDefaultCanvasMaterial().shader = matUI.shader;
159 }
160 if (!ui)
161 {
162 ui = Util.Instantiate<UI>("UI/UI");
163 }
164 if (!scene)
165 {
166 scene = Util.Instantiate<Scene>("Scene/Scene");
167 }
169 ui.ShowCover();
170 canvas = ui.canvas;
171 ui.OnCoreStart();
172 BaseCore.BlockInput = () => ui.IsDragging;
173 CommandRegistry.assemblies.Add(typeof(Core).Assembly);
174 SoundData.EditorPlaySpatial = delegate(SoundData a)
175 {
176 game.player.chara.PlaySound(a.name);
177 };
178 SoundManager.funcCanPlayBGM = () => !LayerDrama.haltPlaylist && !LayerDrama.keepBGM;
180 MOD.langs.Clear();
181 MOD.OnAddPcc = pccs.Add;
182 MOD.listTalk = new TalkDataList();
183 MOD.tones = new ToneDataList();
184 MOD.listMaps.Clear();
185 MOD.listPartialMaps.Clear();
186 Portrait.modPortraitBGFs = new ModItemList<Sprite>();
187 Portrait.modPortraitBGs = new ModItemList<Sprite>();
188 Portrait.modPortraits = new ModItemList<Sprite>();
189 Portrait.modOverlays = new ModItemList<Sprite>();
190 Portrait.modFull = new ModItemList<Sprite>();
191 Portrait.dictList = new Dictionary<string, List<ModItem<Sprite>>>();
192 TileType.Init();
194 Debug.Log(steam.steamworks.settings.applicationId);
195 }
196
197 private void Start()
198 {
200 Debug.Log("Loading Config:" + CoreConfig.path + " - " + config);
201 if (config != null && config.other.disableMods)
202 {
203 ModManager.disableMod = true;
204 }
205 try
206 {
207 steam.Init();
208 }
209 catch
210 {
211 }
212 StartCase();
213 }
214
215 public void StartCase()
216 {
217 Debug.Log("StartCase:" + ModManager.IsInitialized);
219 {
221 StartCoroutine(mods.RefreshMods(delegate
222 {
223 MOD.actorSources.Initialize();
224 SpriteReplacer.dictSkins.Clear();
225 SpriteReplacer.ListSkins();
226 StartCase();
228 return;
229 }
230 Debug.Log("Plugins:" + ModManager.ListPluginObject.Count);
231 foreach (object item in ModManager.ListPluginObject)
232 {
233 Component component = item as Component;
234 if (!component)
235 {
236 Debug.Log("no go");
237 continue;
238 }
239 GameObject obj = component.gameObject;
240 obj.SendMessage("OnStartCore");
241 Component[] componentsInChildren = obj.GetComponentsInChildren<Component>();
242 foreach (Component component2 in componentsInChildren)
243 {
244 Debug.Log(component2.GetType().Assembly.GetName().Name);
245 ClassCache.assemblies.Add(component2.GetType().Assembly.GetName().Name);
246 }
247 break;
248 }
249 sources.Init();
250 if (!forceLangCode.IsEmpty())
251 {
253 }
254 else if (config == null)
255 {
256 Debug.Log("Config doesn't exist.");
257 try
258 {
259 if (debug.enable || !SteamAPI.IsSteamRunning())
260 {
261 BookList.dict = null;
262 ui.ShowLang();
263 return;
264 }
265 string currentGameLanguage = SteamApps.GetCurrentGameLanguage();
266 if (!(currentGameLanguage == "chinese"))
267 {
268 if (!(currentGameLanguage == "japanese"))
269 {
270 BookList.dict = null;
271 ui.ShowLang();
272 return;
273 }
274 langCode = "JP";
275 }
276 else
277 {
278 langCode = "CN";
279 }
280 }
281 catch (Exception message)
282 {
283 Debug.Log(message);
284 }
285 }
286 if (debug.showSceneSelector || (Input.GetKey(KeyCode.LeftShift) && debug.enable))
287 {
288 ui.ShowSceneSelector();
289 }
290 else
291 {
292 Init();
293 }
294 }
295
296 private void FixedUpdate()
297 {
298 fixedFrame += 1f;
299 }
300
301 public void Update()
302 {
303 frame++;
304 SoundManager.requestCount = 0;
306 EInput.uiMousePosition = Input.mousePosition / ui.canvasScaler.scaleFactor;
307 if (!initialized)
308 {
309 return;
310 }
311 ui.OnUpdate();
313 PoolManager.ignorePool = debug.ignorePool;
314 if ((bool)screen.tileMap && !screen.tileMap.passBlock.mat.mainTexture)
315 {
317 }
318 if (useUImat)
319 {
320 Canvas.GetDefaultCanvasMaterial().CopyPropertiesFromMaterial(matUI);
321 }
322 avgDelta += (Time.smoothDeltaTime - delta) * 0.1f;
323 delta = Time.smoothDeltaTime;
324 if (delta > 0.1f)
325 {
326 delta = 0.1f;
327 }
328 EInput.delta = (ButtonState.delta = delta);
329 if (lastFullScreen != Screen.fullScreen)
330 {
331 int width = Display.main.systemWidth;
332 int height = Display.main.systemHeight;
333 if (config != null && config.graphic.fixedResolution)
334 {
335 width = config.graphic.w;
336 height = config.graphic.h;
337 }
338 if (Screen.fullScreen)
339 {
340 Screen.SetResolution(width, height, fullscreen: true);
341 }
342 lastFullScreen = Screen.fullScreen;
344 }
345 if (nextResolutionUpdate <= 0f)
346 {
347 if (config != null && config.graphic.fixedResolution)
348 {
349 int w = config.graphic.w;
350 int h = config.graphic.h;
351 if (Screen.width != w || Screen.height != h)
352 {
353 Screen.SetResolution(w, h, Screen.fullScreen);
354 }
355 }
356 if (Screen.width != lastScreenWidth || Screen.height != lastScreenHeight)
357 {
359 }
361 }
362 else
363 {
365 }
366 if (IsGameStarted)
367 {
368 game.OnUpdate();
370 gameDelta = (FlockChild.delta = (ui.IsPauseGame ? 0f : gameDeltaNoPause));
371 }
372 else
373 {
374 gameDelta = 0f;
375 }
376 scene.OnUpdate();
377 if (actionsNextFrame.Count > 0)
378 {
379 for (int num = actionsNextFrame.Count - 1; num >= 0; num--)
380 {
381 actionsNextFrame[num]();
382 actionsNextFrame.RemoveAt(num);
383 }
384 }
385 }
386
387 private void LateUpdate()
388 {
389 if (!initialized)
390 {
391 return;
392 }
393 if (UIButton.actionTooltip != null)
394 {
396 UIButton.actionTooltip = null;
397 }
398 if (actionsLateUpdate.Count > 0)
399 {
400 for (int num = actionsLateUpdate.Count - 1; num >= 0; num--)
401 {
402 actionsLateUpdate[num]();
403 actionsLateUpdate.RemoveAt(num);
404 }
405 }
407 }
408
409 public void OnApplicationFocus(bool focus)
410 {
411 Resources.UnloadUnusedAssets();
412 GC.Collect();
413 if (config == null)
414 {
415 return;
416 }
417 if (focus)
418 {
419 AudioListener.volume = 1f;
420 }
421 else if (config.other.muteBackground)
422 {
423 AudioListener.volume = 0f;
424 }
425 if (!focus || !Instance)
426 {
427 return;
428 }
429 if (actionsNextFrame.Count == 0)
430 {
431 actionsNextFrame.Add(delegate
432 {
434 actionsNextFrame.Add(delegate
435 {
436 if (IsGameStarted)
437 {
438 if (Application.isEditor && (bool)WidgetMinimap.Instance)
439 {
440 WidgetMinimap.Instance.Reload();
441 }
442 foreach (CardRow row in sources.cards.rows)
443 {
444 if (row.replacer.isChecked && row.replacer.data != null)
445 {
446 row.replacer.data.GetSprite();
447 }
448 }
449 foreach (SpriteReplacer value in SpriteReplacer.dictSkins.Values)
450 {
451 value.data?.LoadPref();
452 }
454 }
455 });
456 });
457 }
459 {
460 foreach (PCC.Part value2 in pccs.allParts.Values)
461 {
462 foreach (ModItem<Texture2D> value3 in value2.modTextures.Values)
463 {
464 value3.ClearCache();
465 }
466 }
467 CharaActorPCC[] array = UnityEngine.Object.FindObjectsOfType<CharaActorPCC>();
468 for (int i = 0; i < array.Length; i++)
469 {
470 array[i].provider.Rebuild();
471 }
472 }
473 EInput.Consume();
474 EInput.dragHack = 0f;
476 }
477
478 public void OnApplicationQuit()
479 {
480 try
481 {
482 Widget[] componentsInChildren = ui.widgets.GetComponentsInChildren<Widget>(includeInactive: true);
483 foreach (Widget widget in componentsInChildren)
484 {
485 if (widget.gameObject != null)
486 {
487 UnityEngine.Object.Destroy(widget.gameObject);
488 }
489 }
490 IO.PrintLog();
491 }
492 catch (Exception ex)
493 {
494 Debug.Log("Exception:" + ex);
495 }
496 try
497 {
498 if (SteamAPI.IsSteamRunning())
499 {
500 SteamAPI.Shutdown();
501 }
502 }
503 catch (Exception ex2)
504 {
505 Debug.Log("Exception:" + ex2);
506 }
507 try
508 {
509 IO.DeleteDirectory(CorePath.Temp);
511 }
512 catch (Exception ex3)
513 {
514 Debug.Log("Exception:" + ex3);
515 }
516 }
517
518 public void ResetRuntime()
519 {
520 BaseCore.resetRuntime = false;
521 BiomeProfile.forceInitialize = true;
522 WidgetHotbar.registering = false;
523 WidgetHotbar.registeringItem = null;
524 WordGen.initialized = false;
525 RecipeManager.rebuild = true;
526 BookList.dict = null;
527 SpawnList.allList.Clear();
528 }
529
530 public void Init()
531 {
532 Debug.Log("Initializing:" + langCode + "/" + forceLangCode);
533 StartCoroutine("OnEndOfFrame");
534 InvokeRepeating("Update100ms", 0.1f, 0.1f);
535 UnityEngine.Object.DestroyImmediate(ui.layoutLang.gameObject);
537 if (config.lang.IsEmpty())
538 {
539 config.lang = "EN";
540 }
541 SetLang(config.lang);
542 refs.Init();
543 debug.Init();
544 SpriteSheet.Add("Media/Graphics/Icon/icons_48");
545 Cal.Init();
546 Colors.Init();
547 gameSetting.Init();
548 mods.InitLang();
549 if (!Lang.isBuiltin)
550 {
551 sources.ImportSourceTexts();
552 }
553 PCCManager.current.Init();
554 SpriteVariationManager.current.Init();
555 scene.InitPass();
556 textures.Init();
557 textures.RefreshTextures();
558 SoundManager.current.Reset();
559 if (debug.validatePref)
560 {
562 }
563 if (debug.startScene == CoreDebug.StartScene.Title)
564 {
565 scene.Init(Scene.Mode.Title);
566 }
567 else
568 {
569 debug.QuickStart();
570 }
571 ui.HideCover(2f);
572 initialized = true;
573 }
574
575 public void Quit()
576 {
577 Application.Quit();
578 Debug.Log("Quit");
579 }
580
581 public override void ConsumeInput()
582 {
583 EInput.Consume();
584 }
585
586 public static Core SetCurrent(Core _current = null)
587 {
588 if ((bool)Instance)
589 {
590 return Instance;
591 }
592 Instance = _current ?? UnityEngine.Object.FindObjectOfType<Core>();
593 BaseCore.Instance = Instance;
594 if ((bool)Instance)
595 {
596 Instance.SetReferences();
597 }
598 return Instance;
599 }
600
601 public static Core GetCurrent()
602 {
603 return Instance ?? SetCurrent();
604 }
605
606 public void SetReferences()
607 {
608 CorePath.Init();
609 SourceData.dataPath = CorePath.packageCore + "/Data/Source/";
610 Instance = (EClass.core = (EMono.core = this));
611 SkinManager._Instance = skins;
612 PathManager.Instance = pathManager;
613 EffectManager.Instance = effects;
614 sources.InitLang();
615 }
616
618 {
619 if (releaseMode != m)
620 {
621 releaseMode = m;
622 debug = Resources.Load<CoreDebug>("_Debug " + releaseMode);
623 }
624 }
625
626 private IEnumerator OnEndOfFrame()
627 {
628 while (true)
629 {
630 yield return new WaitForEndOfFrame();
631 if ((bool)screen.guide)
632 {
633 screen.guide.OnEndOfFrame();
634 }
635 }
636 }
637
638 private void Update100ms()
639 {
640 if (IsGameStarted)
641 {
642 game.updater.Update100ms();
643 }
644 }
645
646 public void OnChangeResolution()
647 {
648 if (config != null)
649 {
650 config.OnChangeResolution();
651 }
652 screen.RefreshScreenSize();
653 lastScreenWidth = Screen.width;
654 lastScreenHeight = Screen.height;
655 IChangeResolution[] componentsInChildren = ui.GetComponentsInChildren<IChangeResolution>();
656 for (int i = 0; i < componentsInChildren.Length; i++)
657 {
658 componentsInChildren[i].OnChangeResolution();
659 }
661 }
662
663 public void Halt()
664 {
665 }
666
667 public override void FreezeScreen(float duration = 0.3f)
668 {
669 ui.FreezeScreen(duration);
670 }
671
672 public override void UnfreezeScreen()
673 {
674 ui.UnfreezeScreen();
675 }
676
677 public override void RebuildBGMList()
678 {
679 refs.RebuildBGMList();
680 }
681
682 public override void StopEventSystem(Component c, Action action, float duration = 0.12f)
683 {
684 eventSystem.enabled = false;
685 c.transform.DOScale(new Vector3(1f, 0f, 1f), duration).OnKill(delegate
686 {
687 eventSystem.enabled = true;
688 }).OnComplete(delegate
689 {
690 action();
691 })
692 .SetEase(Ease.Linear);
693 }
694
695 public override void StopEventSystem(float duration = 0.2f)
696 {
697 eventSystem.enabled = false;
698 TweenUtil.Tween(duration, null, delegate
699 {
700 eventSystem.enabled = true;
701 });
702 }
703
704 public void SetLang(string langCode, bool force = false)
705 {
706 if (!(Lang.langCode == langCode) || !sources || !sources.langGeneral)
707 {
708 Lang.Init(langCode);
709 AliasGen.list = null;
710 NameGen.list = null;
711 WordGen.initialized = false;
712 sources.OnChangeLang();
713 if (game != null && !IsGameStarted)
714 {
715 game.Kill();
716 }
717 config.OnSetLang();
718 }
719 }
720
721 public static int[] ParseElements(string str)
722 {
723 if (string.IsNullOrEmpty(str))
724 {
725 return new int[0];
726 }
727 string[] array = str.Replace("\n", "").Split(',');
728 int[] array2 = new int[array.Length * 2];
729 for (int i = 0; i < array.Length; i++)
730 {
731 string[] array3 = array[i].Split('/');
732 array2[i * 2] = GetElement(array3[0]);
733 array2[i * 2 + 1] = ((array3.Length == 1) ? 1 : int.Parse(array3[1]));
734 }
735 return array2;
736 }
737
738 public static int GetElement(string id)
739 {
740 SetCurrent();
741 if (sourceElement == null)
742 {
743 sourceElement = UnityEngine.Object.FindObjectOfType<SourceManager>().GetComponent<SourceManager>().elements;
744 }
745 if (!sourceElement.initialized)
746 {
747 sourceElement.Init();
748 }
749 if (!sourceElement.alias.TryGetValue(id ?? "_void", out var value))
750 {
751 Debug.LogError("exception:" + id);
752 value = sourceElement.rows[0];
753 }
754 return value.id;
755 }
756
757 public void ApplySkins()
758 {
759 IUISkin[] componentsInChildren = ui.GetComponentsInChildren<IUISkin>(includeInactive: true);
760 for (int i = 0; i < componentsInChildren.Length; i++)
761 {
762 componentsInChildren[i].ApplySkin();
763 }
764 }
765
766 public static IniData GetElinIni()
767 {
768 string pathIni = CorePath.PathIni;
769 string ie = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
770 try
771 {
772 FileIniDataParser fileIniDataParser = new FileIniDataParser();
773 if (!File.Exists(pathIni))
774 {
775 File.CreateText(pathIni).Close();
776 }
777 IniData iniData = fileIniDataParser.ReadFile(pathIni, Encoding.UTF8);
778 if (iniData.GetKey("pass").IsEmpty())
779 {
780 string text = "";
781 for (int i = 0; i < 4; i++)
782 {
783 text += ie.RandomItem();
784 }
785 iniData.Global["pass"] = text;
786 fileIniDataParser.WriteFile(pathIni, iniData);
787 }
788 return iniData;
789 }
790 catch (Exception message)
791 {
792 Debug.Log(message);
793 Debug.Log("exception: Failed to parse:" + pathIni);
794 IO.DeleteFile(pathIni);
795 File.CreateText(pathIni).Close();
796 return null;
797 }
798 }
799
800 public static void SaveElinIni(IniData ini)
801 {
802 new FileIniDataParser().WriteFile(CorePath.PathIni, ini);
803 }
804
805 public static void TryWarnMod(Action action, bool warn = true)
806 {
807 if (warn)
808 {
809 IniData ini = GetElinIni();
810 if (ini.Global["agreed_usercontens_usage_terms"] != "yes")
811 {
812 string[] items = new string[3] { "readTerms", "agree", "disagree" };
813 Dialog.List("dialogTermsOfUseUGC".lang(), items, (string j) => j, delegate(int c, string d)
814 {
815 switch (c)
816 {
817 case 0:
818 LayerHelp.Toggle("custom", "terms2");
819 return false;
820 case 1:
821 ini.Global["agreed_usercontens_usage_terms"] = "yes";
822 SaveElinIni(ini);
823 action();
824 break;
825 }
826 return true;
827 }, canCancel: true);
828 return;
829 }
830 }
831 action();
832 }
833
834 public static void TryWarnUpload(Action action)
835 {
836 IniData ini = GetElinIni();
837 if (ini.Global["agreed_usercontents_upload_terms"] != "yes")
838 {
839 string[] items = new string[3] { "readTerms", "agree", "disagree" };
840 Dialog.List("dialogTermsOfUse".lang(), items, (string j) => j, delegate(int c, string d)
841 {
842 switch (c)
843 {
844 case 0:
845 LayerHelp.Toggle("custom", "terms");
846 return false;
847 case 1:
848 ini.Global["agreed_usercontents_upload_terms"] = "yes";
849 SaveElinIni(ini);
850 action();
851 break;
852 }
853 return true;
854 }, canCancel: true);
855 }
856 else
857 {
858 action();
859 }
860 }
861}
ReleaseMode
Definition: ReleaseMode.cs:2
virtual float gameSpeed
Definition: ActionMode.cs:119
int lastScreenHeight
Definition: BaseCore.cs:44
string langCode
Definition: BaseCore.cs:25
static bool IsOffline
Definition: BaseCore.cs:9
List< Action > actionsNextFrame
Definition: BaseCore.cs:31
int frame
Definition: BaseCore.cs:40
string forceLangCode
Definition: BaseCore.cs:37
Canvas canvas
Definition: BaseCore.cs:34
Version version
Definition: BaseCore.cs:17
int lastScreenWidth
Definition: BaseCore.cs:42
static bool resetRuntime
Definition: BaseCore.cs:13
ReleaseMode releaseMode
Definition: BaseCore.cs:23
List< Action > actionsLateUpdate
Definition: BaseCore.cs:29
ScreenGuide guide
void RefreshScreenSize()
BaseTileMap tileMap
RenderDataObjDummy rendererObjDummy
Definition: BaseTileMap.cs:227
MeshPass passBlock
Definition: BaseTileMap.cs:147
void OnChangeResolution()
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5852
SpriteProvider provider
Definition: CharaActorPCC.cs:9
static HashSet< string > assemblies
Definition: ClassCache.cs:52
static CoreConfig TryLoadConfig()
Definition: CoreConfig.cs:655
GraphicSetting graphic
Definition: CoreConfig.cs:600
string lang
Definition: CoreConfig.cs:576
void OnChangeResolution()
Definition: CoreConfig.cs:829
static string path
Definition: CoreConfig.cs:629
OtherSetting other
Definition: CoreConfig.cs:612
void OnSetLang()
Definition: CoreConfig.cs:1012
static void Init()
Definition: CoreConfig.cs:701
void Init()
Definition: CoreDebug.cs:327
bool showSceneSelector
Definition: CoreDebug.cs:108
bool ignorePool
Definition: CoreDebug.cs:116
string command
Definition: CoreDebug.cs:135
bool validatePref
Definition: CoreDebug.cs:249
void QuickStart()
Definition: CoreDebug.cs:333
bool enable
Definition: CoreDebug.cs:285
bool skipModSync
Definition: CoreDebug.cs:111
void UpdateAlways()
Definition: CoreDebug.cs:785
Lang.LangCode langCode
Definition: CoreDebug.cs:113
StartScene startScene
Definition: CoreDebug.cs:95
static string PathIni
Definition: CorePath.cs:212
static string Temp
Definition: CorePath.cs:210
static string rootMod
Definition: CorePath.cs:169
static void Init()
Definition: CorePath.cs:220
static string RootSave
Definition: CorePath.cs:206
void RebuildBGMList()
Definition: CoreRef.cs:441
void Init()
Definition: CoreRef.cs:421
Definition: Core.cs:14
override void StopEventSystem(float duration=0.2f)
Definition: Core.cs:695
void StartCase()
Definition: Core.cs:215
override float uiScale
Definition: Core.cs:95
float nextResolutionUpdate
Definition: Core.cs:79
Material matUI
Definition: Core.cs:55
void LateUpdate()
Definition: Core.cs:387
CoreRef refs
Definition: Core.cs:51
ModManager mods
Definition: Core.cs:39
void Quit()
Definition: Core.cs:575
GameSetting gameSetting
Definition: Core.cs:47
IEnumerator OnEndOfFrame()
Definition: Core.cs:626
Game game
Definition: Core.cs:72
override void RebuildBGMList()
Definition: Core.cs:677
static SourceElement sourceElement
Definition: Core.cs:29
void OnApplicationFocus(bool focus)
Definition: Core.cs:409
void FixedUpdate()
Definition: Core.cs:296
override void StopEventSystem(Component c, Action action, float duration=0.12f)
Definition: Core.cs:682
EffectManager effects
Definition: Core.cs:37
static float avgDelta
Definition: Core.cs:19
static int GetElement(string id)
Definition: Core.cs:738
static void SaveElinIni(IniData ini)
Definition: Core.cs:800
override void FreezeScreen(float duration=0.3f)
Definition: Core.cs:667
void Init()
Definition: Core.cs:530
void Update()
Definition: Core.cs:301
void ResetRuntime()
Definition: Core.cs:518
SourceManager sources
Definition: Core.cs:33
static Core SetCurrent(Core _current=null)
Definition: Core.cs:586
float skinTimer
Definition: Core.cs:81
override void ConsumeInput()
Definition: Core.cs:581
static void TryWarnUpload(Action action)
Definition: Core.cs:834
CoreDebug debug
Definition: Core.cs:31
SkinManager skins
Definition: Core.cs:43
Steam steam
Definition: Core.cs:57
void Start()
Definition: Core.cs:197
TextureManager textures
Definition: Core.cs:45
void OnApplicationQuit()
Definition: Core.cs:478
void Halt()
Definition: Core.cs:663
static int[] ParseElements(string str)
Definition: Core.cs:721
static float gameDeltaNoPause
Definition: Core.cs:23
static float gameDelta
Definition: Core.cs:21
static new Core Instance
Definition: Core.cs:15
ColorProfile Colors
Definition: Core.cs:53
void OnChangeResolution()
Definition: Core.cs:646
bool initialized
Definition: Core.cs:75
override void Awake()
Definition: Core.cs:97
void SetReleaseMode(ReleaseMode m)
Definition: Core.cs:617
Scene scene
Definition: Core.cs:65
static IniData GetElinIni()
Definition: Core.cs:766
void ApplySkins()
Definition: Core.cs:757
BaseGameScreen screen
Definition: Core.cs:67
static float fixedFrame
Definition: Core.cs:25
static bool spiked
Definition: Core.cs:27
void Update100ms()
Definition: Core.cs:638
GameData gamedata
Definition: Core.cs:49
override void UnfreezeScreen()
Definition: Core.cs:672
bool IsGameStarted
Definition: Core.cs:84
void SetReferences()
Definition: Core.cs:606
PathManager pathManager
Definition: Core.cs:35
UI ui
Definition: Core.cs:63
PCCManager pccs
Definition: Core.cs:41
void SetLang(string langCode, bool force=false)
Definition: Core.cs:704
static void TryWarnMod(Action action, bool warn=true)
Definition: Core.cs:805
bool trial
Definition: Core.cs:61
static float delta
Definition: Core.cs:17
static Core GetCurrent()
Definition: Core.cs:601
CoreConfig config
Definition: Core.cs:70
bool useUImat
Definition: Core.cs:59
bool? lastFullScreen
Definition: Core.cs:77
Definition: Dialog.cs:7
Definition: EInput.cs:8
static void Consume(int _skipFrame)
Definition: EInput.cs:656
static void DisableIME()
Definition: EInput.cs:454
static Action< List< string > > onDrop
Definition: GameIO.cs:10
static void DeleteEmptyGameFolders(string path)
Definition: GameIO.cs:340
void Init()
Definition: GameSetting.cs:353
void Update100ms()
Definition: GameUpdater.cs:387
Definition: Game.cs:8
new Player player
Definition: Game.cs:176
void Kill()
Definition: Game.cs:1056
GameUpdater updater
Definition: Game.cs:243
void OnUpdate()
Definition: Game.cs:289
static void UpdateEventData()
Definition: Lang.cs:6
static string langCode
Definition: Lang.cs:28
static void Init(string lang)
Definition: Lang.cs:71
static bool isBuiltin
Definition: Lang.cs:42
static bool keepBGM
Definition: LayerDrama.cs:10
static bool haltPlaylist
Definition: LayerDrama.cs:12
static void Toggle(string idFile, string idTopic=null)
Definition: LayerHelp.cs:32
static List< LayerInventory > listInv
Definition: MOD.cs:7
static Dictionary< string, LangSetting > langs
Definition: MOD.cs:8
static List< FileInfo > listMaps
Definition: MOD.cs:20
static List< FileInfo > listPartialMaps
Definition: MOD.cs:22
Material mat
Definition: MeshPass.cs:21
void ClearCache()
Definition: ModItem.cs:65
static bool IsInitialized
Definition: ModManager.cs:33
override void Init(string path, string defaultPackage="_Elona")
Definition: ModManager.cs:35
IEnumerator RefreshMods(Action onComplete, bool syncMods)
Definition: ModManager.cs:95
static bool disableMod
Definition: ModManager.cs:25
static List< object > ListPluginObject
Definition: ModManager.cs:23
Chara chara
Definition: Player.cs:1123
void Init()
Definition: RenderData.cs:94
Definition: Scene.cs:8
void OnLateUpdate()
Definition: Scene.cs:745
CameraSupport camSupport
Definition: Scene.cs:41
ActionMode actionMode
Definition: Scene.cs:79
void OnUpdate()
Definition: Scene.cs:365
void InitPass()
Definition: Scene.cs:1037
GameScreenNoMap screenNoMap
Definition: Scene.cs:97
void Init(Mode newMode)
Definition: Scene.cs:178
Mode
Definition: Scene.cs:10
void OnEndOfFrame()
Definition: ScreenGuide.cs:37
List< CardRow > rows
Definition: SourceCard.cs:6
LangGeneral langGeneral
Definition: SourceManager.cs:6
SourceCard cards
void ImportSourceTexts()
SourceElement elements
void OnChangeLang()
static SourcePrefInspector Instance
static Dictionary< string, SpawnList > allList
Definition: SpawnList.cs:6
static Dictionary< string, SpriteData > dict
static Dictionary< string, SpriteReplacer > dictSkins
static void Add(Sprite sprite)
Definition: SpriteSheet.cs:10
static Dictionary< string, Sprite > dict
Definition: SpriteSheet.cs:6
static HashSet< string > loadedPath
Definition: SpriteSheet.cs:8
Definition: Steam.cs:8
SteamworksBehaviour steamworks
Definition: Steam.cs:11
void Init()
Definition: Steam.cs:24
void RefreshTextures()
void OnDropFile(List< string > paths)
static void Init()
Definition: TileType.cs:271
static Action actionTooltip
Definition: UIButton.cs:184
static WidgetMinimap Instance
static void SetDirty()
Definition: Widget.cs:7
Definition: Window.cs:13
static Dictionary< string, SaveData > dictData
Definition: Window.cs:594
void OnChangeResolution()
void ApplySkin()
string GetText()
Definition: Version.cs:16