예제 #1
0
파일: Game.cs 프로젝트: jzhang113/Roguelike
        private static void Render()
        {
            Terminal.Clear();
            Terminal.Layer(1);

            if (Player != null)
            {
                Map.Draw(_mapLayer);
                MessageHandler.Draw(_messageLayer);
                StatPanel.Draw(_statLayer);

                if (ShowInfo)
                {
                    InfoPanel.Draw(_leftLayer);
                }
                else
                {
                    LookPanel.Draw(_leftLayer);
                }

                if (ShowEquip)
                {
                    Player.Equipment.Draw(_rightLayer);
                }
                else
                {
                    Player.Inventory.Draw(_rightLayer);
                }
            }

            StateHandler.Draw();
            Animations.Draw();

            Terminal.Refresh();
        }
예제 #2
0
        public override void Render()
        {
            Terminal.Clear();
            StateHandler.Draw();
            AnimationHandler.Draw(_mapLayer);

            bool inMission = StateHandler.Peek().Match(
                some: state => !(state is MenuState) && !(state is IntermissionFrameState),
                none: () => false);

            if (inMission)
            {
                InfoPanel.Draw(_infoLayer);
                RadarPanel.Draw(_radarLayer);
                ObjectivePanel.Draw(_objectiveLayer);
                MessagePanel.Draw(_messageLayer);

                foreach (KeyValuePair <ISchedulable, int> kvp in EventScheduler._schedule)
                {
                    if (kvp.Key is DelayAttack da)
                    {
                        da.Draw(_mapLayer);
                    }
                }
            }

            Terminal.Refresh();
        }
예제 #3
0
 private void OnFrameRender(object sender, RenderFrameEventArgs args)
 {
     _stateHandler.Draw(args.Renderer);
 }
 /// <summary>
 /// Affiche l'acteur selon la classe mère et ajoute les possibles affichages de ses états courants.
 /// </summary>
 /// <param name="shift"> La position relative pour afficher l'acteur </param>
 /// <param name="g"> L'objet permettant de dessiner </param>
 public override void Draw(Point shift, Graphics g)
 {
     base.Draw(shift, g);
     _stateHandler.Draw(Bottom() + shift, g);
 }