public virtual void BuildPanel(ActionDisplaySettings sett) { FDataAction da = L.b.actions[id]; string h = sett.header ?? (S.Debug() ? $"{da.Name()} ({id})" : da.Name()); if (sett.compact) { sett.panel.AddImageLabel(h, da.Icon); return; } sett.panel.AddHeaderLabel(h); if (S.Debug()) { sett.panel.AddSubLabel("triggerWait",sett.holder.triggerWait.ToString()); } if (sett.holder.triggerCount > 0) { string s = sett.holder.triggerWait ? " in" : " "; if (sett.holder.trigger == ActionEvent.NextRound) { sett.panel.AddImageLabel($"Action will be performed{s} {sett.holder.triggerCount} rounds.", "build"); } else if (sett.holder.trigger == ActionEvent.Direct) { sett.panel.AddLabel($"You can perform this action{s} {sett.holder.triggerCount} times."); } } else { switch (sett.holder.trigger) { case ActionEvent.Direct: sett.panel.AddImageLabel($"You can performed it directly for {sett.holder.cost} AP","ap"); break; case ActionEvent.FinishConstruct: sett.panel.AddLabel("It will be performed after finish construction."); break; case ActionEvent.NextRound: sett.panel.AddLabel("It will be performed every round."); break; default: sett.panel.AddLabel($"It will be performed {sett.holder.trigger}"); break; } } //add req? if (sett.addReq) { if (sett.pos == null) sett.holder.req.BuildPanel(sett.panel); else sett.holder.req.BuildPanel(sett.panel, sett.mapElement, sett.pos); } }
public override void BuildPanel(ActionDisplaySettings sett) { sett.panel.AddModi(sett.holder.data); if (!sett.compact) { base.BuildPanel(sett); } }
public override void BuildPanel(ActionDisplaySettings sett) { if (sett.pos == null) { base.BuildPanel(sett); return; } //found dest? BuildPanelIntern(sett, S.Unit(sett.pos)); }
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 override void BuildPanel(ActionDisplaySettings sett) { foreach (var ele in sett.holder.data) { int val = ConvertHelper.Int(ele.Value); sett.panel.AddImageLabel(S.T(val > 0?"statAdd":"statRemove", val, S.T(ele.Key)), Icon(ele.Key)); } if (!sett.compact) { base.BuildPanel(sett); } }
public override void ShowLexicon(PanelBuilder panel) { base.ShowLexicon(panel); L.b.res[C.BuildRes].AddSubLabel(panel, buildTime, "round"); L.b.modifiers[C.ViewModi].AddSubLabel(panel, visibilityRange, "field"); ShowWorker(panel); panel.AddResT("constructionCost", cost); req.BuildPanel(panel, S.T("constructionReq")); panel.AddModi(modi); ActionDisplaySettings sett = new ActionDisplaySettings(panel, null); sett.compact = true; action.BuildPanelT(sett); }
public override void BuildPanel(ActionDisplaySettings sett) { base.BuildPanel(sett); //list it int i = 0; while (sett.holder.data.ContainsKey(i.ToString())) { var d = SplitHelper.Split(sett.holder.data[i.ToString()]); DataTerrain terr = L.b.terrains[d.key]; sett.panel.AddImageLabel(CreateTitle(d), terr.Icon); i++; } }
public override void BuildPanel(ActionDisplaySettings sett) { var create = Get(sett.holder.data["type"]); var txt = sett.holder.data.ContainsKey("player") ? S.T("createBelong", create.Name(), S.Player(ConvertHelper.Int(sett.holder.data["player"])).name) : S.T("createDetail", create.Name()); if (sett.compact) { sett.panel.AddImageLabel(txt, create.Icon); return; } sett.header = txt; base.BuildPanel(sett); }
protected void BuildPanelIntern(ActionDisplaySettings sett, MapElementInfo info) { sett.header = TextHelper.Cap(S.T("attack", info.name)); base.BuildPanel(sett); if (sett.compact) { return; } sett.panel.AddHeaderLabel(S.T("attackSelf", sett.mapElement.name)); sett.panel.AddSubLabelT("atk", sett.mapElement.data.atk, "atk"); sett.panel.AddSubLabelT("dam", S.T("attackDam", sett.mapElement.baseData.damMin, sett.mapElement.baseData.damMax), "damage"); sett.panel.AddHeaderLabel(S.T("attackNonSelf", info.name)); sett.panel.AddSubLabelT("def", info.data.def, "def"); //both units? if (!sett.mapElement.IsBuilding() && !info.IsBuilding()) { bool found = false; foreach (var fm in L.b.fightModis.Values()) { if (!fm.req.Check(sett.mapElement, sett.pos)) { continue; } if (!found) { sett.panel.AddHeaderLabelT("fightmodi"); found = true; } sett.panel.AddImageLabel(fm.Desc(), fm.Icon); } } }
public override void BuildPanel(ActionDisplaySettings sett) { if (sett.compact) { sett.panel.AddHeaderLabelT(sett.holder.trigger == ActionEvent.FinishConstruct ? "produceConstruction":"produceTurn"); foreach (var data in sett.holder.data) { if (!data.Key.StartsWith("res-")) { continue; } L.b.res[data.Key.Substring(4)].AddImageLabel(sett.panel, ConvertHelper.Int(data.Value)); } return; } sett.addReq = false; base.BuildPanel(sett); foreach (var data in sett.holder.data) { if (!data.Key.StartsWith("res-")) { continue; } L.b.res[data.Key.Substring(4)].AddImageLabel(sett.panel, ConvertHelper.Int(data.Value)); } if (sett.mapElement == null) { sett.holder.req.BuildPanel(sett.panel); } else { sett.holder.req.BuildPanel(sett.panel, sett.mapElement, sett.pos); } }
public override void ShowLexicon(PanelBuilder panel, MapElementInfo onMap, NVector pos) { if (onMap == null) { ShowIntern(panel, null, pos); ActionDisplaySettings sett = new ActionDisplaySettings(panel, S.ActPlayer(), null, pos, null); sett.compact = true; action.BuildPanelT(sett); return; } if (!onMap.Owner(S.ActPlayerID())) { ShowLexicon(panel); return; } pos = onMap.Pos(); ShowIntern(panel, onMap, pos); onMap.data.action.BuildPanelT(new ActionDisplaySettings(panel, onMap.Player(), onMap, pos, null)); }
public override void BuildPanel(ActionDisplaySettings sett) { base.BuildPanel(sett); sett.panel.AddSubLabel("Chance to evolve", (100 / sett.player.elements.elements.Count) + "%"); }
public override void ShowDetail(PanelBuilder panel) { ActionDisplaySettings ads = new ActionDisplaySettings(panel, S.ActPlayer(), self, pos, action); action.PerformAction().BuildPanel(ads); }