Example #1
0
        public QuestMenu(Quest[] quests, Player player)
        {
            //			Location = new Point(MainForm.res.Width-Width,Map.StartPoint.Y);//Adjustable
            Location = new Point(0,SideMenu.EndPoint.Y);//Adjustable

            CurrentStartID = 0;

            if (MaxDisplayed>=quests.Length)
            {
                Add(new RelativeLabel(new Point (0,0), new Size(Width,Offset+quests.Length*(Height+Offset)+NameLabelHeight+Offset)), "BackgroundLabel");
                for (int i=0;i<quests.Length;i++)
                {
                    Add(CreateQuestGroupControl(quests[i],player,i,0));
                }
            }
            else
            {
                Add(new RelativeLabel(new Point (0,0), new Size(Width,Offset+MaxDisplayed*(Height+Offset)+2*(ButtonHeight+Offset)+NameLabelHeight+Offset)), "BackgroundLabel");
                for (int i=CurrentStartID;i<CurrentStartID+MaxDisplayed;i++)
                {
                    Add(CreateQuestGroupControl(quests[i],player,i,Offset+ButtonHeight));
                }
                Add(new RelativeLabel(new Point(Offset,NameLabelHeight+2*Offset), new Size(Width-2*Offset,ButtonHeight)),"UpButton");
                GetControl("UpButton").Text = "^";
                GetControl("UpButton").Click += delegate
                {
                    if(CurrentStartID>0)
                        CurrentStartID--;
                    UpdateVisibleQuests(quests,player);
                };
                Add(new RelativeLabel(new Point(Offset, SubGroups[MaxDisplayed-1].Location.Y+Offset+Height-SideMenu.EndPoint.Y), new Size(Width-2*Offset,ButtonHeight)),"DownButton");
                GetControl("DownButton").Text = "v";
                GetControl("DownButton").Click += delegate
                {
                    if(CurrentStartID+MaxDisplayed<quests.Length)
                        CurrentStartID++;
                    UpdateVisibleQuests(quests,player);
                };
            }
            GetControl("BackgroundLabel").BackColor = Color.Lime;

            Add(new RelativeLabel(new Point(Offset,Offset), new Size(Width - 2*Offset,NameLabelHeight)), "NameLabel");
            GetControl("NameLabel").Text = "Quests";
        }
Example #2
0
        public MainForm()
        {
            InitializeComponent(); // The InitializeComponent() call is required for Windows Forms designer support.
            InitDisplay(); //Set se Resolution
            EstablishConnection();

            Map = new Map();
            SideMenu = new SideMenu();

            //Map
            this.Controls.Add(Map.FrameLabel);
            Map.FrameLabel.BringToFront();
            Map.FrameLabel.MouseUp += OnMoveMap;
            Map.FrameLabel.MouseDown += OnMoveMap;
            Map.RedrawImage();
            //Places
            Places = new Locations(SendMoveRequest);
            InitControlGroup(Places.Menu);
            foreach(Place p in Places.AllPlaces.Values)
            {
                this.Controls.Add(p.ClickLabel);
                p.ClickLabel.Parent = Map.FrameLabel;
                p.ClickLabel.BringToFront();
            }
            OnMoveMap(Map.FrameLabel, new MouseEventArgs(MouseButtons.None, 0, 0, 0, 0));
            Map.FrameLabel.MouseDown += delegate
            {
                foreach (Place p in Places.AllPlaces.Values)
                    p.ClickLabel.Visible = false;
            };

            //Players
            UpdatePlayerLocation();

            //Sidemenu
            InitControlGroup(SideMenu);
            SideMenu.Visible = true;
            foreach (RelativeLabel c in SideMenu.Controls)
                c.Click += SideMenuButtonClick;
            InitControlGroup(SideMenu.LogMenu);

            //FIXME: debug... REMOVE!
            Quests[0] = new Quest("Quest 1", new int[2] {1,2},new Resources(2,3,1,4),2,3,new Item[0]);
            Quests[1] = new Quest("Quest 1", new int[2] {1,2},new Resources(2,3,1,4),2,3,new Item[0]);
            Quests[2] = new Quest("Quest 1", new int[2] {1,2},new Resources(2,3,1,4),2,3,new Item[0]);
            //END
        }
Example #3
0
        public ControlGroup CreateQuestGroupControl(Quest quest, Player player, int SlotNum, int SpecOffset)
        {
            ControlGroup c = new ControlGroup(new Point(Location.X,SlotNum*(Height+Offset)+SideMenu.EndPoint.Y+2*Offset+NameLabelHeight+SpecOffset));

            c.Add(new RelativeLabel(new Point(Offset,0), new Size(Height,Height)), "ImageLabel");
            c.Add(new RelativeLabel(new Point(Offset+Height+Offset,0),new Size(Width-3*Offset-Height,50)),"TextLabel");
            c.Add(new RelativeLabel(new Point(Offset+Height+Offset,50),new Size(Width-3*Offset-Height,50)),"RequirementsLabel");

            string[] TextBuf = QuestText(quest,player);

            c.GetControl("TextLabel").Text = TextBuf[0];
            c.GetControl("RequirementsLabel").Text = TextBuf[1];
            c.GetControl("ImageLabel").BackgroundImage = Character.GetCharacter(quest.CharacterID).CharacterImage;

            return c;
        }
Example #4
0
 public void UpdateVisibleQuests(Quest[] quests, Player player)
 {
     for (int i=0; i<MaxDisplayed;i++)
     {
         string [] TextBuf=QuestText(quests[i+CurrentStartID],player);
         SubGroups[i].GetControl("TextLabel").Text = TextBuf[0];
         SubGroups[i].GetControl("RequirementsLabel").Text = TextBuf[1];
         SubGroups[i].GetControl("ImageLabel").BackgroundImage = Character.GetCharacter(i+CurrentStartID).CharacterImage;
     }
 }
Example #5
0
        public string[] QuestText(Quest quest, Player player)
        {
            string TextBuf2 = Character.GetCharacter(0).Name+" "+"Charakter "+quest.CharacterID.ToString()+": "+quest.Text;

            string TextBuf = "";
            TextBuf += "Location: " + player.LocationID + " =? " + quest.LocationID + " ";

            TextBuf += "Resources: ";
            if (quest.ResourcesNeeded > new Resources())
                for (int i = 0; i<quest.ResourcesNeeded.All.Length;i++)
                    TextBuf += player.Resources.All[i].ToString() + "/" + quest.ResourcesNeeded.All[i].ToString() +" ";
            else
                TextBuf += "none ";

            TextBuf += "Players: ";
            if (quest.PlayerIDs.Length == 0)
                TextBuf += "all ";
            else
                foreach (int i in quest.PlayerIDs)
                    TextBuf += i.ToString() + " ";

            TextBuf += "Items: ";
            if (quest.NeededItems.Length == 0)
                TextBuf += "none ";
            else
                foreach (Item i in quest.NeededItems)
                    TextBuf += i.Name + " ";

            return new string[2] {TextBuf2, TextBuf};
        }