private static NetworkUI.NetworkMenu BuildManager(Players.Player player, Pipliz.Collections.SortedList <string, ColonyJobData> jobinfo) { NetworkUI.NetworkMenu ret = NetworkStuff.BaseMenu(); ret.LocalStorage.SetAs("header", "Colony Manager"); List <(NetworkUI.IItem, int)> headers = new List <(NetworkUI.IItem, int)>(); headers.Add((new NetworkUI.Items.Label("Job"), 140)); headers.Add((new NetworkUI.Items.Label("Working"), 140)); headers.Add((new NetworkUI.Items.Label("Available"), 140)); ret.Items.Add(new NetworkUI.Items.HorizontalRow(headers)); //List Jobs foreach (var item in jobinfo) { List <(NetworkUI.IItem, int)> items = new List <(NetworkUI.IItem, int)>(); items.Add((new NetworkUI.Items.Label(item.Key), 140)); items.Add((new NetworkUI.Items.Label(item.Value.Taken.ToString()), 140)); items.Add((new NetworkUI.Items.Label(item.Value.Avaible.ToString()), 140)); items.Add((new NetworkUI.Items.ButtonCallback("PG.Recruit." + item.Key, new NetworkUI.LabelData("Recruit", UnityEngine.Color.black, UnityEngine.TextAnchor.MiddleCenter)), 140)); items.Add((new NetworkUI.Items.ButtonCallback("PG.Jobs." + item.Key, new NetworkUI.LabelData("NPC List", UnityEngine.Color.black, UnityEngine.TextAnchor.MiddleCenter)), 140)); ret.LocalStorage.SetAs("PG.Recruit." + item.Key, 0); ret.LocalStorage.SetAs("PG.Jobs." + item.Key, 0); ret.Items.Add(new NetworkUI.Items.HorizontalRow(items)); } return(ret); }
private static NetworkUI.NetworkMenu BuildManager(Players.Player player, string jobname) { NetworkUI.NetworkMenu ret = NetworkStuff.BaseMenu(); ret.LocalStorage.SetAs("header", "Job Manager"); List <NPC.NPCBase> npcs = GetNPCsofJob(player.ActiveColony, jobname); List <(NetworkUI.IItem, int)> headers = new List <(NetworkUI.IItem, int)>(); headers.Add((new NetworkUI.Items.Label("Name"), 140)); headers.Add((new NetworkUI.Items.Label("Age"), 140)); headers.Add((new NetworkUI.Items.Label("Job Level"), 140)); headers.Add((new NetworkUI.Items.Label("Action Speed"), 140)); ret.Items.Add(new NetworkUI.Items.HorizontalRow(headers)); foreach (var npc in npcs) { if (NPCXP.JobManager.GetJobData(npc.NPCType, out NPCXP.JobData jobData)) { NPCXP.NPCData npcData = NPCXP.NPCManager.GetNPCData(npc.ID, player.ActiveColony); NPCXP.XPData xpData = npcData.XPData; List <(NetworkUI.IItem, int)> items = new List <(NetworkUI.IItem, int)>(); items.Add((new NetworkUI.Items.Label(npcData.Name), 140)); items.Add((new NetworkUI.Items.Label(npcData.Age.ToString()), 140)); items.Add((new NetworkUI.Items.Label(xpData.GetLevel(jobname).ToString()), 140)); items.Add((new NetworkUI.Items.Label((jobData.cooldown * xpData.GetCraftingMultiplier(jobname)).ToString()), 140)); ret.Items.Add(new NetworkUI.Items.HorizontalRow(items)); } } return(ret); }
private static NetworkUI.NetworkMenu BuildMenu(Players.Player player) { NetworkUI.NetworkMenu ret = NetworkStuff.BaseMenu(); ret.LocalStorage.SetAs("header", "Resource Manager"); List <(NetworkUI.IItem, int)> headers = new List <(NetworkUI.IItem, int)>(); headers.Add((new NetworkUI.Items.Label("Item Name"), 200)); headers.Add((new NetworkUI.Items.Label("Today"), 200)); headers.Add((new NetworkUI.Items.Label("Yesterday"), 200)); headers.Add((new NetworkUI.Items.Label("Two Days Ago"), 200)); headers.Add((new NetworkUI.Items.Label("Average"), 200)); ret.Items.Add(new NetworkUI.Items.HorizontalRow(headers)); Stockpile.OldStockpiles stockpiles = Stockpile.StockpileManager.GetOldStockpiles(player.ActiveColony.ColonyID); foreach (var item in player.ActiveColony.Stockpile.Items) { if (stockpiles.today.ContainsKey(item.Key) || stockpiles.yesterday.ContainsKey(item.Key) || stockpiles.twodaysago.ContainsKey(item.Key)) { List <(NetworkUI.IItem, int)> items = new List <(NetworkUI.IItem, int)>(); items.Add((new NetworkUI.Items.Label(ItemTypes.IndexLookup.GetName(item.Key)), 200)); int avg = 0; if (stockpiles.today.ContainsKey(item.Key)) { avg += stockpiles.today[item.Key]; items.Add((new NetworkUI.Items.Label(stockpiles.today[item.Key].ToString()), 200)); } else { items.Add((new NetworkUI.Items.Label("NA"), 200)); } if (stockpiles.yesterday.ContainsKey(item.Key)) { avg += stockpiles.yesterday[item.Key]; items.Add((new NetworkUI.Items.Label(stockpiles.yesterday[item.Key].ToString()), 200)); } else { items.Add((new NetworkUI.Items.Label("NA"), 200)); } if (stockpiles.twodaysago.ContainsKey(item.Key)) { avg += stockpiles.twodaysago[item.Key]; items.Add((new NetworkUI.Items.Label(stockpiles.twodaysago[item.Key].ToString()), 200)); } else { items.Add((new NetworkUI.Items.Label("NA"), 200)); } avg = avg / 3; items.Add((new NetworkUI.Items.Label(avg.ToString()), 200)); ret.Items.Add(new NetworkUI.Items.HorizontalRow(items)); } } return(ret); }