public override void Run() { var modData = ScreenManager.Instance.ModData; var findedMenus = modData.MenuInfos.Where(o => o.id == menuID); if (findedMenus.Count() > 0) { menuData = findedMenus.First(); if (world.GlobalVariableTable.ContainsKey("menuData")) { world.GlobalVariableTable["menuData"] = menuData; } else { world.GlobalVariableTable.Add("menuData", menuData); } script = new ScriptFile(menuData.Logic); loader.ExecuteFunction(script, "menuInit", world); menuData = world.GlobalVariableTable["menuData"] as ModMenuDfnXml; menuMainPanel = GameManager.Instance.trayMgr.createPanel("menuMainPanel"); menuMainPanel.AddRow(Widgets.ValueType.Percent); menuMainPanel.AddCol(Widgets.ValueType.Percent); menuTitle = GameManager.Instance.trayMgr.createStaticText("menuStaticText", menuData.Title); menuTitle.WidgetMetricMode = Mogre.GuiMetricsMode.GMM_RELATIVE; menuTitle.Top = 0.05f; menuMainPanel.AddWidget(1, 1, menuTitle, AlignMode.Center); menuItemsPanel = GameManager.Instance.trayMgr.createPanel("menuItemsPanel", 0.5f, 0.5f, 0, 0); menuMainPanel.AddWidget(2, 1, menuItemsPanel, AlignMode.Left, DockMode.Fill); foreach (var menu in menuData.Children) { menuItemsPanel.AddRow(Widgets.ValueType.Abosulte, 0.05f); } int row = 2; foreach (var menu in menuData.Children) { var button = GameManager.Instance.trayMgr.createButton(menu.id, menu.Text, 200); button.WidgetMetricMode = Mogre.GuiMetricsMode.GMM_RELATIVE; menuItemsPanel.AddWidget(row, 1, button, AlignMode.Center); menuButtons.Add(button); button.OnClick += Button_OnClick; row++; } } }
public override void Run() { gameMainPanel = GameManager.Instance.trayMgr.createPanel("gameMainPanel", 1.0f, 0.2f, 0.0f, 0.92f); gameMainPanel.AddCol(Widgets.ValueType.Percent); gameMainPanel.AddCol(Widgets.ValueType.Percent); gameMainPanel.AddCol(Widgets.ValueType.Percent); gameMainPanel.AddCol(Widgets.ValueType.Percent); gameMainPanel.AddCol(Widgets.ValueType.Percent); gameMainPanel.AddCol(Widgets.ValueType.Percent); gameMainPanel.AddCol(Widgets.ValueType.Abosulte, 0.1f); gameMainPanel.AddCol(Widgets.ValueType.Abosulte, 180); btnTerrain = GameManager.Instance.trayMgr.createButton(TrayLocation.TL_NONE, "btnTerrain", "Terrain", 150); btnTerrain.WidgetMetricMode = GuiMetricsMode.GMM_RELATIVE; btnTerrain.Top = 0.025f; btnTerrain.OnClick += BtnTerrain_OnClick; gameMainPanel.AddWidget(1, 1, btnTerrain); btnCamp = GameManager.Instance.trayMgr.createButton(TrayLocation.TL_NONE, "btnCamp", "Camp", 150); btnCamp.WidgetMetricMode = GuiMetricsMode.GMM_RELATIVE; btnCamp.Top = 0.025f; btnCamp.OnClick += BtnCamp_OnClick; gameMainPanel.AddWidget(1, 2, btnCamp); btnReports = GameManager.Instance.trayMgr.createButton(TrayLocation.TL_NONE, "btnReports", "Reports", 150); btnReports.WidgetMetricMode = GuiMetricsMode.GMM_RELATIVE; btnReports.OnClick += BtnReports_OnClick; btnReports.Top = 0.025f; gameMainPanel.AddWidget(1, 3, btnReports); btnNotes = GameManager.Instance.trayMgr.createButton(TrayLocation.TL_NONE, "btnNotes", "Notes", 150); btnNotes.WidgetMetricMode = GuiMetricsMode.GMM_RELATIVE; btnNotes.Top = 0.025f; btnNotes.OnClick += BtnNotes_OnClick; gameMainPanel.AddWidget(1, 4, btnNotes); btnInventory = GameManager.Instance.trayMgr.createButton(TrayLocation.TL_NONE, "btnInventory", "Inventory", 150); btnInventory.WidgetMetricMode = GuiMetricsMode.GMM_RELATIVE; btnInventory.Top = 0.025f; btnInventory.OnClick += BtnInventory_OnClick; gameMainPanel.AddWidget(1, 5, btnInventory); btnCharacter = GameManager.Instance.trayMgr.createButton(TrayLocation.TL_NONE, "btnCharacter", "Characters", 150); btnCharacter.WidgetMetricMode = GuiMetricsMode.GMM_RELATIVE; btnCharacter.Top = 0.025f; btnCharacter.OnClick += BtnCharacter_OnClick; gameMainPanel.AddWidget(1, 6, btnCharacter); btnParty = GameManager.Instance.trayMgr.createButton(TrayLocation.TL_NONE, "btnParty", "Party", 150); btnParty.WidgetMetricMode = GuiMetricsMode.GMM_RELATIVE; btnParty.Top = 0.025f; btnParty.OnClick += BtnParty_OnClick; gameMainPanel.AddWidget(1, 7, btnParty); txtCurrentDate = GameManager.Instance.trayMgr.createStaticText("gameDate", TimerManager.Instance.GetDate()); txtCurrentTime = GameManager.Instance.trayMgr.createStaticText("gameTime", TimerManager.Instance.CurrentTime.ToString()); txtCurrentDate.WidgetMetricMode = GuiMetricsMode.GMM_RELATIVE; txtCurrentTime.WidgetMetricMode = GuiMetricsMode.GMM_RELATIVE; txtCurrentDate.Top = 0.015f; txtCurrentTime.Top = 0.03f; gameMainPanel.AddWidget(1, 9, txtCurrentDate); gameMainPanel.AddWidget(1, 9, txtCurrentTime); }