Exemple #1
0
        public void showRespawnModal(Vector2i spawn)
        {
            Gwen.Control.WindowControl w = new Gwen.Control.WindowControl(_canvas, "Respawn", true);
            w.Width = 150;
            w.Height = 100;
            w.IsClosable = false;
            Align.Center(w);
            Gwen.Control.Label text = new Gwen.Control.Label(w);
            text.Text = "You Died!";
            text.SetPosition(5, 10);

            Gwen.Control.Button respawn = new Gwen.Control.Button(w);
            respawn.SetText("Respawn");
            respawn.TextColor = System.Drawing.Color.White;
            respawn.TextColorOverride = System.Drawing.Color.FromArgb(236, 236, 255);
            respawn.Width = 60;
            respawn.X = w.Width / 2 - (respawn.Width/2);
            respawn.Y = w.Height - respawn.Height - 40;
            respawn.Clicked += delegate
            {
                //Engine.map.entities.Add(new Player(spawn));
                Log.WriteError("Not currently implemented in this refactoring!");
                Engine.view.Center = new Vector2f(spawn.X*16, spawn.Y*16);
                w.Close();
            };
        }
Exemple #2
0
        public void showItemModal(TriggerGiveItem sender)
        {
            Gwen.Control.WindowControl w = new Gwen.Control.WindowControl(_canvas, "Items", true);
            w.Width = 200;
            w.Height = 120;
//w.DeleteOnClose = true;

            Gwen.Control.ImagePanel img = new Gwen.Control.ImagePanel(w);
            img.ImageName = "./assets/" + sender.item.iconName;
            img.SetPosition(5, 10);
            img.SetSize(32, 32);

            Gwen.Control.CheckBox check = new Gwen.Control.CheckBox(w);
            check.SetPosition(w.Width - 29, 32 / 2 + 3);
            check.IsChecked = true;

            Gwen.Control.Label itemName = new Gwen.Control.Label(w);
            itemName.Text = sender.item.name;
            itemName.SetPosition(48, 14);

            Gwen.Control.Label itemDescription = new Gwen.Control.Label(w);
            Gwen.Font descFont = defaultFont;
            descFont.Size = 9;
            itemDescription.Width = 200;
            itemDescription.Text = sender.item.description;
            itemDescription.Font = descFont;
            itemDescription.SetPosition(48, 25);

            Gwen.Control.Button takeAll = new Gwen.Control.Button(w);
            takeAll.SetText("Take All");
            takeAll.TextColor = System.Drawing.Color.White;
            takeAll.TextColorOverride = System.Drawing.Color.FromArgb(236, 236, 255);
            takeAll.Width = 60;
            takeAll.X = 5;
            takeAll.Y = w.Height - takeAll.Height - 40;
            takeAll.Clicked += delegate {
                if (sender._amount > 0)
                {
                    while(sender._amount > 0)
                    {
                        Engine.player.inventory.Add(sender.item);
                        if (Engine.player.activeWeapon.name == null && sender.item.GetType().IsSubclassOf(typeof(Weapon))) 
                        {
                            Engine.player.activeWeapon = (Panjin.Weapon)Engine.player.inventory[Engine.player.inventory.Count -1];
                        }
                        sender._amount--;
                    }
                    w.SetPosition(-99, -99);
                    w.Hide();
                    w.Close();
                }
                else
                {
                    w.SetPosition(-99, -99);
                    w.Hide();
                    w.Close();
                }
            };




            Gwen.Control.Button takeSelected = new Gwen.Control.Button(w);
            takeSelected.SetText("Take Selected");
            takeSelected.Width = 80;
            takeSelected.TextColor = System.Drawing.Color.White;
            takeSelected.TextColorOverride = System.Drawing.Color.FromArgb(236, 236, 255);
            takeSelected.X = w.Width - takeSelected.Width - 17;
            takeSelected.Y = w.Height - takeSelected.Height - 40;
        }
Exemple #3
0
        public void showDialogueModal(NPC sender, string imageName, string text)
        {
            Gwen.Control.WindowControl w = new Gwen.Control.WindowControl(_canvas, sender.name, true);
            w.Width = 320;
            w.Height = 170;
            Align.Center(w);

            Gwen.Control.ImagePanel img = new Gwen.Control.ImagePanel(w);
            img.ImageName = "./assets/" + imageName;
            img.SetPosition(5, 10);
            img.SetSize(120, 120);

            Gwen.Control.RichLabel label = new Gwen.Control.RichLabel(w);
            String[] textLines = text.Split(new Char[]{'/'});
            for (int i = 0; i < textLines.Length; i++ )
            {
                label.AddText(textLines[i], System.Drawing.Color.Black, HUD.defaultFont);
                label.AddLineBreak();
            }
            label.SetPosition(130, 10);
            label.SetSize(320 - 130, w.Height - 20);
        }