public override void BuildUI(UIManager manager) { UIArea manageData; manager.AddArea(manageData = new UIArea(Screen.Width - 400, 100, 250, 300) {Closable = true}); manageData.Visible = true; manageData.AddControl(new TextArea(30, 25, "Manage Defense") {Color = "blue"}); myClickState = null; myClickState = new Button<bool>(false, 20, 50, 100, 25, new Func<string>(() => { return myClickState.Data ? "This" : "That"; })) { Click = (p) => { myClickState.Data = !myClickState.Data; } }; manageData.AddControl(myClickState); manageData.AddControl(new Button(20, 80, 100, 25, "Send Wave") { Click = (p) => { //idk do something on button click } }); }
public override void BuildUI(UIManager manager) { UIArea manageData; manager.AddArea(manageData = new UIArea(Screen.Width - 400, 100, 250, 300) {Closable = true}); manageData.Visible = true; manageData.AddControl(new TextArea(30, 25, "Manage Defense") {Color = "blue"}); manageData.AddControl(new TextArea(5, 50, "Mode: ")); myClickState = null; myClickState = new Button<bool>(true, 20, 50, 100, 25, new Func<string>(() => { return myClickState.Data ? "Edit" : "Play"; })) { Click = (p) => { myClickState.Data = !myClickState.Data; if (myClickState.Data) gameManager.GameMode = GameMode.Play; else gameManager.GameMode = GameMode.TileEdit; } }; manageData.AddControl(myClickState); manageData.AddControl(new Button(20, 80, 100, 25, "Send Wave") {Click = (p) => { }}); }
public override void BuildUI(UIManager manager) { UIArea manageData; manager.AddArea(manageData = new UIArea(Screen.Width - 400, 100, 250, 300) {Closable = true}); manageData.Visible = true; manageData.AddControl(new TextArea(30, 25, "Manage Defense") {Color = "blue"}); myClickState = null; myClickState = new Button<int>(0, 20, 50, 100, 25, (Func<string>) ( () => { switch (myClickState.Data) { case 0: return "Move Kingdom"; case 1: return "Move Waypoint"; case 2: return "Add Waypoint"; case 3: return "Place Tower"; } return ""; } )) { Click = (p) => { myClickState.Data++; myClickState.Data = myClickState.Data % 4; } }; manageData.AddControl(myClickState); manageData.AddControl(new Button(20, 80, 100, 25, "Send Wave") { Click = (p) => { foreach (var kingdom in Kingdoms) { for (int i = 0; i < 4; i++) { KeyValuePair<string, Kingdom> kingdom1 = kingdom; Window.SetTimeout(() => { kingdom1.Value.Units.Add(new QuickShooterUnit(kingdom1.Value.Waypoints[0].Travel(150, Scale), kingdom1.Value)); kingdom1.Value.Units.Add(new QuickShooterUnit(kingdom1.Value.Waypoints[1].Travel(150, Scale), kingdom1.Value)); kingdom1.Value.Units.Add(new QuickShooterUnit(kingdom1.Value.Waypoints[2].Travel(150, Scale), kingdom1.Value)); }, 750 * i); } } } }); manageData.AddControl(new Button(20, 125, 100, 25, ( (Func<string>) ( () => { return DRAWFAST ? "Draw Slow" : "Draw Fast"; } ) )) {Click = (p) => { DRAWFAST = !DRAWFAST; }}); }