Exemple #1
0
        public override bool Load()
        {
            this.AddChild((allSlideSprite = new SpriteObject(device)));

            LoadLastCreatedRoom();

            firstSprite = new SlideSprite(device, ResourceManager, Sound)
            {
                FirstSlide = true
            };

            firstSprite.AddSelection(Utility.Language["CreateRoom"]);
            firstSprite.AddSelection(Utility.Language["EnterRoom"]);
            firstSprite.AddSelection(Utility.Language["WaitPlayerAsHost"]);
            firstSprite.AddSelection(Utility.Language["ConnectToHost"]);

            allSlideSprite.AddChild(firstSprite);

            focusManager = new FocusManager();
            focusManager.Focus(firstSprite);

            this.AddChild(new PictureObject(device, ResourceManager, Utility.Path.Combine("background.png")));

            firstSprite.Selected += slideSprite_Selected;

            return(true);
        }
Exemple #2
0
        private void CreatePasswordPanel()
        {
            var passwordSprite = new SlideSprite(device, ResourceManager, Sound)
            {
                Position = new SharpDX.Vector2(800 * currentIndex, 0)
            };

            passwordSprite.AddUserComponent(new TextureString(device, Utility.Language["InputPassword"], 18, true, PPDColors.White)
            {
                Position = new SharpDX.Vector2(400, 200)
            });
            var passwordTextBox = new DxTextBox(device, GameHost, ResourceManager)
            {
                DrawOnlyFocus = false
            };

            passwordTextBox.LostFocused  += passwordTextBox_LostFocused;
            passwordTextBox.Position      = new SharpDX.Vector2(300, 250);
            passwordTextBox.TextBoxHeight = 20;
            passwordTextBox.TextBoxWidth  = passwordTextBox.MaxWidth = 200;
            passwordTextBox.Text          = "";
            currentTextBox = passwordTextBox;
            passwordSprite.AddUserComponent(passwordTextBox);
            passwordSprite.AddUserComponent(new TextureString(device, "", 18, true, PPDColors.White)
            {
                Position = new SharpDX.Vector2(400, 300)
            });
            passwordSprite.LostFocused += slideSprite_LostFocused;
            passwordSprite.Inputed     += slideSprite_Inputed;
            allSlideSprite.AddChild(passwordSprite);
            focusManager.Focus(passwordSprite);
            focusManager.Focus(passwordTextBox);
        }
Exemple #3
0
        private void CreateConfirmPanel()
        {
            var confirmSprite = new SlideSprite(device, ResourceManager, Sound)
            {
                Position = new SharpDX.Vector2(800 * currentIndex, 0)
            };

            confirmSprite.AddUserComponent(new TextureString(device, Utility.Language["ConfirmCreateRoom"], 18, true, PPDColors.White)
            {
                Position = new SharpDX.Vector2(400, 150)
            });
            confirmSprite.AddUserComponent(new TextureString(device, String.Format(Utility.Language["RoomName"], roomName), 18, PPDColors.White)
            {
                Position = new SharpDX.Vector2(300, 200)
            });
            confirmSprite.AddUserComponent(new TextureString(device, String.Format(Utility.Language["Password"], password), 18, PPDColors.White)
            {
                Position = new SharpDX.Vector2(300, 230)
            });
            confirmSprite.AddUserComponent(new TextureString(device, String.Format(Utility.Language["Port"], port), 18, PPDColors.White)
            {
                Position = new SharpDX.Vector2(300, 260)
            });
            confirmSprite.LostFocused += slideSprite_LostFocused;
            confirmSprite.Inputed     += confirmSprite_Inputed;
            allSlideSprite.AddChild(confirmSprite);
            focusManager.Focus(confirmSprite);
        }
Exemple #4
0
        protected static void Setup()
        {
            map = levels[level];
            String[] lines = map.Split('\n');
            width  = lines[0].Length - 1;
            height = lines.Length;
            goals  = new SlideSprite[width, height];
            walls  = new SlideSprite[width, height];
            blocks = new SlideSprite[width, height];
            for (int j = 0; j < height; j++)
            {
                for (int i = 0; i < width; i++)
                {
                    if (lines[j][i] == 'g' || lines[j][i] == 'B')
                    {
                        goals[i, j] = new SlideSprite(Properties.Resources.goal, i * 100, j * 100);
                        Program.parent.add(goals[i, j]);
                    }
                    if (lines[j][i] == 'w')
                    {
                        walls[i, j] = new SlideSprite(Properties.Resources.wall, i * 100, j * 100);
                        Program.parent.add(walls[i, j]);
                    }
                    if (lines[j][i] == 'b' || lines[j][i] == 'B')
                    {
                        blocks[i, j] = new SlideSprite(Properties.Resources.box, i * 100, j * 100);
                        if (lines[j][i] == 'B')
                        {
                            blocks[i, j].image = Properties.Resources.final;
                        }
                    }
                    if (lines[j][i] == 'c')
                    {
                        player = new SlideSprite(Properties.Resources.player, i * 100, j * 100);

                        x = i;
                        y = j;
                    }
                }
            }
            for (int j = 0; j < height; j++)
            {
                for (int i = 0; i < width; i++)
                {
                    if (blocks[i, j] != null)
                    {
                        Program.parent.add(blocks[i, j]);
                    }
                }
            }
            Program.parent.add(player);
            winScreen.setVisibility(false);
            winText.setVisibility(false);
            win.add(winScreen);
            win.add(winText);
        }
Exemple #5
0
        private void CreatePortPanel(bool toConfirm)
        {
            var portSprite = new SlideSprite(device, ResourceManager, Sound)
            {
                Position = new SharpDX.Vector2(800 * currentIndex, 0)
            };

            portSprite.AddUserComponent(new TextureString(device, Utility.Language["InputPort"], 18, true, PPDColors.White)
            {
                Position = new SharpDX.Vector2(400, 200)
            });
            var portTextBox = new DxTextBox(device, GameHost, ResourceManager)
            {
                DrawOnlyFocus = false
            };

            if (!toConfirm)
            {
                portTextBox.LostFocused += portTextBox_LostFocused;
            }
            else
            {
                portTextBox.LostFocused += portToConfirmTextBox_LostFocused;
            }
            portTextBox.Position      = new SharpDX.Vector2(300, 250);
            portTextBox.TextBoxHeight = 20;
            portTextBox.TextBoxWidth  = portTextBox.MaxWidth = 200;
            portTextBox.Text          = "";
            currentTextBox            = portTextBox;
            portSprite.AddUserComponent(portTextBox);
            portSprite.AddUserComponent(new TextureString(device, "", 18, true, PPDColors.White)
            {
                Position = new SharpDX.Vector2(400, 300)
            });
            portSprite.AddUserComponent(new TextureString(device, asHost ? Utility.Language["MustOpenPort"] : "", 18, true, PPDColors.White)
            {
                Position = new SharpDX.Vector2(400, 220)
            });
            portSprite.LostFocused += slideSprite_LostFocused;
            portSprite.Inputed     += slideSprite_Inputed;
            allSlideSprite.AddChild(portSprite);
            focusManager.Focus(portSprite);
            focusManager.Focus(portTextBox);
        }
Exemple #6
0
        void slideSprite_Selected(object sender, EventArgs e)
        {
            currentIndex++;

            var slideSprite = sender as SlideSprite;

            switch (slideSprite.CurrentSelection)
            {
            case 0:
                asHost = true;
                if (lastCreatedRoom == null)
                {
                    CreateRoomNameSprite();
                }
                else
                {
                    var confirmSprite = new SlideSprite(device, ResourceManager, Sound)
                    {
                        Position = new SharpDX.Vector2(800 * currentIndex, 0),
                        AutoBack = false
                    };
                    confirmSprite.AddUserComponent(new TextureString(device, Utility.Language["CreateRoomByLastInfoConfirm"], 18, true, PPDColors.White)
                    {
                        Position = new SharpDX.Vector2(400, 150)
                    });
                    confirmSprite.AddUserComponent(new TextureString(device, String.Format(Utility.Language["RoomName"], lastCreatedRoom.RoomName), 18, PPDColors.White)
                    {
                        Position = new SharpDX.Vector2(300, 200)
                    });
                    confirmSprite.AddUserComponent(new TextureString(device, String.Format(Utility.Language["Password"], lastCreatedRoom.PasswordHash), 18, PPDColors.White)
                    {
                        Position = new SharpDX.Vector2(300, 230)
                    });
                    confirmSprite.AddUserComponent(new TextureString(device, String.Format(Utility.Language["Port"], lastCreatedRoom.Port), 18, PPDColors.White)
                    {
                        Position = new SharpDX.Vector2(300, 260)
                    });
                    confirmSprite.LostFocused += slideSprite_LostFocused;
                    confirmSprite.Inputed     += confirmSprite_Inputed2;
                    allSlideSprite.AddChild(confirmSprite);
                    focusManager.Focus(confirmSprite);
                }
                break;

            case 1:
                var roomListSplite = new SlideSprite(device, ResourceManager, Sound)
                {
                    Position = new SharpDX.Vector2(800 * currentIndex, 0)
                };
                var roomList = new RoomListComponent(device, ResourceManager, Sound, GameHost);
                roomList.RoomSelected += roomList_RoomSelected;
                roomListSplite.AddUserComponent(roomList);
                roomListSplite.LostFocused += slideSprite_LostFocused;
                allSlideSprite.AddChild(roomListSplite);
                focusManager.Focus(roomListSplite);
                focusManager.Focus(roomList);
                break;

            case 2:
                asHost = true;
                CreatePortPanel(false);
                break;

            case 3:
                asHost = false;
                var ipSprite = new SlideSprite(device, ResourceManager, Sound)
                {
                    Position = new SharpDX.Vector2(800 * currentIndex, 0)
                };
                ipSprite.AddUserComponent(new TextureString(device, Utility.Language["InputIP"], 18, true, PPDColors.White)
                {
                    Position = new SharpDX.Vector2(400, 200)
                });
                var ipTextBox = new DxTextBox(device, GameHost, ResourceManager)
                {
                    DrawOnlyFocus = false
                };
                ipTextBox.LostFocused  += ipTextBox_LostFocused;
                ipTextBox.Position      = new SharpDX.Vector2(300, 250);
                ipTextBox.TextBoxHeight = 20;
                ipTextBox.TextBoxWidth  = ipTextBox.MaxWidth = 200;
                ipTextBox.Text          = "";
                currentTextBox          = ipTextBox;
                ipSprite.AddUserComponent(ipTextBox);
                ipSprite.AddUserComponent(new TextureString(device, "", 18, true, PPDColors.White)
                {
                    Position = new SharpDX.Vector2(400, 300)
                });
                ipSprite.Inputed     += slideSprite_Inputed;
                ipSprite.LostFocused += slideSprite_LostFocused;
                allSlideSprite.AddChild(ipSprite);
                focusManager.Focus(ipSprite);
                focusManager.Focus(ipTextBox);
                break;
            }
        }