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);
        }
Beispiel #2
0
        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
                                                                                           }
                                                                           });
        }
Beispiel #3
0
        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);
 }
Beispiel #5
0
        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)
 {
 }