public ClientManager(string gatewayServerAddress) { var elem = Document.GetElementById("loading"); elem.ParentNode.RemoveChild(elem); var stats = new XStats(); Document.Body.AppendChild(stats.Element); gameCanvas = CanvasInformation.Create((CanvasElement) Document.GetElementById(gameCanvasName), 0, 0); uiCanvas = CanvasInformation.Create((CanvasElement) Document.GetElementById(uiCanvasName), 0, 0); UIManager = new UIManager(); gateway = new Gateway(gatewayServerAddress); gameManager = new GameManager(gateway.On, gateway.Emit); gateway.On("Area.Main.Login.Response", (user,data) => { Window.Alert(Json.Stringify(data)); }); gateway.Login(randomName()); bindInput(); Window.AddEventListener("resize", e => resizeCanvas()); jQuery.Document.Resize(e => resizeCanvas()); int a = 0; //Window.SetInterval(() => {},1000 / 60); Window.SetInterval(GameTick, 1000 / 10); Window.SetInterval(Tick, 1000 / 60); Window.SetInterval(GameDraw, 1000 / 60); Window.SetInterval(UIDraw, 1000 / 10); gameManager.Start(gameCanvas.Context); resizeCanvas(); gameManager.BuildUI(UIManager); }
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 void BuildUI(UIManager uiManager) { game.BuildUI(uiManager); }
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; }}); }
public virtual void BuildUI(UIManager manager) { }