Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
Game Class Reference
Inheritance diagram for Game:
EClass

Classes

class  Config
 
class  Flags
 

Public Member Functions

void OnUpdate ()
 
void OnLoad ()
 
void OnGameInstantiated ()
 
void _Create ()
 
void StartNewGame ()
 
void AddAdventurers ()
 
void GotoTitle (bool showDialog=true)
 
void Quit ()
 
bool Save (bool isAutoSave=false, bool silent=false)
 
void OnBeforeSave ()
 
void Kill ()
 
void Pause (Action onUnpause=null)
 

Static Public Member Functions

static new void Wait (float a, Point p)
 
static new void Wait (float a, Card c)
 
static void Wait (float a)
 
static bool TryLoad (string id, bool cloud, Action onLoad)
 
static void Load (string id, bool cloud)
 
static void Create (string _id=null, bool cloud=false)
 
static void OnBeforeInstantiate ()
 
- Static Public Member Functions inherited from EClass
static int rnd (int a)
 
static int curve (int a, int start, int step, int rate=75)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 

Public Attributes

SpatialManager spatials = new SpatialManager()
 
CardManager cards = new CardManager()
 
ReligionManager religions = new ReligionManager()
 
FactionManager factions = new FactionManager()
 
DomainManager domains = new DomainManager()
 
Version version
 
PartyManager parties = new PartyManager()
 
new World world
 
new Player player = new Player()
 
QuestManager quests = new QuestManager()
 
RelationManager relations = new RelationManager()
 
MsgLog log
 
PCCUniformManager uniforms = new PCCUniformManager()
 
TeleportManager teleports = new TeleportManager()
 
int seed
 
int idPrologue
 
int idDifficulty
 
int dateScratch
 
double backupTime
 
Flags flags = new Flags()
 
Config config = new Config()
 
List< ThinglostThings = new List<Thing>()
 
GamePrincipal principal = new GamePrincipal()
 
int gameSpeedIndex = 1
 
int lastGameSpeedIndex = 1
 
int sessionMin
 
int countLoadedMaps
 
int saveCount
 
float timeSinceStart
 
bool isLoading
 
bool isKilling
 
bool isCloud
 
GameBlueprint bp
 
GameUpdater updater = new GameUpdater()
 
Zone activeZone
 
Zone lastActiveZone
 
Dictionary< string, IGlobalValuereferenceMap = new Dictionary<string, IGlobalValue>()
 
HashSet< Texture2D > loadedTextures = new HashSet<Texture2D>()
 

Static Public Attributes

static Game Instance
 
static float waitTimer
 
static string id
 
static bool isPaused
 
- Static Public Attributes inherited from EClass
static Core core
 

Properties

static bool IsWaiting [get]
 
Prologue Prologue [get]
 
bool UseGrid [get]
 
bool altUI [get]
 
bool altInv [get]
 
bool altCraft [get]
 
bool altAbility [get]
 
Zone StartZone [get]
 
- Properties inherited from EClass
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 Faction Wilds [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 SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Private Member Functions

void OnSerializing (StreamingContext context)
 
void OnDeserializing (StreamingContext context)
 

Private Attributes

float welcomeTimer
 

Detailed Description

Definition at line 7 of file Game.cs.

Member Function Documentation

◆ _Create()

void Game._Create ( )
inline

Definition at line 735 of file Game.cs.

736 {
737 principal = IO.DeepCopy(EClass.setting.start.principals[0]);
738 idDifficulty = 1;
739 config.snapFreePos = (config.slope = (config.autoWall = true));
740 config.autoCombat.abortOnAllyDead = true;
741 config.autoCombat.abortOnHalfHP = true;
742 config.autoCombat.bUseHotBar = true;
743 config.autoCombat.bUseInventory = true;
744 config.autoCombat.bDontChangeTarget = true;
745 config.autoCombat.abortOnKill = true;
746 config.autoCombat.abortOnItemLoss = true;
747 seed = EClass.rnd(10000);
748 Debug.Log("creating game: " + id + " seed:" + seed);
749 uniforms.Import();
754 foreach (Spatial value in spatials.map.Values)
755 {
756 value.SetMainFaction(factions.Find(value.source.faction.IsEmpty("wilds")));
757 }
759 cards.container_shipping = ThingGen.Create("container_shipping");
760 cards.container_deliver = ThingGen.Create("container_delivery");
761 cards.container_deposit = ThingGen.Create("container_deposit");
762 bp = new GameBlueprint();
763 bp.Create();
764 }
void OnCreateGame()
Definition: DomainManager.cs:7
Definition: EClass.cs:5
static int rnd(int a)
Definition: EClass.cs:50
static GameSetting setting
Definition: EClass.cs:34
Faction Find(string id)
List< GamePrincipal > principals
Definition: GameSetting.cs:244
StartSetting start
Definition: GameSetting.cs:305
GameBlueprint bp
Definition: Game.cs:241
new Player player
Definition: Game.cs:176
ReligionManager religions
Definition: Game.cs:158
GamePrincipal principal
Definition: Game.cs:221
DomainManager domains
Definition: Game.cs:164
SpatialManager spatials
Definition: Game.cs:152
PCCUniformManager uniforms
Definition: Game.cs:191
new World world
Definition: Game.cs:173
int idDifficulty
Definition: Game.cs:203
int seed
Definition: Game.cs:197
FactionManager factions
Definition: Game.cs:161
Definition: IO.cs:11
void OnCreateGame()
Definition: Player.cs:1149
static Spatial CreateRecursive(string id, Spatial parent=null)
Definition: SpatialGen.cs:3
GlobalSpatialList map
SourceZone.Row source
Definition: Spatial.cs:441
virtual void SetMainFaction(Faction f)
Definition: Spatial.cs:632
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: World.cs:4

References ZoneBlueprint.Create(), ThingGen.Create(), SpatialGen.CreateRecursive(), Debug, FactionManager.Find(), SpatialManager.map, DomainManager.OnCreateGame(), FactionManager.OnCreateGame(), Player.OnCreateGame(), ReligionManager.OnCreateGame(), GameSetting.StartSetting.principals, EClass.rnd(), seed, Spatial.SetMainFaction(), EClass.setting, Spatial.source, GameSetting.start, and world.

Referenced by Create().

◆ AddAdventurers()

void Game.AddAdventurers ( )
inline

Definition at line 904 of file Game.cs.

905 {
906 List<Zone> source = world.region.ListTowns();
907 string[] array = new string[6] { "adv_kiria", "adv_gaki", "adv_wini", "adv_verna", "adv_ivory", "adv_mesherada" };
908 for (int i = 0; i < EClass.setting.balance.numAdv; i++)
909 {
910 Zone zone = source.RandomItem();
911 if (zone is Zone_SubTown && EClass.rnd(5) != 0)
912 {
913 i--;
914 continue;
915 }
916 if (i >= array.Length && i < array.Length + 2)
917 {
919 }
920 Chara chara = CharaGen.Create((i < array.Length) ? array[i] : ((EClass.rnd(10) == 0) ? "adv_fairy" : "adv"));
921 chara.SetHomeZone(zone);
922 chara.global.transition = new ZoneTransition
923 {
924 state = ZoneTransition.EnterState.RandomVisit
925 };
926 zone.AddCard(chara);
927 cards.listAdv.Add(chara);
928 }
929 }
static void Set(CardBlueprint _bp)
static CardBlueprint Chara(int lv, Rarity rarity=Rarity.Normal)
List< Chara > listAdv
Definition: CardManager.cs:64
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
Definition: Chara.cs:10
void SetHomeZone(Zone zone)
Definition: Chara.cs:1234
BalanceSetting balance
Definition: GameSetting.cs:309
CardManager cards
Definition: Game.cs:155
List< Zone > ListTowns()
Definition: Region.cs:231
Region region
Definition: World.cs:23
Definition: Zone.cs:12
Card AddCard(Card t, Point point)
Definition: Zone.cs:1893

References Zone.AddCard(), GameSetting.balance, CardBlueprint.Chara(), CharaGen.Create(), CardManager.listAdv, GameSetting.BalanceSetting.numAdv, EClass.rnd(), CardBlueprint.Set(), Chara.SetHomeZone(), EClass.setting, and world.

Referenced by OnLoad().

◆ Create()

static void Game.Create ( string  _id = null,
bool  cloud = false 
)
inlinestatic

Definition at line 693 of file Game.cs.

694 {
695 id = _id ?? GameIO.GetNewId(cloud ? CorePath.RootSaveCloud : CorePath.RootSave, "world_");
697 EClass.core.game = (Instance = new Game());
698 EClass.core.game.isCloud = cloud;
702 }
static string RootSave
Definition: CorePath.cs:206
static string RootSaveCloud
Definition: CorePath.cs:208
Game game
Definition: Core.cs:72
static Core core
Definition: EClass.cs:6
Definition: GameIO.cs:10
static string GetNewId(string path, string prefix="", int start=1)
Definition: GameIO.cs:352
static void ResetTemp()
Definition: GameIO.cs:51
Definition: Game.cs:8
void _Create()
Definition: Game.cs:735
static void OnBeforeInstantiate()
Definition: Game.cs:704
static Game Instance
Definition: Game.cs:143
void OnGameInstantiated()
Definition: Game.cs:709

References _Create(), EClass.core, Core.game, GameIO.GetNewId(), OnGameInstantiated(), GameIO.ResetTemp(), CorePath.RootSave, and CorePath.RootSaveCloud.

Referenced by LayerEditBio.OnAfterAddLayer(), LayerEmbark.OnAfterAddLayer(), and CoreDebug.QuickStart().

◆ GotoTitle()

void Game.GotoTitle ( bool  showDialog = true)
inline

Definition at line 931 of file Game.cs.

932 {
933 if (showDialog)
934 {
935 Dialog.YesNo("dialog_gotoTitle", delegate
936 {
937 if (EClass.game.Save(isAutoSave: true))
938 {
939 EClass.scene.Init(Scene.Mode.Title);
940 }
941 });
942 }
943 else
944 {
945 EClass.scene.Init(Scene.Mode.Title);
946 }
947 }
Definition: Dialog.cs:7
static Dialog YesNo(string langDetail, Action actionYes, Action actionNo=null, string langYes="yes", string langNo="no")
Definition: Dialog.cs:244
static Game game
Definition: EClass.cs:8
static Scene scene
Definition: EClass.cs:30
bool Save(bool isAutoSave=false, bool silent=false)
Definition: Game.cs:960
Definition: Scene.cs:8
void Init(Mode newMode)
Definition: Scene.cs:172
Mode
Definition: Scene.cs:10

References EClass.game, Scene.Init(), Save(), EClass.scene, and Dialog.YesNo().

Referenced by LayerPauseMenu.OnClickTitle(), and HotItemContext.Show().

◆ Kill()

void Game.Kill ( )
inline

Definition at line 1030 of file Game.cs.

1031 {
1032 isKilling = true;
1033 Debug.Log("Killing Game: IsStarted? " + EClass.core.IsGameStarted);
1035 {
1036 EClass.ui.OnKillGame();
1039 }
1040 EClass.core.game = (Instance = null);
1041 EClass.Sound.currentPlaylist = null;
1042 Window.dictTab.Clear();
1043 foreach (Texture2D loadedTexture in loadedTextures)
1044 {
1045 if (loadedTexture != null)
1046 {
1047 UnityEngine.Object.Destroy(loadedTexture);
1048 }
1049 }
1050 }
bool IsGameStarted
Definition: Core.cs:84
static UI ui
Definition: EClass.cs:16
HashSet< Texture2D > loadedTextures
Definition: Game.cs:251
Zone activeZone
Definition: Game.cs:245
bool isKilling
Definition: Game.cs:237
void OnKillGame()
Definition: Scene.cs:330
Definition: Window.cs:13
static Dictionary< string, int > dictTab
Definition: Window.cs:596
void OnKillGame()
Definition: Zone.cs:1634

References EClass.core, Debug, Window.dictTab, Core.IsGameStarted, Scene.OnKillGame(), Zone.OnKillGame(), EClass.scene, and EClass.ui.

Referenced by Scene.Init(), Load(), and Core.SetLang().

◆ Load()

static void Game.Load ( string  id,
bool  cloud 
)
inlinestatic

Definition at line 313 of file Game.cs.

314 {
315 string text = (cloud ? CorePath.RootSaveCloud : CorePath.RootSave) + id;
316 Debug.Log("Loading: " + id + ": " + text);
317 if (EClass.game != null)
318 {
319 EClass.game.Kill();
320 }
322 EClass.core.game = GameIO.LoadGame(id, text, cloud);
323 EClass.game.isCloud = cloud;
324 EClass.game.isLoading = true;
328 EClass.scene.Init(Scene.Mode.StartGame);
329 if (EClass.game.altInv)
330 {
331 SoundManager.ignoreSounds = true;
333 {
334 EClass.ui.OpenFloatInv();
335 }
336 SoundManager.ignoreSounds = true;
338 {
339 EClass.ui.ToggleAbility();
340 }
341 SoundManager.ignoreSounds = false;
342 TooltipManager.Instance.HideTooltips(immediate: true);
343 }
344 EClass.game.isLoading = false;
345 }
static void ClearTemp()
Definition: GameIO.cs:61
static Game LoadGame(string id, string root, bool cloud)
Definition: GameIO.cs:150
void Kill()
Definition: Game.cs:1030
bool altInv
Definition: Game.cs:263
void OnLoad()
Definition: Game.cs:347
bool layerAbility
Definition: Player.cs:35
bool layerInventory
Definition: Player.cs:33
Pref pref
Definition: Player.cs:814
static TooltipManager Instance
void HideTooltips(bool immediate=false)

References altInv, GameIO.ClearTemp(), Debug, EClass.game, TooltipManager.HideTooltips(), Scene.Init(), TooltipManager.Instance, Kill(), Player.Pref.layerAbility, Player.Pref.layerInventory, GameIO.LoadGame(), OnBeforeInstantiate(), OnGameInstantiated(), OnLoad(), player, Player.pref, CorePath.RootSave, EClass.scene, and EClass.ui.

Referenced by AM_Adv._OnUpdateInput(), Map.Reload(), and CoreDebug.UpdateInput().

◆ OnBeforeInstantiate()

static void Game.OnBeforeInstantiate ( )
inlinestatic

Definition at line 704 of file Game.cs.

705 {
706 Player.seedHallucination = 0;
707 }

Referenced by Load().

◆ OnBeforeSave()

void Game.OnBeforeSave ( )
inline

Definition at line 1016 of file Game.cs.

1017 {
1018 foreach (Zone zone in spatials.Zones)
1019 {
1020 zone.OnBeforeSave();
1021 }
1023 foreach (Spatial item in spatials.listDestryoed)
1024 {
1025 item.DeleteMapRecursive();
1026 }
1027 spatials.listDestryoed.Clear();
1028 }
void OnBeforeSave()
Definition: Player.cs:1257
List< Zone > Zones
List< Spatial > listDestryoed
void OnBeforeSave()
Definition: Spatial.cs:654

References item, SpatialManager.listDestryoed, Player.OnBeforeSave(), Spatial.OnBeforeSave(), and SpatialManager.Zones.

◆ OnDeserializing()

void Game.OnDeserializing ( StreamingContext  context)
inlineprivate

Definition at line 1077 of file Game.cs.

1078 {
1079 Debug.Log("#io game OnDeserializing");
1080 Instance = this;
1081 }

References Debug.

◆ OnGameInstantiated()

void Game.OnGameInstantiated ( )
inline

Definition at line 709 of file Game.cs.

710 {
711 HotItemHeld.taskBuild = null;
712 InvOwner.Trader = (InvOwner.Main = null);
713 LayerDrama.currentQuest = null;
714 BookList.Init();
715 ContentGallery.lastPage = 0;
716 ContentGallery.listMode = false;
717 if (!Application.isEditor || !EClass.debug.enable)
718 {
720 }
721 foreach (Chara value in cards.globalCharas.Values)
722 {
723 if (value.uid == player.uidChara)
724 {
725 player.chara = value;
726 break;
727 }
728 }
730 EClass.ui.widgets.OnGameInstantiated();
731 EClass.Sound.ResetPlaylist();
732 EClass.core.config.ApplyFPS(force: true);
733 }
static void OnGameInstantiated()
Definition: ActionMode.cs:247
static void Init()
Definition: BookList.cs:20
GlobalCharaList globalCharas
Definition: CardManager.cs:46
int uid
Definition: Card.cs:118
void ApplyFPS(bool force=false)
Definition: CoreConfig.cs:824
bool enable
Definition: CoreDebug.cs:285
CoreConfig config
Definition: Core.cs:70
static CoreDebug debug
Definition: EClass.cs:48
static SoundManager Sound
Definition: EClass.cs:46
int uidChara
Definition: Player.cs:676
static void BuildList()

References CoreConfig.ApplyFPS(), RecipeManager.BuildList(), Core.config, EClass.core, EClass.debug, CoreDebug.enable, CardManager.globalCharas, BookList.Init(), ActionMode.OnGameInstantiated(), EClass.Sound, EClass.ui, Card.uid, and Player.uidChara.

Referenced by Create(), and Load().

◆ OnLoad()

void Game.OnLoad ( )
inline

Definition at line 347 of file Game.cs.

348 {
349 domains.OnLoad();
352 world._OnLoad();
353 player.OnLoad();
355 {
356 EClass.pc.party.members.ForEach(delegate(Chara c)
357 {
358 c.currentZone = EClass.pc.homeZone;
359 c.global.transition = new ZoneTransition
360 {
361 state = ZoneTransition.EnterState.Return
362 };
363 });
364 }
365 player.zone = EClass.pc.currentZone;
366 EClass.pc.currentZone.lastActive = world.date.GetRaw();
367 if (spatials.Find("somewhere") == null)
368 {
369 SpatialGen.Create("somewhere", world.region, register: true);
370 }
371 EClass.pc.homeZone.isKnown = true;
374 foreach (Thing item in EClass.pc.things.List((Thing t) => t.Num <= 0 || t.isDestroyed))
375 {
376 item.parent.RemoveCard(item);
377 }
378 foreach (Thing item2 in EClass.pc.things.List((Thing t) => t.trait is TraitChestMerchant))
379 {
380 item2.Destroy();
381 }
382 foreach (Thing item3 in EClass.pc.things.List((Thing t) => t.invY == 1 && t.invX == -1))
383 {
384 item3.invY = 0;
385 }
386 foreach (Chara value in EClass.game.cards.globalCharas.Values)
387 {
388 if (value.id == "demitas" && value.faction.id == "wilds")
389 {
391 }
392 if (value.memberType == FactionMemberType.Livestock && !value.IsPCFaction)
393 {
394 value.memberType = FactionMemberType.Default;
395 }
396 if (!value.isDyed && value.HasTag(CTAG.random_color))
397 {
398 value.DyeRandom();
399 }
400 }
401 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
402 {
403 foreach (Chara member in child.members)
404 {
405 if (!member.isDead && (member.currentZone == null || member.currentZone.id == "somewhere"))
406 {
407 Debug.Log("exception: Moving invalid chara: " + member.Name + "/" + member.currentZone?.ToString() + "/" + member.homeBranch?.ToString() + "/" + member.faction);
408 member.MoveZone(child.owner, ZoneTransition.EnterState.RandomVisit);
409 }
410 member.RefreshWorkElements(child.owner.elements);
411 member.Refresh();
412 }
413 }
414 EClass.pc.angle = player.angle;
416 if (cards.listAdv.Count == 0)
417 {
419 }
420 quests.list.ForeachReverse(delegate(Quest q)
421 {
422 if (!(q is QuestRandom))
423 {
424 foreach (Quest item4 in quests.list)
425 {
426 if (q != item4 && item4.id == q.id)
427 {
428 quests.list.Remove(item4);
429 break;
430 }
431 }
432 }
433 });
434 quests.globalList.ForeachReverse(delegate(Quest q)
435 {
436 if (!(q is QuestRandom))
437 {
438 foreach (Quest global in quests.globalList)
439 {
440 if (q != global && global.id == q.id)
441 {
442 quests.globalList.Remove(global);
443 break;
444 }
445 }
446 }
447 });
448 QuestDebt questDebt = EClass.game.quests.Get<QuestDebt>();
449 if (questDebt != null && questDebt.stage == 6)
450 {
451 if (player.debt == 19900000)
452 {
453 EClass.pc.AddCard(ThingGen.Create("ticket_champagne"));
454 questDebt.stage = 3;
455 }
456 if (player.debt == 19530000)
457 {
458 EClass.pc.AddCard(ThingGen.Create("loytel_mart"));
459 EClass.pc.AddCard(ThingGen.Create("ticket_massage"));
460 player.debt = 19500000;
461 questDebt.stage = 5;
462 }
463 }
464 TryAddQuest("into_darkness", "exile_kettle");
465 if (version.IsBelow(0, 23, 100))
466 {
467 int num = player.recipes.knownRecipes.TryGetValue("trainingDummy_heavy", 0);
468 if (num != 0)
469 {
470 player.recipes.knownRecipes["trainingDummy_heavy1"] = num;
471 }
472 }
473 if (version.IsBelow(0, 23, 96))
474 {
475 EClass.game.principal = IO.DeepCopy(EClass.setting.start.principals[0]);
476 player.resetPrincipal = true;
477 }
479 {
481 EClass.game.principal.id = -1;
482 EClass.game.principal.permadeath = gameDifficultySetting.deleteGameOnDeath;
483 EClass.game.principal.disableManualSave = !gameDifficultySetting.allowManualSave;
484 EClass.core.actionsNextFrame.Add(delegate
485 {
486 EClass.ui.AddLayer<LayerWorldSetting>();
487 });
488 }
489 if (version.IsBelow(0, 23, 93))
490 {
492 Debug.Log("â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– feafefaeffaeaffeaaeaefseasfaefaef");
493 while (TryAddRecipe())
494 {
495 }
496 }
497 if (version.IsBelow(0, 23, 72))
498 {
499 foreach (Chara value2 in EClass.game.cards.globalCharas.Values)
500 {
501 if (!value2.isDead)
502 {
503 value2.c_wasInPcParty = false;
504 }
505 }
506 }
507 if (version.IsBelow(0, 23, 59))
508 {
509 while (TryDestroy())
510 {
511 }
512 }
513 if (version.IsBelow(0, 23, 52))
514 {
515 player.flags.toggleHotbarHighlightActivated = true;
516 }
517 if (version.IsBelow(0, 23, 51))
518 {
519 foreach (Chara value3 in EClass.game.cards.globalCharas.Values)
520 {
521 if (!(value3.id != "adv") && value3.IsPCFaction)
522 {
523 value3.idSkin = value3.uid % (value3.source._tiles.Length - 4) / 2 * 2 + ((!value3.IsMale) ? 1 : 0);
524 }
525 }
526 }
527 if (version.IsBelow(0, 22, 91))
528 {
529 TryAddQuestIfActive("demitas_spellwriter", "into_darkness");
530 }
531 if (version.IsBelow(0, 22, 86))
532 {
533 Chara chara = cards.globalCharas.Find("demitas");
534 if (chara != null && chara._works != null && chara._works.Count > 0)
535 {
536 chara._works[0] = 51;
537 }
538 }
539 if (version.IsBelow(0, 22, 86))
540 {
541 TryAddQuest("farris_tulip", "greatDebt");
542 }
543 if (version.IsBelow(0, 22, 86))
544 {
545 TryAddQuest("exile_whisper", "exile_kettle");
546 }
547 if (version.IsBelow(0, 22, 85))
548 {
549 TryAddQuest("exile_meet", "pre_debt");
550 }
551 if (version.IsBelow(0, 22, 60) && EClass.game.quests.Get<QuestDebt>() != null)
552 {
553 Chara chara2 = cards.globalCharas.Find("loytel");
554 Debug.Log("Loytelfix: " + chara2.homeZone);
555 if (chara2.homeZone == null || !chara2.homeZone.IsPCFaction)
556 {
558 chara2.homeZone = EClass.pc.homeBranch.owner;
559 chara2.RemoveEditorTag(EditorTag.Invulnerable);
560 }
561 }
562 if (version.IsBelow(0, 22, 52) && quests.completedIDs.Contains("vernis_gold"))
563 {
564 quests.Add("pre_debt", "farris");
565 }
566 if (quests.completedIDs.Contains("farris_tulip"))
567 {
568 quests.globalList.ForeachReverse(delegate(Quest q)
569 {
570 if (q.id == "farris_tulip")
571 {
572 quests.globalList.Remove(q);
573 }
574 });
575 }
576 quests.list.ForeachReverse(delegate(Quest q)
577 {
578 if (q is QuestDialog && quests.completedIDs.Contains(q.id))
579 {
580 quests.list.Remove(q);
581 }
582 });
583 if (version.IsBelow(0, 22, 20))
584 {
585 foreach (Chara value4 in cards.globalCharas.Values)
586 {
587 value4.SetBool(18, enable: false);
588 }
589 }
590 if (version.IsBelow(0, 22, 22))
591 {
592 if (EClass.pc.faithElements != null)
593 {
595 }
596 foreach (Element item5 in EClass.pc.elements.ListElements((Element e) => e.source.categorySub == "god"))
597 {
598 EClass.pc.SetFeat(item5.id, 0);
599 }
601 }
602 if (version.IsBelow(0, 22, 45))
603 {
604 player.debt = 20000000;
605 }
607 {
609 }
610 if (cards.container_deposit == null)
611 {
612 cards.container_deposit = ThingGen.Create("container_deposit");
613 if (player.bankMoney > 0)
614 {
616 }
617 }
618 foreach (Quest item6 in quests.list)
619 {
620 if (item6 is QuestSequence && !EClass.sources.quests.map.ContainsKey(item6.idSource))
621 {
622 item6.phase = 0;
623 }
624 }
625 foreach (Quest global2 in quests.globalList)
626 {
627 if (global2 is QuestSequence && !EClass.sources.quests.map.ContainsKey(global2.idSource))
628 {
629 global2.phase = 0;
630 }
631 }
632 void TryAddQuest(string idQuest, string idReqQuest)
633 {
634 if (quests.completedIDs.Contains(idReqQuest) && !quests.completedIDs.Contains(idQuest) && quests.GetGlobal(idQuest) == null && quests.Get(idQuest) == null)
635 {
636 quests.Add(idQuest);
637 }
638 }
639 void TryAddQuestIfActive(string idQuest, string idReqQuest)
640 {
641 if (quests.Get(idReqQuest) != null && !quests.completedIDs.Contains(idQuest) && quests.GetGlobal(idQuest) == null && quests.Get(idQuest) == null)
642 {
643 quests.Add(idQuest);
644 }
645 }
646 bool TryAddRecipe()
647 {
648 foreach (string key in player.recipes.knownRecipes.Keys)
649 {
650 if (key.Length > 1 && key[0] == 'b')
651 {
652 RecipeSource recipeSource = RecipeManager.Get(key + "-p");
653 if (recipeSource != null && !player.recipes.knownRecipes.ContainsKey(recipeSource.id))
654 {
655 Debug.Log(recipeSource.id);
656 player.recipes.Add(recipeSource.id, showEffect: false);
657 return true;
658 }
659 recipeSource = RecipeManager.Get(key.Replace("-p", ""));
660 if (recipeSource != null && !player.recipes.knownRecipes.ContainsKey(recipeSource.id))
661 {
662 Debug.Log(recipeSource.id);
663 player.recipes.Add(recipeSource.id, showEffect: false);
664 return true;
665 }
666 }
667 }
668 return false;
669 }
670 static bool TryDestroy()
671 {
672 for (int i = 0; i < EClass.pc.party.members.Count; i++)
673 {
674 Chara chara3 = EClass.pc.party.members[i];
675 Debug.Log(chara3.id + "/" + chara3.uid + "/" + chara3._cints[1]);
676 for (int j = 0; j < EClass.pc.party.members.Count; j++)
677 {
678 Chara chara4 = EClass.pc.party.members[j];
679 if (i != j && chara3.uid == chara4.uid)
680 {
681 EClass.pc.party.uidMembers.RemoveAt(j);
682 EClass.pc.party.members.RemoveAt(j);
683 chara4.Destroy();
684 Debug.Log("Destroyed");
685 return true;
686 }
687 }
688 }
689 return false;
690 }
691 }
CTAG
Definition: CTAG.cs:2
EditorTag
Definition: EditorTag.cs:2
FactionMemberType
void SetBool(int id, bool enable)
Definition: BaseCard.cs:20
List< Action > actionsNextFrame
Definition: BaseCore.cs:31
Version version
Definition: BaseCore.cs:17
Chara Find(string id)
Definition: CardManager.cs:20
Thing container_deposit
Definition: CardManager.cs:58
bool isDestroyed
Definition: Card.cs:71
void RemoveEditorTag(EditorTag tag)
Definition: Card.cs:2470
ElementContainerCard elements
Definition: Card.cs:37
string id
Definition: Card.cs:31
Card AddCard(Card c)
Definition: Card.cs:2887
int invY
Definition: Card.cs:1831
bool IsMale
Definition: Card.cs:2244
string Name
Definition: Card.cs:2013
bool HasTag(CTAG tag)
Definition: Card.cs:2455
void DyeRandom()
Definition: Card.cs:5262
Trait trait
Definition: Card.cs:49
bool isDyed
Definition: Card.cs:430
void Destroy()
Definition: Card.cs:4538
ThingContainer things
Definition: Card.cs:34
int invX
Definition: Card.cs:1819
Thing Add(string id, int num=1, int lv=1)
Definition: Card.cs:2878
int Num
Definition: Card.cs:154
void Refresh(bool calledRecursive=false)
Definition: Chara.cs:1504
int[] _cints
Definition: Chara.cs:79
void RefreshWorkElements(ElementContainer parent=null)
Definition: Chara.cs:8175
Faction faction
Definition: Chara.cs:412
void SetFeat(int id, int value=1, bool msg=false)
Definition: Chara.cs:8964
Party party
Definition: Chara.cs:43
override bool IsPCFaction
Definition: Chara.cs:656
Zone currentZone
Definition: Chara.cs:240
FactionMemberType memberType
Definition: Chara.cs:46
Zone homeZone
Definition: Chara.cs:252
void RefreshFaithElement()
Definition: Chara.cs:9166
ElementContainer faithElements
Definition: Chara.cs:38
FactionBranch homeBranch
Definition: Chara.cs:889
bool isDead
Definition: Chara.cs:374
List< int > _works
Definition: Chara.cs:52
void MoveZone(string alias)
Definition: Chara.cs:3010
void OnLoad()
Definition: CoreDebug.cs:686
int GetRaw(int offsetHours=0)
Definition: Date.cs:322
static SourceManager sources
Definition: EClass.cs:42
static Chara pc
Definition: EClass.cs:14
List< Element > ListElements(Func< Element, bool > shoudList=null, Comparison< Element > comparison=null)
void SetParent(Card c)
int id
Definition: ELEMENT.cs:240
SourceElement.Row source
Definition: ELEMENT.cs:263
List< Chara > members
void AddMemeber(Chara c)
List< FactionBranch > GetChildren()
Definition: FACTION.cs:200
string id
Definition: FACTION.cs:127
List< GameDifficultySetting > difficulties
Definition: GameSetting.cs:242
void AddAdventurers()
Definition: Game.cs:904
QuestManager quests
Definition: Game.cs:179
Version version
Definition: Game.cs:167
List< int > uidMembers
Definition: Party.cs:11
List< Chara > members
Definition: Party.cs:18
int debt
Definition: Player.cs:754
RecipeManager recipes
Definition: Player.cs:898
float angle
Definition: Player.cs:772
bool resetPrincipal
Definition: Player.cs:978
void OnLoad()
Definition: Player.cs:1233
int bankMoney
Definition: Player.cs:721
int stage
Definition: QuestDebt.cs:12
HashSet< string > completedIDs
Definition: QuestManager.cs:17
List< Quest > list
Definition: QuestManager.cs:11
Quest Add(string id, string idGlobalChara=null)
Definition: QuestManager.cs:29
List< Quest > globalList
Definition: QuestManager.cs:14
Quest Get(string id)
Quest GetGlobal(string id)
Definition: Quest.cs:7
virtual string idSource
Definition: Quest.cs:149
string id
Definition: Quest.cs:31
static RecipeSource Get(string id)
Dictionary< string, int > knownRecipes
void Add(string id, bool showEffect=true)
void OnVersionUpdate()
SourceQuest quests
static Spatial Create(string id, Spatial parent, bool register, int x=-99999, int y=-99999, int icon=0)
Definition: SpatialGen.cs:16
Zone Find(string id)
void _OnLoad()
Definition: Spatial.cs:663
bool destryoed
Definition: Spatial.cs:45
string id
Definition: Spatial.cs:13
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)
void RefreshGridRecursive()
Definition: Thing.cs:8
GameDate date
Definition: World.cs:6
override string ToString()
Definition: Zone.cs:538
ElementContainerZone elements
Definition: Zone.cs:43
bool IsPCFaction
Definition: Zone.cs:464
override bool Equals(object obj)
Definition: Version.cs:86
bool IsBelow(int _major, int _minor, int _batch)
Definition: Version.cs:31

References Spatial._OnLoad(), AddAdventurers(), FactionBranch.AddMemeber(), Player.angle, cards, ElementContainerCard.CheckSkillActions(), SpatialGen.Create(), Chara.currentZone, World.date, EClass.debug, Debug, Card.Destroy(), Spatial.destryoed, domains, Card.DyeRandom(), Card.elements, Zone.elements, Chara.faction, factions, SpatialManager.Find(), EClass.game, Faction.GetChildren(), Date.GetRaw(), CardManager.globalCharas, Card.HasTag(), Chara.homeBranch, Chara.homeZone, Card.id, Faction.id, Spatial.id, Card.invX, Card.invY, Chara.isDead, Card.isDestroyed, Card.isDyed, Chara.IsPCFaction, item, QuestManager.list, ThingContainer.List(), CardManager.listAdv, FactionBranch.members, Party.members, Chara.memberType, Chara.MoveZone(), Card.Name, Card.Num, CoreDebug.OnLoad(), DomainManager.OnLoad(), FactionManager.OnLoad(), Player.OnLoad(), ReligionManager.OnLoad(), FactionBranch.owner, Chara.party, EClass.pc, player, quests, Chara.Refresh(), ThingContainer.RefreshGridRecursive(), Chara.RefreshWorkElements(), World.region, religions, spatials, Card.things, Zone.ToString(), Card.trait, and world.

Referenced by Load().

◆ OnSerializing()

void Game.OnSerializing ( StreamingContext  context)
inlineprivate

Definition at line 1071 of file Game.cs.

1072 {
1073 Debug.Log("#io game OnSerializing");
1074 }

References Debug.

◆ OnUpdate()

void Game.OnUpdate ( )
inline

Definition at line 289 of file Game.cs.

290 {
291 backupTime += Time.deltaTime;
292 waitTimer -= Time.deltaTime;
293 timeSinceStart += Time.deltaTime;
294 player.stats.timeElapsed += Time.deltaTime;
296 {
297 flags.IsWelcomeMessageShown = true;
298 }
300 }
void FixedUpdate()
Definition: GameUpdater.cs:436
bool IsWelcomeMessageShown
Definition: Game.cs:119
GameUpdater updater
Definition: Game.cs:243
static float waitTimer
Definition: Game.cs:145
Flags flags
Definition: Game.cs:212
double backupTime
Definition: Game.cs:209
float timeSinceStart
Definition: Game.cs:233
double timeElapsed
Definition: Player.cs:62
Stats stats
Definition: Player.cs:817

References backupTime, GameUpdater.FixedUpdate(), flags, Game.Flags.IsWelcomeMessageShown, player, Player.stats, Player.Stats.timeElapsed, timeSinceStart, updater, and waitTimer.

Referenced by Core.Update().

◆ Pause()

void Game.Pause ( Action  onUnpause = null)
inline

Definition at line 1052 of file Game.cs.

1053 {
1054 isPaused = true;
1055 LayerPause layerPause = EClass.ui.AddLayer<LayerPause>();
1056 Game lastGame = EClass.game;
1057 if (onUnpause == null)
1058 {
1059 return;
1060 }
1061 layerPause.SetOnKill(delegate
1062 {
1063 if (EClass.core.IsGameStarted && lastGame == EClass.game)
1064 {
1065 onUnpause();
1066 }
1067 });
1068 }
static bool isPaused
Definition: Game.cs:149
Layer SetOnKill(Action action)
Definition: Layer.cs:579

References EClass.core, EClass.game, Core.IsGameStarted, Layer.SetOnKill(), and EClass.ui.

Referenced by ZoneEventQuest.OnTickRound(), and ZoneEventQuest.SpawnBoss().

◆ Quit()

void Game.Quit ( )
inline

Definition at line 949 of file Game.cs.

950 {
951 Dialog.YesNo("dialog_quit", delegate
952 {
953 if (EClass.game.Save())
954 {
955 EClass.core.Quit();
956 }
957 });
958 }

References EClass.game, Save(), and Dialog.YesNo().

Referenced by EUtil.ExitGame(), LayerPauseMenu.OnClickExit(), and HotItemContext.Show().

◆ Save()

bool Game.Save ( bool  isAutoSave = false,
bool  silent = false 
)
inline

Definition at line 960 of file Game.cs.

961 {
962 if (EClass.ui.IsDragging)
963 {
964 EClass.ui.EndDrag(canceled: true);
965 }
966 if (isAutoSave && EClass.debug.ignoreAutoSave)
967 {
968 return true;
969 }
970 bool flag = EClass.core.config.game.autoBackup && backupTime >= (double)(EClass.core.config.game.backupInterval * 60 * 30);
971 if (flag)
972 {
973 backupTime = 0.0;
974 }
976 countLoadedMaps = 0;
977 player.pref.layerInventory = EClass.ui.layerFloat.GetLayer<LayerInventory>();
979 {
980 player.pref.layerAbility = EClass.ui.layerFloat.GetLayer<LayerAbility>();
981 }
982 player.pref.layerCraft = EClass.ui.layerFloat.GetLayer<LayerCraftFloat>();
983 player.angle = EClass.pc.angle;
985 EClass.ui.widgets.UpdateConfigs();
986 GameIndex gameIndex = null;
987 try
988 {
989 OnBeforeSave();
990 gameIndex = GameIO.SaveGame();
991 }
992 catch (Exception ex)
993 {
994 EClass.ui.Say(ex.Message);
995 SE.Beep();
996 Msg.Say("error_save");
997 return false;
998 }
999 if (flag)
1000 {
1001 GameIO.MakeBackup(gameIndex);
1002 EClass.ui.Say("backupDone");
1003 }
1004 if (!silent)
1005 {
1006 if (!isAutoSave)
1007 {
1008 SE.WriteJournal();
1009 }
1010 Msg.Say("saved");
1011 }
1012 saveCount++;
1013 return true;
1014 }
float angle
Definition: Card.cs:67
new GameConfig game
Definition: CoreConfig.cs:596
void TryUpdatePlayedHour()
Definition: CoreConfig.cs:798
bool ignoreAutoSave
Definition: CoreDebug.cs:125
static GameIndex SaveGame()
Definition: GameIO.cs:79
static void MakeBackup(GameIndex index, string suffix="")
Definition: GameIO.cs:112
int countLoadedMaps
Definition: Game.cs:229
int saveCount
Definition: Game.cs:231
void OnBeforeSave()
Definition: Game.cs:1016
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58

References Card.angle, CoreConfig.GameConfig.backupInterval, Core.config, EClass.core, EClass.debug, CoreConfig.game, CoreDebug.ignoreAutoSave, Player.Pref.layerInventory, GameIO.MakeBackup(), EClass.pc, Player.pref, GameIO.SaveGame(), Msg.Say(), CoreConfig.TryUpdatePlayedHour(), EClass.ui, and BaseCore.version.

Referenced by AM_Adv._OnUpdateInput(), LayerSleep.Advance(), LayerNewZone.Embark(), GotoTitle(), Scene.Init(), Chara.MoveZone(), LayerPauseMenu.OnClickSave(), TraitDeedRelocate.OnRead(), DramaManager.ParseLine(), Quit(), Map.Reload(), HotItemContext.Show(), and CoreDebug.UpdateInput().

◆ StartNewGame()

void Game.StartNewGame ( )
inline

Definition at line 766 of file Game.cs.

767 {
768 EClass.pc.homeZone = StartZone;
771 Prologue prologue = EClass.game.Prologue;
772 CharaGen.Create("fiama").SetGlobal(EClass.game.StartZone, prologue.posFiama.x, prologue.posFiama.y);
773 CharaGen.Create("ashland").SetGlobal(EClass.game.StartZone, prologue.posAsh.x, prologue.posAsh.y);
774 if ((bool)LayerTitle.actor)
775 {
776 world.date.hour = EClass.game.Prologue.hour;
778 Player obj = player;
779 Chara chara = EClass.pc;
780 Zone zone2 = (EClass.pc.homeZone = EClass.game.spatials.Find(EClass.game.Prologue.idStartZone));
781 Zone zone4 = (chara.currentZone = zone2);
782 obj.zone = zone4;
783 EClass.pc.global.transition = new ZoneTransition
784 {
785 state = ZoneTransition.EnterState.Exact,
787 z = EClass.game.Prologue.startZ
788 };
789 EClass.pc.hp = EClass.pc.MaxHP;
792 EClass.pc.AddCondition<ConFaint>(200, force: true);
793 }
794 else
795 {
796 EClass.pc.homeZone = EClass.game.spatials.Find(EClass.game.Prologue.idStartZone);
797 Zone zone5 = null;
798 ZoneTransition transition = new ZoneTransition
799 {
800 state = ZoneTransition.EnterState.Auto
801 };
802 Chara c = EClass.game.cards.globalCharas.Find("ashland");
803 switch (EClass.debug.startScene)
804 {
805 case CoreDebug.StartScene.Zone:
807 transition = new ZoneTransition
808 {
809 state = ZoneTransition.EnterState.Exact,
811 z = EClass.game.Prologue.startZ
812 };
813 break;
814 case CoreDebug.StartScene.Home:
815 case CoreDebug.StartScene.Story_Test:
817 transition = new ZoneTransition
818 {
819 state = ZoneTransition.EnterState.Exact,
821 z = EClass.game.Prologue.startZ
822 };
823 break;
824 case CoreDebug.StartScene.Home_Cave:
825 EClass.game.idPrologue = 2;
827 transition = new ZoneTransition
828 {
829 state = ZoneTransition.EnterState.Exact,
831 z = EClass.game.Prologue.startZ
832 };
833 break;
834 case CoreDebug.StartScene.MeetFarris:
835 {
836 Zone parent4 = EClass.game.spatials.Find("nymelle");
837 zone5 = SpatialGen.Create("nymelle", parent4, register: true) as Zone;
838 zone5.lv = -2;
839 EClass.game.quests.Start("exploration", c, assignQuest: false);
840 break;
841 }
842 case CoreDebug.StartScene.NymelleBoss:
843 {
844 Zone parent3 = EClass.game.spatials.Find("nymelle");
845 zone5 = SpatialGen.Create("nymelle_boss", parent3, register: true) as Zone;
846 zone5.lv = -5;
847 EClass.game.quests.Start("exploration", c, assignQuest: false).ChangePhase(2);
848 break;
849 }
850 case CoreDebug.StartScene.AfterNymelle:
852 transition = new ZoneTransition
853 {
854 state = ZoneTransition.EnterState.Exact,
856 z = EClass.game.Prologue.startZ
857 };
858 EClass.game.quests.Start("exploration", c, assignQuest: false).ChangePhase(5);
859 EClass.game.quests.globalList.Add(Quest.Create("sharedContainer").SetClient(c, assignQuest: false));
860 EClass.game.quests.globalList.Add(Quest.Create("crafter").SetClient(c, assignQuest: false));
861 EClass.game.quests.globalList.Add(Quest.Create("defense").SetClient(c, assignQuest: false));
862 break;
863 case CoreDebug.StartScene.Melilith:
864 {
865 Zone parent2 = EClass.game.spatials.Find("cursed_manor");
866 zone5 = SpatialGen.Create("cursed_manor_dungeon", parent2, register: true) as Zone;
867 zone5.lv = -5;
868 break;
869 }
870 case CoreDebug.StartScene.Tefra:
871 {
872 Zone parent = EClass.game.spatials.Find("vernis");
873 zone5 = SpatialGen.Create("vernis_mine", parent, register: true) as Zone;
874 zone5.lv = -7;
875 break;
876 }
877 }
878 if (zone5 != null)
879 {
880 Player obj2 = player;
881 Chara chara2 = EClass.pc;
882 Zone zone2 = (EClass.pc.homeZone = zone5);
883 Zone zone4 = (chara2.currentZone = zone2);
884 obj2.zone = zone4;
885 EClass.pc.global.transition = transition;
886 }
887 else
888 {
889 Player obj3 = player;
890 Zone zone4 = (EClass.pc.currentZone = EClass.game.spatials.Find(EClass.debug.startZone));
891 obj3.zone = zone4;
892 EClass.pc.global.transition = new ZoneTransition
893 {
894 state = ZoneTransition.EnterState.Return
895 };
896 }
897 }
898 EClass.pc.homeZone.isKnown = true;
901 EClass.scene.Init(Scene.Mode.StartGame);
902 }
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:8415
Chara SetGlobal(Zone _home, int x, int z)
Definition: Chara.cs:1266
override int MaxHP
Definition: Chara.cs:693
Stats mana
Definition: Chara.cs:963
Stats stamina
Definition: Chara.cs:955
string startZone
Definition: CoreDebug.cs:105
StartScene startScene
Definition: CoreDebug.cs:95
PartyManager parties
Definition: Game.cs:170
Prologue Prologue
Definition: Game.cs:257
Zone StartZone
Definition: Game.cs:269
static void KillActor()
Definition: LayerTitle.cs:191
static EmbarkActor actor
Definition: LayerTitle.cs:25
Party Create(Chara leader)
Definition: PartyManager.cs:9
Definition: Player.cs:11
void OnStartNewGame()
Definition: Player.cs:1182
Vector2Int posAsh
Definition: Prologue.cs:21
string idStartZone
Definition: Prologue.cs:7
Vector2Int posFiama
Definition: Prologue.cs:23
int hour
Definition: Prologue.cs:19
int startX
Definition: Prologue.cs:9
Quest Start(string id, string idGlobalChara)
Definition: QuestManager.cs:41
void ChangePhase(int a)
Definition: Quest.cs:572
Quest SetClient(Chara c, bool assignQuest=true)
Definition: Quest.cs:380
static Quest Create(string _id, string _idPerson=null, Chara c=null)
Definition: Quest.cs:241
Stats Set(int[] _raw, int _rawIndex, Chara _CC)
Definition: Stats.cs:109
virtual int max
Definition: Stats.cs:68

References BaseCore.actionsNextFrame, LayerTitle.actor, Chara.AddCondition(), cards, Quest.ChangePhase(), EClass.core, PartyManager.Create(), Quest.Create(), CharaGen.Create(), SpatialGen.Create(), EClass.debug, CardManager.GlobalCharaList.Find(), SpatialManager.Find(), EClass.game, CardManager.globalCharas, QuestManager.globalList, Prologue.hour, Prologue.idStartZone, Scene.Init(), LayerTitle.KillActor(), Chara.mana, Stats.max, Chara.MaxHP, Player.OnStartNewGame(), EClass.pc, Prologue.posAsh, Prologue.posFiama, Prologue, quests, EClass.scene, Stats.Set(), Quest.SetClient(), Chara.SetGlobal(), spatials, Chara.stamina, QuestManager.Start(), CoreDebug.startScene, Prologue.startX, CoreDebug.startZone, and StartZone.

Referenced by CoreDebug.QuickStart(), and DramaOutcome.StartNewGame().

◆ TryLoad()

static bool Game.TryLoad ( string  id,
bool  cloud,
Action  onLoad 
)
inlinestatic

Definition at line 302 of file Game.cs.

303 {
305 {
306 onLoad();
307 return true;
308 }
309 EClass.ui.Say("incompatible");
310 return false;
311 }
static bool CanLoad(string root)
Definition: GameIO.cs:144

References GameIO.CanLoad(), CorePath.RootSave, CorePath.RootSaveCloud, and EClass.ui.

Referenced by AM_Adv._OnUpdateInput().

◆ Wait() [1/3]

static void Game.Wait ( float  a)
inlinestatic

Definition at line 284 of file Game.cs.

285 {
286 waitTimer = a * (float)(EClass.core.config.game.waiter * 25) / 100f;
287 }

References Core.config, EClass.core, CoreConfig.game, CoreConfig.GameConfig.waiter, and waitTimer.

◆ Wait() [2/3]

static new void Game.Wait ( float  a,
Card  c 
)
inlinestatic

Definition at line 276 of file Game.cs.

277 {
278 if (c != null && c.isSynced && !c.IsPC)
279 {
280 Wait(a);
281 }
282 }
virtual bool IsPC
Definition: Card.cs:2019
virtual bool isSynced
Definition: Card.cs:1963
Definition: Wait.cs:2

References Card.IsPC, and Card.isSynced.

◆ Wait() [3/3]

static new void Game.Wait ( float  a,
Point  p 
)
inlinestatic

Definition at line 271 of file Game.cs.

272 {
273 _ = p?.IsSync;
274 }
bool IsSync
Definition: Point.cs:320

References Point.IsSync.

Referenced by EClass.Wait().

Member Data Documentation

◆ activeZone

◆ backupTime

double Game.backupTime

Definition at line 209 of file Game.cs.

Referenced by OnUpdate().

◆ bp

GameBlueprint Game.bp

Definition at line 241 of file Game.cs.

◆ cards

CardManager Game.cards = new CardManager()

Definition at line 155 of file Game.cs.

Referenced by QuestManager.Add(), Zone.AddGlobalCharasOnActivate(), QuestManager.AddQuestAsh(), QuestManager.AddQuestFiama(), Zone.AddRandomVisitor(), GameDate.AdvanceDay(), GameDate.AdvanceHour(), LayerShippingResult.Awake(), TraitSalesTag.CanTagSale(), ElementContainerFaction.CheckDirty(), Faction.CountMembers(), Card.Create(), LayerInventory.CreateContainer(), Card.Destroy(), Chara.Die(), CoreDebug.Fix_RemoveDemitas(), RefChara.Get(), RefChara.GetAndCache(), Faction.HasMember(), TaskDump.IsValidContainer(), Faction.IsWearingPanty(), TaskDump.ListThingsToPut(), Faction.OnAdvanceMonth(), Zone_WindRest.OnAfterSimulate(), Zone_Nymelle.OnBeforeSimulate(), QuestDefense.OnChangePhase(), QuestVernis.OnChangePhase(), DramaOutcome.OnClaimLand(), QuestIntroInspector.OnComplete(), QuestSharedContainer.OnComplete(), TraitDrinkMilkMother.OnDrink(), QuestDialog.OnDropReward(), Zone_DungeonPuppy.OnGenerateMap(), ElementContainerFaction.OnJoinFaith(), ElementContainerFaction.OnLeaveFaith(), ZoneInstanceBout.OnLeaveZone(), ListPeopleRevive.OnList(), OnLoad(), TraitStoryBookHome.OnRead(), QuestDebt.OnStart(), QuestExploration.OnStart(), InvOwnerDeliver.PayBill(), DramaOutcome.QuestExploration_AfterComplete(), DramaOutcome.QuestExploration_AfterCrystal(), FactionBranch.ReceivePackages(), WindowChara.RefreshProfile(), LayerQuestBoard.RefreshRanking(), Chara.RemoveGlobal(), CoreDebug.ResetPetUpgrades(), SerializedCards.Restore(), Zone.Revive(), AI_Idle.Run(), TaskDump.Run(), World.SendPackage(), Meeting.SetChara(), Chara.SetGlobal(), FactionBranch.SetOwner(), UIFactionInfo.SetZone(), UIZoneInfo.SetZone(), GameDate.ShipGoods(), GameDate.ShipPackages(), QuestManager.Start(), StartNewGame(), Zone.TryAddThingInSharedContainer(), Faction.TryPayBill(), GrowSystem.TryPick(), TraitBed.ValidateOwners(), and EloPos.WriteNote().

◆ config

◆ countLoadedMaps

int Game.countLoadedMaps

Definition at line 229 of file Game.cs.

Referenced by Zone.Activate(), and Scene.Init().

◆ dateScratch

int Game.dateScratch

Definition at line 206 of file Game.cs.

◆ domains

DomainManager Game.domains = new DomainManager()

Definition at line 164 of file Game.cs.

Referenced by OnLoad().

◆ factions

◆ flags

Flags Game.flags = new Flags()

Definition at line 212 of file Game.cs.

Referenced by OnUpdate().

◆ gameSpeedIndex

int Game.gameSpeedIndex = 1

◆ id

◆ idDifficulty

int Game.idDifficulty

Definition at line 203 of file Game.cs.

◆ idPrologue

int Game.idPrologue

Definition at line 200 of file Game.cs.

Referenced by DramaOutcome.fiama_gold(), UICharaMaker.ListModes(), and UICharaMaker.SetChara().

◆ Instance

Game Game.Instance
static

Definition at line 143 of file Game.cs.

◆ isCloud

◆ isKilling

bool Game.isKilling

Definition at line 237 of file Game.cs.

Referenced by LayerInventory.OnKill().

◆ isLoading

◆ isPaused

bool Game.isPaused
static

Definition at line 149 of file Game.cs.

Referenced by GameUpdater.CharaUpdater.FixedUpdate().

◆ lastActiveZone

Zone Game.lastActiveZone

Definition at line 247 of file Game.cs.

Referenced by LayerPeople.CreateSelectEmbarkMembers().

◆ lastGameSpeedIndex

int Game.lastGameSpeedIndex = 1

Definition at line 225 of file Game.cs.

Referenced by ActionMode.UnPause().

◆ loadedTextures

HashSet<Texture2D> Game.loadedTextures = new HashSet<Texture2D>()

Definition at line 251 of file Game.cs.

Referenced by Card.GetPaintSprite().

◆ log

MsgLog Game.log
Initial value:
= new MsgLog
{
id = "log"
}
Definition: MsgLog.cs:7

Definition at line 185 of file Game.cs.

Referenced by ContentChronicle.OnSwitchContent(), and Msg.SayRaw().

◆ lostThings

List<Thing> Game.lostThings = new List<Thing>()

Definition at line 218 of file Game.cs.

◆ parties

PartyManager Game.parties = new PartyManager()

Definition at line 170 of file Game.cs.

◆ player

new Player Game.player = new Player()

Definition at line 176 of file Game.cs.

Referenced by Core.Awake(), GameIndex.Create(), Load(), OnLoad(), OnUpdate(), and ItemCulture.Refresh().

◆ principal

◆ quests

QuestManager Game.quests = new QuestManager()

Definition at line 179 of file Game.cs.

Referenced by InvOwnerDeliver._OnProcess(), ActPlan._Update(), QuestManager.Add(), GameDate.AdvanceDay(), GameDate.AdvanceHour(), DramaCustomSequence.Build(), QuestVernis.CanUpdateOnTalk(), Quest.Complete(), Card.DamageHP(), QuestCraft.Deliver(), QuestDeliver.Deliver(), AI_PlayMusic.Evaluate(), ZonePreEnterOnCompleteQuestInstance.Execute(), Player.ExitBorder(), Quest.Fail(), CoreDebug.Fix_LoytelDebt(), Recipe.GetQuestTrack(), Chara.GiveGift(), TraitDoorman_Fighter.GiveTrial(), TraitDoorman_Mage.GiveTrial(), TraitDoorman_Thief.GiveTrial(), DramaOutcome.guild_trial(), Quest.Init(), Scene.Init(), Chara.IsEscorted(), RecipeManager.ListSources(), DramaOutcome.melilith_friend(), Player.ModKarma(), Trait.OnBarter(), QuestDefense.OnChangePhase(), DramaOutcome.OnClaimLand(), ItemQuestTracker.OnClickClose(), QuestIntroInspector.OnComplete(), QuestLoytelFarm.OnComplete(), QuestSharedContainer.OnComplete(), QuestShippingChest.OnComplete(), QuestVernis.OnComplete(), Quest.OnCompleteTask(), TCExtra.OnDraw(), QuestDialog.OnDropReward(), Zone_DungeonPuppy.OnGenerateMap(), OnLoad(), TraitStoryBookHome.OnRead(), QuestExploration.OnStart(), QuestIntoDarkness.OnStart(), Player.OnStartNewGame(), ContentQuest.OnSwitchContent(), DramaManager.ParseLine(), InvOwnerDeliver.PayBill(), DramaOutcome.poppy_found(), DramaOutcome.QuestDebt_reward(), DramaOutcome.QuestExploration_AfterComplete(), DramaOutcome.QuestExploration_AfterCrystal(), DramaOutcome.QuestExploration_MeetFarris(), DramaOutcome.QuestExploration_MeetFarris2(), CoreDebug.QuickStart(), ItemQuestTracker.Refresh(), LayerShippingResult.Refresh(), WidgetQuestTracker.Refresh(), TCOrbitChara.RefreshAll(), LayerQuestBoard.RefreshQuest(), RecipeUpdater.RunRecipe(), ItemQuest.SetQuest(), Chara.ShowDialog(), StartNewGame(), Chara.Tick(), Recipe.ToggleTrack(), Chara.TryDropBossLoot(), WidgetQuestTracker.TryShow(), TraitTeleporter.TryTeleport(), CoreDebug.UpdateInput(), and Zone.UpdateQuests().

◆ referenceMap

Dictionary<string, IGlobalValue> Game.referenceMap = new Dictionary<string, IGlobalValue>()

Definition at line 249 of file Game.cs.

◆ relations

RelationManager Game.relations = new RelationManager()

Definition at line 182 of file Game.cs.

Referenced by GameDate.AdvanceDay().

◆ religions

◆ saveCount

int Game.saveCount

Definition at line 231 of file Game.cs.

◆ seed

◆ sessionMin

int Game.sessionMin

Definition at line 227 of file Game.cs.

Referenced by QueueList< T >.GetTask(), and TaskList< T >.GetTask().

◆ spatials

◆ teleports

◆ timeSinceStart

float Game.timeSinceStart

Definition at line 233 of file Game.cs.

Referenced by OnUpdate().

◆ uniforms

PCCUniformManager Game.uniforms = new PCCUniformManager()

Definition at line 191 of file Game.cs.

Referenced by LayerEditPCC.Activate(), LayerEditPCC.Apply(), and Chara.ApplyJob().

◆ updater

◆ version

Version Game.version

Definition at line 167 of file Game.cs.

◆ waitTimer

float Game.waitTimer
static

Definition at line 145 of file Game.cs.

Referenced by OnUpdate(), and Wait().

◆ welcomeTimer

float Game.welcomeTimer
private

Definition at line 253 of file Game.cs.

◆ world

Property Documentation

◆ altAbility

bool Game.altAbility
get

Definition at line 267 of file Game.cs.

Referenced by LayerAbility.OnInit(), ButtonAbility.SetAct(), and UI.ToggleAbility().

◆ altCraft

bool Game.altCraft
get

Definition at line 265 of file Game.cs.

Referenced by Scene.Init().

◆ altInv

bool Game.altInv
get

◆ altUI

bool Game.altUI
get

Definition at line 261 of file Game.cs.

Referenced by ActionMode.Activate(), BuildMenu.Deactivate(), and BuildMenu.Init().

◆ IsWaiting

bool Game.IsWaiting
staticget

Definition at line 255 of file Game.cs.

Referenced by Scene.OnUpdate().

◆ Prologue

◆ StartZone

◆ UseGrid

bool Game.UseGrid
get

Definition at line 259 of file Game.cs.

Referenced by InvOwner.OnDrag(), and InvOwner.Transaction.Process().


The documentation for this class was generated from the following file: