public void Init(float minX, float minY, float maxX, float maxY) { Sound.PlayRandomSong(Sound.GetPlaylist(Sound.Playlists.Menu)); InitControls(); ScaleControls(); CareerDb.ClearCareer(); }
public void PressEventEncounter(string info = "") { GD.Print("PressEventEncounter -info " + info); pressEvent = CareerDb.LoadPressEvent(info); Session.ChangeMenu(Menu.Menus.PressEvent); }
void InitControls() { background = Menu.BackgroundBox(); AddChild(background); logo = Menu.TexturedButton("res://Textures/logo.jpg"); AddChild(logo); newGameButton = Menu.Button(text: "New", onClick: NewGame); AddChild(newGameButton); if (CareerDb.SaveExists()) { continueGameButton = Menu.Button(text: "Continue", onClick: ContinueGame); AddChild(continueGameButton); } quitButton = Menu.Button(text: "Quit", onClick: Quit); AddChild(quitButton); settingsButton = (Godot.Button)Menu.Button(text: "Settings", onClick: Settings); AddChild(settingsButton); Sound.PlayRandomSong(Sound.GetPlaylist(Sound.Playlists.Menu)); }
public static void StartNewCareer(string championName = "") { Session.session.player = null; Career career = Factory(championName); Session.session.career = career; Session.ChangeMenu(Menu.Menus.Career); CareerDb.SaveCareer(career); }
public void ExecuteNode(int id) { CareerNode node = CareerNode.GetNode(id, careerNodes); if (node == null) { GD.Print("Can't execute null node id " + id); return; } stats.SetBaseStat(StatsManager.Stats.LastNode, stats.GetStat(StatsManager.Stats.CurrentNode)); stats.SetBaseStat(StatsManager.Stats.CurrentNode, id); stats.SetBaseStat(StatsManager.Stats.NodeInProgress, 1); CareerDb.SaveCareer(this); switch (node.nodeType) { case CareerNode.NodeTypes.None: GD.Print("NullEncounter"); CompleteEncounter(); break; case CareerNode.NodeTypes.ArenaMatch: ArenaEncounter(node.extraInfo); break; case CareerNode.NodeTypes.BossMatch: ArenaEncounter(node.extraInfo); break; case CareerNode.NodeTypes.FinalBoss: ArenaEncounter(node.extraInfo); break; case CareerNode.NodeTypes.Shop: ShopEncounter(node.extraInfo); break; case CareerNode.NodeTypes.RestSite: RestSiteEncounter(node.extraInfo); break; case CareerNode.NodeTypes.PressEvent: PressEventEncounter(node.extraInfo); break; } }
public void CompleteEncounter() { if (Session.session.player != null) { playerData = Session.session.player.GetData(); if (playerData != null && playerData.stats != null) { int health = playerData.stats.GetBaseStat(StatsManager.Stats.Health); stats.SetBaseStat(StatsManager.Stats.Health, health); playerData.stats = stats; } } Session.ClearGame(); int id = stats.GetStat(StatsManager.Stats.CurrentNode); CareerNode node = CareerNode.GetNode(id, careerNodes); int nodeLevel = CareerNode.GetLevel(node, careerNodes); int nextLevel = nodeLevel - 1; stats.SetBaseStat(StatsManager.Stats.CurrentLevel, nextLevel); stats.SetBaseStat(StatsManager.Stats.LastNode, id); stats.SetBaseStat(StatsManager.Stats.CurrentNode, 0); stats.SetBaseStat(StatsManager.Stats.NodeInProgress, 0); CareerDb.SaveCareer(this); Session.session.player = null; if (nextLevel == -1) { CompleteGame(); } else { Session.ChangeMenu(Menu.Menus.Career); } }
public static void Save() { CareerDb.SaveCareer(Session.session.career); }
public void ContinueGame() { GD.Print("ContinueGame"); Session.session.career = CareerDb.LoadCareer(); Session.ChangeMenu(Menu.Menus.Career); }