public override void ShowDetail(PanelBuilder panel) { PlayerResearchMgmt mgmt = S.ActPlayer().research; panel.AddHeaderLabel("Actual"); if (mgmt.actual == null || mgmt.actual.Count == 0) { panel.AddImageLabel("No Research at the moment", "no"); } else { foreach (string e in mgmt.actual) { Element el = L.b.elements[e]; panel.AddImageLabel(el.Name(), el.Icon); } } elements = new List <string>(); panel.AddHeaderLabel("New Research area"); foreach (string en in S.ActPlayer().elements.elements) { Element e = L.b.elements[en]; panel.AddImageTextButton($"Add {e.Name()}", e.Sprite(), (() => { elements.Add(e.id); UpdateDesc(); })); } panel.AddHeaderLabel("Control"); desc = panel.AddLabel("???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? "); panel.AddButton("Clear actual plan", () => { elements.Clear(); UpdateDesc(); }); start = panel.AddButton("??", () => { mgmt.BeginNewResearch(elements); window.CloseWindow(); }); UpdateDesc(); if (S.Debug()) { panel.AddSubLabel($"Act cost", S.ActPlayer().research.cost.ToString()); panel.AddHeaderLabel("General possible"); panel.AddLabel(String.Join(",", S.ActPlayer().research.AvailableResearch().Select(r => r.Name()))); if (mgmt.actual != null) { panel.AddHeaderLabel("Actual possible"); panel.AddLabel(String.Join(",", S.ActPlayer().research.AvailableResearch(mgmt.actual).Select(r => r.Name()))); } } }
public override void ShowDetail(PanelBuilder panel) { panel.AddHeaderLabel("Finish researches"); foreach (Research r in L.b.researches.Values()) { if (S.ActPlayer().research.IsFinish(r.id)) { panel.AddImageLabel(r.Name(), r.Icon); } } if (panel.Count() == 1) { panel.AddImageLabel("No finish research.", "no"); } }
public override void ShowDetail(PanelBuilder panel) { panel.AddImageLabel(_info.name, _info.Sprite()); panel.AddHeaderLabel("Information"); //diff unit? if (!_info.Owner(S.ActPlayerID())) { panel.AddSubLabel("Owner", _info.Player().name, _info.Player().Coat().Icon); panel.AddSubLabel("HP", $"??/{_info.baseData.hp}", "hp"); panel.AddSubLabel("AP", $"??/{_info.baseData.ap}", "ap"); return; } panel.RichText(_info.data.info.LastInfo()); panel.AddSubLabel("HP", $"{_info.data.hp}/{_info.data.hpMax}", "hp"); panel.AddSubLabel("AP", $"{_info.data.ap}/{_info.data.apMax}", "ap"); Construction con = _info.GetComponent <Construction>(); if (con != null) { panel.AddResT("constructionOnGoing", _info.data.construction.ToDictionary(entry => entry.Key, entry => entry.Value)); panel.AddLabelT("constructionOnGoingDesc"); } panel.AddModi(_info.data.modi); }
public void BuildPanel(PanelBuilder panel, string title, Player player = null) { try { //addHeader if (reqs.Count == 0) { return; } panel.AddHeaderLabel(title); //add req foreach (var req in reqs) { BaseReq r = OLib.GetReq(req[0]); if (player == null) { panel.AddLabel(r.Desc(null, req[1])); } else { panel.AddImageLabel(r.Desc(player, req[1]), r.Check(player, req[1])); } } } catch (Exception e) { ExceptionHelper.ShowException(e); } }
public override void ShowLexicon(PanelBuilder panel) { base.ShowLexicon(panel); panel.AddImageLabel(S.T("spellCost", cost), "ap"); req.BuildPanel(panel); reqTarget.BuildPanel(panel); var ah = new ActionDisplaySettings(panel, null); action.BuildPanelT(ah, "spellPerformSuccess"); actionFail.BuildPanelT(ah, "spellPerformFail"); }
public override void ShowLexicon(PanelBuilder panel, MapElementInfo info, NVector pos) { base.ShowLexicon(panel); panel.AddImageLabel(S.T("spellCostUnit", cost, info.data.ap), "ap"); panel.AddLabel(S.T("spellChance", info.data.spells.CalcChance(id))); req.BuildPanel(panel, info, info.Pos()); reqTarget.BuildPanel(panel); var ah = new ActionDisplaySettings(panel, S.ActPlayer(), info, info.Pos(), null); action.BuildPanelT(ah, "spellPerformSuccess"); actionFail.BuildPanelT(ah, "spellPerformFail"); }
public void AddToPanel(PanelBuilder panel) { if (desc != null) { panel.AddImageTextButton(title, SpriteHelper.Load(icon), ShowImportant); } else if (action == null) { panel.AddImageLabel(title, SpriteHelper.Load(icon)); } else { panel.AddImageTextButton(title, SpriteHelper.Load(icon), CallAction); } }
public override void ShowLexicon(PanelBuilder panel) { DataTerrain terr = L.b.terrains[Terrain]; base.ShowLexicon(panel); panel.AddHeaderLabelT("general"); panel.AddImageLabel($"Home terrain: {terr.Name()}", terr.Sprite()); panel.AddModi(Modi); if (elements.Count > 0) { panel.AddHeaderLabel(S.T(L.b.elements.Id(), elements.Count)); foreach (var element in elements) { L.b.elements[element].AddImageLabel(panel); } } }
public override void ShowDetail(PanelBuilder panel) { panel.AddHeaderLabel("General"); panel.AddSubLabel("Version", Application.version); panel.AddSubLabel("System", Application.platform.ToString()); panel.AddHeaderLabel("Library"); foreach (var m in L.b.mgmts.Values) { panel.AddImageLabel($"{m.Length} x {m.Name()}", m.Sprite()); } panel.AddHeaderLabel("Mods"); foreach (var mod in ModManager.GetInstalledModDirectories(true)) { panel.AddLabel(new DirectoryInfo(mod).Name); } }
public void ShowInfo(PanelBuilder panel) { if (!ActPlayerIsOwner()) { panel.AddImageLabel(name, GetIcon()); panel.AddLabel(GetTownLevelName()); panel.AddSubLabel("Owner", Player().name, Player().Coat().Icon); return; } panel.AddInputRandom("town name", name, val => name = val, () => LClass.s.NameGenerator(Player().Nation().TownNameGenerator)); panel.AddLabel(GetTownLevelName()); L.b.res[C.Inhabitant] .AddImageLabel(panel, $"{GetRes(C.Inhabitant)}/{MaxInhabitantsAndWorker().maxInhabitants}"); //panel.AddSubLabel(L.b.res["inhabitant"].name,$"{}/{}",L.b.res["inhabitant"].Icon); //ShowRes(panel); ShowCombineRes(panel); panel.AddModi(modi); }
public void BuildPanel(PanelBuilder panel, string title, MapElementInfo onMap, NVector pos) { try { //addHeader if (reqs.Count == 0) { return; } panel.AddHeaderLabel(title); //add req foreach (var req in reqs) { BaseReq r = OLib.GetReq(req[0]); panel.AddImageLabel(r.Desc(S.ActPlayer(), onMap, req[1], pos), r.Check(S.ActPlayer(), onMap, req[1], pos)); } } catch (Exception e) { ExceptionHelper.ShowException(e); } }
public void AddImageLabel(PanelBuilder panel, string count) { panel.AddImageLabel(S.T("resourceCount", S.T(id, 2), count), Sprite()); }
public override void AddImageLabel(PanelBuilder panel, int count) { panel.AddImageLabel(Text(count), Sprite()); }
public override void ShowDetail(PanelBuilder panel) { ShowInhabitants(panel); //usage? if (!L.b.gameOptions["usageTown"].Bool()) { return; } var inh = town.GetRes(C.Inhabitant); panel.AddSubLabel("Productivity", town.modi["produce"], "res"); if (town.usageMess != null) { panel.AddSubLabel("Status", town.usageMess); } int usages = 0; panel.AddHeaderLabelT("usageRound"); //find usage count foreach (Usage usage in L.b.usages.Values()) { //can use? if (!usage.req.Check(town.Player())) { continue; } usages += usage.factor; } int usageMax = usages; //use usage foreach (Usage usage in L.b.usages.Values()) { //can use? if (!usage.req.Check(town.Player())) { continue; } var r = L.b.res[usage.id]; int amount = (int)Math.Round(inh * usage.rate); int hasAmount = town.GetRes(r.id); panel.AddSubLabel(usage.Name(), S.T("usageRoundRes", amount, hasAmount), usage.Icon); //need res? if (amount >= 0 || amount * -1 <= hasAmount) { usages -= 1; } } //worker //res panel.AddHeaderLabelT("usageRoundResult"); panel.AddImageLabel(S.T("usageRoundResultStatus", usageMax - usages, usageMax - town.level), "usage"); panel.AddImageLabel(town.level >= usages?S.T("usageRoundResultStatusFulfilled"):S.T("usageRoundResultStatusNotFulfilled"), town.level >= usages); }
public virtual void AddImageLabel(PanelBuilder panel, int count) { var text = S.T("plural", S.T(id, count), count); panel.AddImageLabel(text, Sprite()); }
public void AddImageLabel(PanelBuilder panel) { panel.AddImageLabel(S.Debug()?S.T("debugName", Name(), id):Name(), Sprite()); }