コード例 #1
0
ファイル: GameHUD.cs プロジェクト: Indept-Studios/OpenDiablo2
        public GameHUD(
            IRenderWindow renderWindow,
            IGameState gameState,
            IMouseInfoProvider mouseInfoProvider,
            Func <IMiniPanel> createMiniPanel,
            Func <eButtonType, IButton> createButton,
            Func <ePanelFrameType, IPanelFrame> createPanelFrame)
        {
            this.renderWindow      = renderWindow;
            this.gameState         = gameState;
            this.mouseInfoProvider = mouseInfoProvider;
            minipanel = createMiniPanel();
            minipanel.OnPanelToggled += TogglePanel;

            leftPanelFrame  = createPanelFrame(ePanelFrameType.Left);
            rightPanelFrame = createPanelFrame(ePanelFrameType.Right);

            runButton          = createButton(eButtonType.Run);
            runButton.Location = new Point(256, 570);
            runButton.OnToggle = OnRunToggle;

            menuButton          = createButton(eButtonType.Menu);
            menuButton.Location = new Point(393, 561);
            menuButton.OnToggle = minipanel.OnMenuToggle;
            menuButton.Toggle();

            addStatButton            = createButton(eButtonType.Skill);
            addStatButton.Location   = new Point(207, 562);
            addStatButton.Enabled    = addNewAttribute;
            addStatButton.OnActivate = () => TogglePanel(ePanelType.Character);

            addSkillButton          = createButton(eButtonType.Skill);
            addSkillButton.Location = new Point(564, 562);
            addSkillButton.Enabled  = addNewSkill;

            panelSprite            = renderWindow.LoadSprite(ResourcePaths.GamePanels, Palettes.Act1, true);
            healthManaSprite       = renderWindow.LoadSprite(ResourcePaths.HealthMana, Palettes.Act1, true);
            gameGlobeOverlapSprite = renderWindow.LoadSprite(ResourcePaths.GameGlobeOverlap, Palettes.Act1, true);
        }