Exemplo n.º 1
0
        private void setPanel(PanelType panelType)
        {
            // Don't do anything if it is trying to switch to the same panel
            if (this.selectedPanelType == panelType) {
                return;
            }

            this.removeSelectedPanel();

            // Construct new panel component and add it to the scene
            BasePanel panel = null;
            switch (panelType) {
            case PanelType.Combat:
                CombatControlPanel combatControlPanel = new CombatControlPanel();
                combatControlPanel.WindowMessageInvoked += this.OnMessage;
                panel = combatControlPanel;
                break;
            case PanelType.MapNavigation:
                MapNavigatorPanel mapNavigator = new MapNavigatorPanel(this.mapModel);
                this.mapModel.StepMoved += mapNavigator.OnStepMoved;
                mapNavigator.WindowMessageInvoked += this.OnMessage;
                mapNavigator.Init();
                panel = mapNavigator;
                break;
            }
            this.AddChild(panel);
            // Adjugst priority and positions
            panel.LocalPriority = -0.2f;
            panel.LocalPixelPosition = new Vector2(-80, 20);
            this.selectedPanel = panel;
            this.selectedPanelType = panelType;
        }
Exemplo n.º 2
0
 private void removeSelectedPanel()
 {
     switch (this.selectedPanelType) {
     case PanelType.Combat:
         CombatControlPanel combatControlPanel = (CombatControlPanel)this.selectedPanel;
         combatControlPanel.WindowMessageInvoked -= this.OnMessage;
         break;
     case PanelType.MapNavigation:
         MapNavigatorPanel mapNavigator = (MapNavigatorPanel)this.selectedPanel;
         this.mapModel.StepMoved -= mapNavigator.OnStepMoved;
         mapNavigator.WindowMessageInvoked -= this.OnMessage;
         break;
     }
     if (this.selectedPanel != null) {
         this.RemoveChild(this.selectedPanel);
         this.selectedPanel = null;
     }
 }