Exemplo n.º 1
0
        public override void ShowDetail(PanelBuilder panel)
        {
            _build.AddImageLabel(panel);
            panel.AddResT("constructionCost", _cost);
            panel.AddHeaderLabelT("general");
            var hpap = CalculatedData.Calc(_build, _cost);

            panel.AddSubLabelT("hp", hpap.hp, "hp");
            panel.AddSubLabelT("ap", hpap.ap, "ap");
            var b = L.b.modifiers[C.BuildRes].CalcText(hpap.buildTime, S.ActPlayer(), pos);

            L.b.res[C.BuildRes].AddSubLabel(panel, b.value, "round", b.display);

            panel.AddButtonT("reset", (() =>
            {
                _cost = new Dictionary <string, int>(_costOrg);
                ReCalc(0);
            }));

            //what replace?
            if (!_cost.ContainsKey(replace.id))
            {
                panel.AddLabel(S.T("constructionOwnReplaceNothing", _build.Name()));
                return;
            }

            panel.AddHeaderLabel(S.T("constructionOwnReplace", replace.Text(_cost[replace.id])));

            //build dropdown
            List <string> values = new List <string>();
            List <string> titles = new List <string>();

            foreach (Resource r in L.b.res.GetAllByCategory(replace.id))
            {
                if (r.special == false && _town.KnowRes(r.id))
                {
                    values.Add(r.id);
                    titles.Add(r.Text(_town.GetRes(r.id)));
                }
            }

            panel.AddDropdown(values.ToArray(), values[0], titles.ToArray(), s =>
            {
                selected = L.b.res[s];
                UpdateButton();
            });

            _one = panel.AddImageTextButton("", "logo", () => { ReCalc(1); });

            _ten = panel.AddImageTextButton("", "logo", () => { ReCalc(10); });

            max = panel.AddImageTextButton("", "logo", () => { ReCalc(Math.Min(_cost[replace.id], _town.GetRes(selected.id))); });

            total = panel.AddImageTextButton("", "logo", () => { ReCalc(_cost[replace.id]); });

            selected = L.b.res[values[0]];
            UpdateButton();
        }
Exemplo n.º 2
0
        public override void ShowDetail(PanelBuilder panel)
        {
            panel.AddHeaderLabelT("languageSelect");
            panel.AddDesc(S.T("languageInfo"));
            panel.AddImageTextButton(S.T("languageSystem"), "language", (() => UpdateLang("languageSystem")));
            foreach (var lang in LSys.tem.languages.Values())
            {
                panel.AddImageTextButton(lang.Name(), lang.Icon, (() => UpdateLang(lang.id)));
            }

            panel.AddHeaderLabelT("task");
            panel.AddButtonT("languageHelp", (() => Application.OpenURL("https://9nations.de/files/directLinksN.php?typ=translate")));
        }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
        public override void ShowDetail(PanelBuilder panel)
        {
            panel.AddHeaderLabel("Receipts");

            int  i     = 0;
            bool found = false;

            while (_holder.data.ContainsKey("craft" + i))
            {
                found = true;
                var    d  = SplitHelper.SplitInt(_holder.data["craft" + i]);
                Craft  c  = L.b.crafts[d.key];
                int    id = i;
                Button b  = panel.AddImageTextButton((d.value == -1?"Endless ":d.value + "x ") + c.Name(), c.Icon, () =>
                {
                    Remove(id);
                });

                i++;
            }

            if (!found)
            {
                panel.AddLabel("No active receipt found. You can add some from the left menu.");
            }
        }
Exemplo n.º 5
0
        public override void ShowDetail(PanelBuilder panel)
        {
            _craft.ShowLexicon(panel);
            _craft.req.BuildPanel(panel, _info, _info.Pos());

            panel.AddHeaderLabel("Actions");
            panel.AddImageTextButton(_craft.Name(), _craft.Icon, () =>
                                     _holder.data["craft" + NextFreeID()] = $"{_craft.id}:1"
                                     );
            panel.AddImageTextButton($"10x {_craft.Name()}", _craft.Icon, () =>
                                     _holder.data["craft" + NextFreeID()] = $"{_craft.id}:10"
                                     );
            panel.AddImageTextButton($"100x {_craft.Name()}", _craft.Icon, () =>
                                     _holder.data["craft" + NextFreeID()] = $"{_craft.id}:100"
                                     );
            panel.AddImageTextButton($"endless {_craft.Name()}", _craft.Icon, () =>
                                     _holder.data["craft" + NextFreeID()] = $"{_craft.id}:-1"
                                     );
        }
Exemplo n.º 6
0
 public void ShowDetail(PanelBuilder panel)
 {
     base.ShowLexicon(panel);
     panel.AddHeaderLabel("Scenarios");
     foreach (Scenario s in Scenarios())
     {
         if (s.req.Check(null))
         {
             panel.AddImageTextButton(s.Name(), SpriteHelper.Load(s.Icon), (() => s.Start()));
         }
     }
 }
Exemplo n.º 7
0
        public void BuildPanel(PanelBuilder panel)
        {
            if (S.Debug())
            {
                panel.AddLabel(key + " " + usedKey + " " + _keyCode);
            }

            if (IsGameButton())
            {
                activeButton = panel.AddImageTextButton(Name(), L.b.gameButtons[id].Icon, (() => { new InputKeyChange(this); }), Sound);
                return;
            }

            if (IsAction())
            {
                activeButton = panel.AddImageTextButton(Name(), L.b.actions[id].Icon, (() => { new InputKeyChange(this); }), Sound);
                return;
            }

            activeButton = panel.AddImageTextButton(Name(), Sprite(), (() => { new InputKeyChange(this); }), Sound);
        }
Exemplo n.º 8
0
        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())));
                }
            }
        }
Exemplo n.º 9
0
        public override void ShowDetail(PanelBuilder panel)
        {
            base.ShowDetail(panel);
            panel.AddButton($"Show details for {town.name}", (() => town.ShowDetails()));

            panel.AddHeaderLabel("Buildings");
            //add buildings
            foreach (BuildingInfo info in GameMgmt.Get().building.GetByTown(town.id))
            {
                panel.AddImageTextButton(info.name, info.baseData.Sprite(), () =>
                {
                    S.CameraMove().MoveTo(info.Pos());
                    OnMapUI.Get().UpdatePanel(info.Pos());
                    b.CloseWindow();
                });
            }
        }
Exemplo n.º 10
0
        protected void AddItem(PanelBuilder panel, string id, string category)
        {
            panel.AddHeaderLabelT("item" + id);

            string title = S.T("itemEquipNo");
            string icon  = "no";

            if (_info.data.items.ContainsKey(id))
            {
                var item = L.b.items[_info.data.items[id]];
                title = item.Name();
                icon  = item.Icon;
            }

            var b = panel.AddImageTextButton(title, icon, () => { });

            b.onClick.AddListener(() => { Equip(id, category, b); });
        }
Exemplo n.º 11
0
        public override void ShowDetail(PanelBuilder panel)
        {
            foreach (UnitInfo info in GameMgmt.Get().unit.GetByPlayer(S.ActPlayer().id))
            {
                if (town != null && town.id != info.data.townId)
                {
                    continue;
                }

                panel.AddImageTextButton(info.name, info.baseData.Sprite(), () =>
                {
                    S.CameraMove().MoveTo(info.Pos());
                    OnMapUI.Get().UpdatePanel(info.Pos());
                    b.CloseWindow();
                    info.ShowInfoWindow();
                });
            }
        }
Exemplo n.º 12
0
 public override void ShowDetail(PanelBuilder panel)
 {
     info.ShowInfo(panel);
     panel.AddImageTextButton($"Delete {info.name}", "no", () => { LoadSaveMgmt.DeleteFile(info.file); w.CloseWindow(); });
 }