Exemplo n.º 1
0
        public InformationPanel(Rectangle boundingBox)
            : base(MediaRepository.Textures["Blank"], boundingBox, new Color(255, 255, 255, 50))
        {
            directionPanel = new Panel(new Rectangle(5, 5, 240, 140), new Color(255, 255, 255, 100));

            detailPanel = new Panel(new Rectangle(255, 5, 480, 140), new Color(0, 0, 0, 50));
            mapPanel = new Panel(new Rectangle(745, 5, 140, 140), new Color(255, 255, 255, 100));

            arrowPanel = new DirectionPanel(new Rectangle(20, 20, 200, 100), World.ChangeDirection);
            mirrorArrowPanel = new DirectionPanel(new Rectangle(20, 20, 200, 100), World.ChangeDirection, true);

            professionPanel = new ProfessionPanel(new Rectangle(285, -52, 320, 52));
            missionResultBox = new TextBox(new Rectangle(0, -40, 230, 40), "", Color.White, TextBox.AlignType.Center);

            personStatusPanel = new PersonPanel(new Rectangle(0, 0, 200, 140));
            buildingStatusPanel = new BuildingPanel(new Rectangle(0, 0, 200, 140));
            researchPanel = new ResearchPanel(new Rectangle(0, 0, 200, 140));

            shopButton = new Button(MediaRepository.Textures["Blank"], new Rectangle(800, -30, 90, 30), new Color(0, 0, 150, 100),
                "Shop", MediaRepository.Fonts["DefaultFont"], Color.White);
            shopButton.AddActionListener(this);

            itemsButton = new Button(MediaRepository.Textures["Blank"], new Rectangle(700, -30, 90, 30), new Color(0, 0, 150, 100),
                "Items", MediaRepository.Fonts["DefaultFont"], Color.White);
            itemsButton.AddActionListener(this);

            shopPanel = new ShopPanel(new Rectangle(5, 5, 880, 140), new Color(255, 255, 255, 100));
            shopPanel.Deactivate();

            itemsPanel = new ItemsPanel(new Rectangle(5, 5, 880, 140), new Color(255, 255, 255, 100));
            itemsPanel.Deactivate();

            AddComponent(directionPanel);
            AddComponent(detailPanel);
            AddComponent(mapPanel);

            AddComponent(missionResultBox);
            AddComponent(professionPanel);
            AddComponent(shopButton);
            AddComponent(itemsButton);
            AddComponent(shopPanel);
            AddComponent(itemsPanel);

            directionPanel.AddComponent(arrowPanel);
            directionPanel.AddComponent(mirrorArrowPanel);

            detailPanel.AddComponent(personStatusPanel);
            detailPanel.AddComponent(buildingStatusPanel);
            detailPanel.AddComponent(researchPanel);

            this.consumesMouseEvent = false;
        }
Exemplo n.º 2
0
        public ResearchPanel(Rectangle boundingBox)
            : base(MediaRepository.Textures["Blank"], boundingBox, Color.TransparentWhite)
        {
            title = new TextBox(new Rectangle(25, 10, 100, 25), "Research Center", Color.White, TextBox.AlignType.Left);
            demolishButton = new Button(new Rectangle(300, 10, 135, 25), "Demolish", MediaRepository.Fonts["DefaultFont"], Color.Red);
            demolishButton.AddActionListener(this);

            activateButton = new Button(MediaRepository.Textures["Blank"], new Rectangle(370, 10, 100, 25), new Color(100, 100, 255, 200), "Activate", MediaRepository.Fonts["Arial10"], Color.Black);
            abortButton = new Button(MediaRepository.Textures["Blank"], new Rectangle(370, 10, 100, 25), new Color(255, 100, 100, 200), "Abort", MediaRepository.Fonts["Arial10"], Color.Black);
            activateButton.AddActionListener(this);
            abortButton.AddActionListener(this);

            descriptionHeader = new TextBox(new Rectangle(Indent, DescriptionY, 10, LineHeight), "Description:", Color.White, MediaRepository.Fonts["Arial10"], TextBox.AlignType.Left);
            descriptionText = new TextBox(new Rectangle(90, DescriptionY, 10, LineHeight), "description...", Color.Black, MediaRepository.Fonts["Arial10"], TextBox.AlignType.Left);
            statusHeader = new TextBox(new Rectangle(Indent, DescriptionY + LineHeight, 10, LineHeight), "Status:", Color.White, MediaRepository.Fonts["Arial10"], TextBox.AlignType.Left);
            statusText = new TextBox(new Rectangle(60, DescriptionY + LineHeight, 10, LineHeight), "status...", Color.Black, MediaRepository.Fonts["Arial10"], TextBox.AlignType.Left);
            tasksHeader = new TextBox(new Rectangle(Indent, DescriptionY + 2 * LineHeight, 10, LineHeight), "Tasks:", Color.White, MediaRepository.Fonts["Arial10"], TextBox.AlignType.Left);

            tasksDisplay = new LightSequenceBar[MaxTasksPerResearch];
            Point pivot = new Point(55, DescriptionY + 2 * LineHeight + 2);
            for (int index = 0; index < MaxTasksPerResearch; index++) {
                tasksDisplay[index] = new LightSequenceBar(new LightSequence(""), pivot, new Dimension(10, 10), 5);
                pivot = Geometry.Sum(pivot, new Point(0, LineHeight));
                AddComponent(tasksDisplay[index]);
            }

            schoolResearchButton_1 = new Button(MediaRepository.Textures["Blank"], new Rectangle(300, 50, 120, 30), new Color(255, 255, 255, 100), "School Research 1", MediaRepository.Fonts["Arial10"], Color.Black);
            schoolResearchButton_1.AddActionListener(this);
            AddComponent(schoolResearchButton_1);

            schoolResearchButton_2 = new Button(MediaRepository.Textures["Blank"], new Rectangle(300, 90, 120, 30), new Color(255, 255, 255, 100), "School Research 2", MediaRepository.Fonts["Arial10"], Color.Black);
            schoolResearchButton_2.AddActionListener(this);
            AddComponent(schoolResearchButton_2);

            AddComponent(title);
            AddComponent(demolishButton);
            AddComponent(descriptionHeader);
            AddComponent(descriptionText);
            AddComponent(statusHeader);
            AddComponent(statusText);
            AddComponent(tasksHeader);
            AddComponent(activateButton);
            AddComponent(abortButton);

            DeactivatePanel(true);
        }
Exemplo n.º 3
0
        public BuildingPanel(Rectangle boundingBox)
            : base(MediaRepository.Textures["Blank"], boundingBox, Color.TransparentWhite)
        {
            title = new TextBox(new Rectangle(25, 10, 100, 25), "Building", Color.White, TextBox.AlignType.Left);
            demolishButton = new Button(new Rectangle(300, 10, 135, 25), "Demolish", MediaRepository.Fonts["DefaultFont"], Color.Red);
            demolishButton.AddActionListener(this);

            effectPanels = new Panel[4];
            effectButtons = new Button[4];
            sequenceBars = new LightSequenceBar[4];
            descriptions = new TextBox[4];
            unknownTexts = new TextBox[4];

            effectPanels[0] = new Panel(new Rectangle(Indent, FirstButtonY, ButtonWidth, ButtonHeight), new Color(255, 255, 255, 100));
            effectPanels[1] = new Panel(new Rectangle(Indent, FirstButtonY + ButtonHeight + Indent, ButtonWidth, ButtonHeight), new Color(255, 255, 255, 100));
            effectPanels[2] = new Panel(new Rectangle(ButtonWidth + 3 * Indent, FirstButtonY, ButtonWidth, ButtonHeight), new Color(255, 255, 255, 100));
            effectPanels[3] = new Panel(new Rectangle(ButtonWidth + 3 * Indent, FirstButtonY + ButtonHeight + Indent, ButtonWidth, ButtonHeight), new Color(255, 255, 255, 100));

            int index = 0;
            foreach (Panel p in effectPanels) {
                effectButtons[index] = new Button(MediaRepository.Textures["Blank"], new Rectangle(0, 0, ButtonWidth, ButtonHeight), Color.TransparentWhite);
                effectButtons[index].AddActionListener(this);

                sequenceBars[index] = new LightSequenceBar(new LightSequence(), new Point(InnerButtonIndent, SequenceBarY), SequenceTileSize, Indent);
                descriptions[index] = new TextBox(new Rectangle(InnerButtonIndent, DescriptionY, 10, 10), "", Color.Black, MediaRepository.Fonts["Arial10"], TextBox.AlignType.Left);
                unknownTexts[index] = new TextBox(new Rectangle(0, 0, ButtonWidth, ButtonHeight), "Unknown", Color.Black, MediaRepository.Fonts["Arial10"], TextBox.AlignType.Center);

                p.AddComponent(effectButtons[index]);
                p.AddComponent(sequenceBars[index]);
                p.AddComponent(descriptions[index]);
                p.AddComponent(unknownTexts[index]);

                AddComponent(p);
                index++;
            }

            AddComponent(title);
            AddComponent(demolishButton);

            Deactivate();
        }
Exemplo n.º 4
0
        public void Initialize()
        {
            int buttonCount = (int)Person.ProfessionType.SIZE - 1;
            professionButtons = new Button[buttonCount];

            for (Person.ProfessionType profession = (Person.ProfessionType)1; profession < Person.ProfessionType.SIZE; profession++)
            {
                Button button = new Button(Person.GetTexture(profession), new Rectangle(ButtonWidth * ((int)profession - 1), 0, ButtonWidth, ButtonHeight), Color.White);
                professionButtons[(int)profession - 1] = button;
                AddComponent(button);
                button.AddActionListener(this);
            }
        }