void NextResearch(int ind, UiMaster master, ButtonFunction b) { if (stager[b].Item2 == true) { master.ManipulateElements("Tree Complete", Player_Modes.Research, b.ToString(), ind); switch (b) { case ButtonFunction.R1: Statistics.Ending = Endings.Death; break; case ButtonFunction.R2: Statistics.Ending = Endings.Passive; break; case ButtonFunction.R3: Statistics.Ending = Endings.God; break; } return; } master.ManipulateElements(research[b].ToList()[stager[b].Item3].Value.Data.Name + "\r\n" + research[b].ToList()[stager[b].Item3].Value.CurrentProgress.PercentAofB(research[b].ToList()[stager[b].Item3].Value.Data.ResearchTime) + "%", Player_Modes.Research, b.ToString(), ind); }
public void Update(UiMaster master, MouseState ms, Architech arch, GameTime gt) { cursor.Update(ms, gt); status_bar.Update(energy); UpdatePopulation(); pop_changed = false; pop_cap = arch.GetCountByType(BuildingTypes.Grave) * 5; if (!arch.IsHomeAlive) { mode = Player_Modes.End_Screen; } if ((mode == Player_Modes.End_Screen || Statistics.Ending != Endings.Passive) && !finished) { finished = true; switch (Statistics.Ending) { case Endings.Death: master.ManipulateElements(new Text(Vector2.Zero, "You have destroyed all those who opposed you, death stalks the land at your bidding.", Color.Khaki), Player_Modes.End_Screen, "", 0); master.ManipulateElements(new Text(Vector2.Zero, Statistics.Output, Color.AntiqueWhite), Player_Modes.End_Screen, "", 0); mode = Player_Modes.End_Screen; break; case Endings.God: master.ManipulateElements(new Text(Vector2.Zero, "Humanity kneel at your feet, you are their new prophet. Peace finally.", Color.PaleVioletRed), Player_Modes.End_Screen, "", 0); master.ManipulateElements(new Text(Vector2.Zero, Statistics.Output, Color.AntiqueWhite), Player_Modes.End_Screen, "", 0); mode = Player_Modes.End_Screen; break; case Endings.Passive: master.ManipulateElements(new Text(Vector2.Zero, "Either through your own fruition or your enemies, you have been defeated.", Color.PaleVioletRed), Player_Modes.End_Screen, "", 0); master.ManipulateElements(new Text(Vector2.Zero, Statistics.Output, Color.AntiqueWhite), Player_Modes.End_Screen, "", 0); mode = Player_Modes.End_Screen; break; } } if (controls.IsPressed(Ctrls.HotKey_Build)) { mode = Player_Modes.Building; } if (controls.IsPressed(Ctrls.HotKey_Research)) { mode = Player_Modes.Research; } if (controls.IsPressed(Ctrls.HotKey_Spells)) { mode = Player_Modes.Spells; } if (controls.IsPressed(Ctrls.HotKey_Pause)) { mode = Player_Modes.Pause; } switch (master.NextAction) { case ButtonFunction.M_Build: master.Pop_Action(); mode = Player_Modes.Building; break; case ButtonFunction.M_Research: master.Pop_Action(); mode = Player_Modes.Research; break; case ButtonFunction.M_Spells: master.Pop_Action(); mode = Player_Modes.Spells; break; case ButtonFunction.M_Tools: master.Pop_Action(); mode = Player_Modes.Tools; break; case ButtonFunction.M_Pause: master.Pop_Action(); mode = Player_Modes.Pause; break; case ButtonFunction.MM_Start: master.Pop_Action(); mode = Player_Modes.Tutorial; break; case ButtonFunction.MM_Hiscores: master.Pop_Action(); break; case ButtonFunction.Guide: master.Pop_Action(); mode = Player_Modes.Tutorial; break; case ButtonFunction.ES_End: master.Pop_Action(); mode = Player_Modes.Surrender; break; case ButtonFunction.ReallySurrender: master.Pop_Action(); mode = Player_Modes.End_Screen; break; case ButtonFunction.Settings: master.Pop_Action(); mode = Player_Modes.Settings; break; case ButtonFunction.Tog_EHB: master.Pop_Action(); if (sub_m.HasFlag(Sub_Player_Modes.Display_EHB)) { sub_m &= ~Sub_Player_Modes.Display_EHB; } else { sub_m |= Sub_Player_Modes.Display_EHB; } break; case ButtonFunction.Tog_FHB: master.Pop_Action(); if (sub_m.HasFlag(Sub_Player_Modes.Display_FHB)) { sub_m &= ~Sub_Player_Modes.Display_FHB; } else { sub_m |= Sub_Player_Modes.Display_FHB; } break; } switch (this.mode) { case Player_Modes.Building: this.cursor.CurrentState = ButtonFunction.M_Build.ToString(); break; case Player_Modes.Pause: this.cursor.CurrentState = ButtonFunction.M_Pause.ToString(); break; case Player_Modes.Research: this.cursor.CurrentState = ButtonFunction.M_Research.ToString(); break; case Player_Modes.Tools: this.cursor.CurrentState = ButtonFunction.M_Tools.ToString(); break; case Player_Modes.Spells: case Player_Modes.MainMenu: this.cursor.CurrentState = ButtonFunction.M_Spells.ToString(); break; } }