Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            StartSetupScreen();

            var      world    = new World();
            LevelOne levelOne = new LevelOne();

            var fpsCounter = new FramesPerSecondCounter(world);
            var fpsWriter  = new FpsRenderer(world);

            MapLevelDetails map = new MapLevelDetails(25, 11); // initialize map

            world.Set(map);
            MapRenderer mapRenderer = new MapRenderer(world);

            Queue <string> playerMessageQueue = new Queue <string>(2);

            world.Set(playerMessageQueue);
            MessageBoxRenderer messageBoxRenderer = new MessageBoxRenderer(world);

            HealthComponent health = new HealthComponent()
            {
                Health = new RegenerateAttribute()
                {
                    Current = 27, Max = 40, Name = "Health", RegenRatePerSecond = 0.5
                }
            };
            ManaComponent mana = new ManaComponent()
            {
                Mana = new RegenerateAttribute()
                {
                    Current = 25, Max = 30, Name = "Mana", RegenRatePerSecond = 0.2
                }
            };
            ExperienceBar xpBar = new ExperienceBar();

            PlayerStats playerStats = new PlayerStats("Dave", health, mana, xpBar);

            world.Set(playerStats);
            ConsoleInputSystem   playerInput          = new ConsoleInputSystem(world);
            PlayerMovementSystem playerMovementSystem = new PlayerMovementSystem(world);
            PlayerRenderSystem   player = new PlayerRenderSystem(world);
            PlayerPosition       playerStartPosition = new PlayerPosition(map, world); //initialize player

            playerStartPosition.MoveTo(27);
            world.Set(playerStartPosition);

            MonsterMoveController[] monsters = levelOne.CreateMonsters(world, map); //initialize monsters
            world.Set(monsters);
            MonsterMovementSystem monsterMovement  = new MonsterMovementSystem(world);
            MonsterRenderSystem   monstersRenderer = new MonsterRenderSystem(world);

            List <string> combatMessagesQueue = new List <string>(3);

            world.Set(combatMessagesQueue);
            CombatHandler combatHandler = new CombatHandler(world);

            world.Set(combatHandler);
            CombatMessages combatMessages = new CombatMessages(world);

            var updateSystems = new IUpdate[] { playerInput, playerMovementSystem, combatHandler, monsterMovement, fpsCounter, health, mana }; //Order is important!
            var renderSystems = new IRender[] { player, monstersRenderer, mapRenderer, messageBoxRenderer, combatMessages, fpsCounter, fpsWriter, health, mana, xpBar };

            GameEngine gameEngine = new GameEngine(updateSystems, renderSystems, player, monstersRenderer);

            mapRenderer.PrintMap(map.Map);
            gameEngine.Start();
        }
Ejemplo n.º 2
0
 public static void RegisterCombatMessages()
 {
     CombatMessages.RegisterCombatMessages(RdmStateMachine.StateMachine);
 }
Ejemplo n.º 3
0
 public CombatHandler(World world)
 {
     _world    = world;
     _messages = new CombatMessages(world);
 }