Example #1
0
        public override void ShowLexicon(PanelBuilder panel)
        {
            base.ShowLexicon(panel);

            panel.AddSubLabel("Author", author);
            panel.AddSubLabel("Level", level);
            panel.AddSubLabel("Size", $"{width}x{height}");
            if (S.Debug())
            {
                panel.AddLabel("Folder: " + folder);
            }
            req.BuildPanel(panel, null);

            if (Intern())
            {
                panel.AddHeaderLabel("Overview");
                panel.AddImage(UnityEngine.Resources.Load <Sprite>(folder.Substring(1) + "/" + id));
            }
            else
            {
                FileInfo img = new FileInfo(Dir() + id + ".png");
                if (img.Exists)
                {
                    panel.AddHeaderLabel("Overview");
                    panel.AddImage(SpriteHelper.LoadExternalSprite(img.FullName));
                }
            }
        }
Example #2
0
        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 override void ShowDetail(PanelBuilder panel)
 {
     panel.AddHeaderLabelT("general");
     panel.AddSubLabel("Name", _player.name, _player.Coat().Icon);
     panel.AddSubLabel(L.b.nations.Name(), _player.Nation().Name(), _player.Nation().Icon);
     panel.AddSubLabel("Points", _player.points.ToString());
     panel.AddModi(S.Game().data.modi);
 }
Example #4
0
 public override void ShowDetail(PanelBuilder panel)
 {
     panel.AddHeaderLabelT("general");
     panel.AddSubLabel("Total",_mapElementInfo.data.spells.total.ToString());
     panel.AddHeaderLabelT("spell");
     foreach (var s in _mapElementInfo.data.spells.known)
     {
         Spell spell = L.b.spells[s];
         panel.AddSubLabel(spell.Name(), _mapElementInfo.data.spells.count[s].ToString(), spell.Icon);
     }
 }
Example #5
0
 public void ShowInfo(PanelBuilder panel)
 {
     panel.AddHeaderLabel(name);
     panel.AddSubLabel("Round", round, "round");
     panel.AddSubLabel("Date", date.ToLongDateString(), "!Icons/fugue:date");
     panel.AddSubLabel("Game", version, "logo");
     if (S.Debug())
     {
         panel.AddSubLabel("File", file, "file");
     }
 }
Example #6
0
 public override void ShowLexicon(PanelBuilder panel)
 {
     base.ShowLexicon(panel);
     panel.AddSubLabel("Daytime", daytime);
     panel.AddSubLabel("Season", season);
     panel.AddModi(modi);
     if (S.IsGame())
     {
         panel.AddHeaderLabel("Actual");
         panel.AddLabel(GameMgmt.Get().gameRound.GetRoundString());
     }
 }
 public override void ShowDetail(PanelBuilder panel)
 {
     foreach (Quest q in S.ActPlayer().quests.quests)
     {
         panel.AddSubLabel(q.Name(), q.status.ToString(), q.Sprite());
     }
 }
Example #8
0
        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);
            }
        }
Example #9
0
        public void ShowInfo(PanelBuilder panel, Player player = null)
        {
            AddImageLabel(panel);
            panel.RichText(desc);
            panel.AddSubLabel("Status", (IsFinish() ? "Finish":"In Progress"), IsFinish() ?"yes":"round");

            reqs.BuildPanel(panel, player);
            actions.BuildPanelT(new ActionDisplaySettings(panel, null));
        }
Example #10
0
        public void AddSubLabel(PanelBuilder panel, int count, string header = null, string display = null)
        {
            if (string.IsNullOrEmpty(display))
            {
                display = count.ToString();
            }
            var text = Plural(count, header, display);

            panel.AddSubLabel(Name(), text, Sprite());
        }
Example #11
0
        public override void ShowLexicon(PanelBuilder panel, [CanBeNull] MapElementInfo onMap, [CanBeNull] NVector pos)
        {
            base.ShowLexicon(panel);
            if (!string.IsNullOrEmpty(winter))
            {
                DataTerrain w = L.b.terrains[winter];
                panel.AddSubLabel(S.T("terrainPassableWinter"), w.Name(), w.Sprite());
            }

            panel.AddHeaderLabelT("move");
            foreach (Movement m in L.b.movements.Values())
            {
                int costO = MoveCost(m.id);
                int cost  = pos == null?costO:GameMgmt.Get().newMap.PathFinding(pos.level).CostNode(S.ActPlayer(), m.id, pos);

                var mess = S.T("terrainPassable", cost == 0?S.T("terrainPassableNot"):S.T("terrainPassableAP", cost), cost == costO ? "" : S.T("terrainPassableOrg", costO == 0?S.T("terrainPassableNot"):S.T("terrainPassableAP", costO)));
                panel.AddSubLabel(m.Name(), mess, m.Icon);
            }
            //if (movement.Count == 0) panel.AddImageLabel(S.T("terrainPassableNot"),"no");
            panel.AddModi(modi);

            ShowRes(panel, S.IsGame()?S.ActPlayer():null, pos);
        }
Example #12
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())));
                }
            }
        }
        public override void ShowDetail(PanelBuilder panel)
        {
            panel.AddSubLabel("Position", _mapElementInfo.Pos().ToString());
            panel.AddHeaderLabel("HP");
            panel.AddInput("HP", _mapElementInfo.data.hp, (s => { _mapElementInfo.data.hp = s; }));
            panel.AddHeaderLabel("AP");
            panel.AddInput("AP", _mapElementInfo.data.ap, (s => { _mapElementInfo.data.ap = s; }));
            panel.AddButton("Set Finish", _mapElementInfo.FinishConstruct);

            //display all actions
            foreach (var act in _mapElementInfo.data.action.actions)
            {
                act.PerformAction().BuildPanel(new ActionDisplaySettings(panel, _mapElementInfo.Player(), _mapElementInfo, _mapElementInfo.Pos(), act));
            }

            //display modis
        }
Example #14
0
        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);
        }
Example #15
0
        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);
        }