public void SwitchStore() { if (GameEngine.Instance.GuiMenuModule.ContainsKey("miningStoreItemMenu")) { GameEngine.Instance.GuiMenuModule["miningStoreItemMenu"].Buttons.Clear(); } mineralList = !mineralList; int prodRank = 1; bool orbital = false; // TODO: Get prodRank and orbital if (GameEngine.Instance.GuiMenuModule.ContainsKey("miningStoreItemMenu")) { if (mineralList) { GuiButtonInfo btn; int i = -1; foreach (KeyValuePair <string, StoreItem> sit in GameEngine.Instance.ItemTemplates) { if (sit.Value.Type != ItemType.Mineral) { i++; if (sit.Value.Researched) { btn = new GuiButtonInfo("miningStoreItemMenu", new Rectangle((i / 16) * 42 + 7, (i % 16 * 20) + 7, 42, 20), sit.Value.Title, "gameScreen.Storage.ItemBlink", true, 1, 100); if (sit.Value.OrbitalOnly && !orbital) { btn.PictureColor = Color.Yellow; } else { if (sit.Value.BuildRank > prodRank) { btn.PictureColor = Color.Red; } else { btn.PictureColor = Color.Green; } } GuiButtonParamExecuteModuleMethod par = new GuiButtonParamExecuteModuleMethod("ShowItemPrice", GetType().ToString()); par.methodParams.Add(new MethodParamInfo(typeof(string).ToString(), sit.Key)); btn.Params.Add("Show" + sit.Key + "Price", par); par = new GuiButtonParamExecuteModuleMethod("ResetAnimation", GetType().ToString()); par.methodParams.Add(new MethodParamInfo(typeof(string).ToString(), GameEngine.Instance.GuiMenuModule["miningStoreItemMenu"].Buttons.Count.ToString())); btn.Params.Add("ResetAnimation", par); GameEngine.Instance.GuiMenuModule["miningStoreItemMenu"].Buttons.Add(GetType().Name + ".ShowItemPrice." + sit.Key, btn); } } } } } }
public override void OnInitMenus() { GuiMenu mnu = new GuiMenu("factoryMenu"); mnu.Picture = "gameScreen.Production"; mnu.Location = new Point(120, 40); mnu.TextureArea = new Rectangle(0, 0, 680, 420); GameEngine.Instance.GuiMenuModule.Add(mnu.Id, mnu); GuiButtonInfo btn = new GuiButtonInfo("factoryMenu", new Rectangle(298, 368, 60, 40), "Send Team To Bay", "", true); btn.Params.Add("EvictTeam", new GuiButtonParamExecuteModuleMethod("EvictTeam", GetType().ToString())); mnu.Buttons.Add(GetType().Name + ".EvictTeam", btn); mnu = new GuiMenu("factoryMenuItems"); mnu.Picture = ""; mnu.Location = new Point(560 + 120, 0 + 40); mnu.TextureArea = new Rectangle(0, 0, 101, 334); GameEngine.Instance.GuiMenuModule.Add(mnu.Id, mnu); Dictionary <string, bool> pomQueue = new Dictionary <string, bool>(BuildQueue.Count); int i; for (i = 0; i < BuildQueue.Count; i++) { pomQueue.Add(BuildQueue[i].ItemId, BuildQueue[i].Repeat); } i = -1; foreach (KeyValuePair <string, StoreItem> sit in GameEngine.Instance.ItemTemplates) { if (sit.Value.Type != ItemType.Mineral) { i++; if (sit.Value.Researched) { btn = new GuiButtonInfo("miningStoreItemMenu", new Rectangle((i / 16) * 42 + 7, (i % 16 * 20) + 7, 42, 20), sit.Value.Title, "gameScreen.Storage.ItemBlink", true, 1, 100); if (!pomQueue.ContainsKey(sit.Key)) { btn.PictureColor = Color.Red; } else { if (pomQueue[sit.Key]) { btn.PictureColor = Color.Green; } else { btn.PictureColor = Color.Yellow; } } GuiButtonParamExecuteModuleMethod par = new GuiButtonParamExecuteModuleMethod("CycleQueueItem", GetType().ToString()); par.methodParams.Add(new MethodParamInfo(typeof(string).ToString(), sit.Key)); btn.Params.Add("CycleQueueItem", par); mnu.Buttons.Add(GetType().Name + ".CycleQueueItem." + sit.Key, btn); } } } //366,350 // btn = new GuiButtonInfo("factoryMenu", new Rectangle(366+58-8, 350+31-8, 15, 12), "AOC status", "gameScreen.Storage.ItemBlink", true, 10, 100); // mnu.Buttons.Add(btn); }