コード例 #1
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            _spriteBatch = new SpriteBatch(GraphicsDevice);

            FontManager.Instance.LoadFonts(this);

            var spriteSheet = Content.Load <Texture2D>("Textures/spritesheet");

            TextureManager = new TextureManager(spriteSheet, 32, 32);

            World = new World();

            var player = World.EntityManager.CreateEntity();

            FactoryEntity.CreatePlayer(player);

            for (int i = 0; i < 10; i++)
            {
                var ennemy = World.EntityManager.CreateEntity();
                FactoryEntity.CreateEnnemy3(ennemy, 100 + (i * 38), 100, Color.White);
                ennemy = World.EntityManager.CreateEntity();
                FactoryEntity.CreateEnnemy1(ennemy, 100 + (i * 38), 125, Color.White);
                ennemy = World.EntityManager.CreateEntity();
                FactoryEntity.CreateEnnemy1(ennemy, 100 + (i * 38), 150, Color.White);
                ennemy = World.EntityManager.CreateEntity();
                FactoryEntity.CreateEnnemy2(ennemy, 100 + (i * 38), 175, Color.White);
                ennemy = World.EntityManager.CreateEntity();
                FactoryEntity.CreateEnnemy2(ennemy, 100 + (i * 38), 200, Color.White);
            }

            //var soucoupe = World.EntityManager.CreateEntity();
            //FactoryEntity.CreateEnnemy4(soucoupe, 30, 20, Color.Red);

            World.SystemManager.AddSystem(new InputSystem());
            World.SystemManager.AddSystem(new DrawEntitySystem());
            World.SystemManager.AddSystem(new DrawEntityDeathSystem());
            World.SystemManager.AddSystem(new MoveToSystem());
            World.SystemManager.AddSystem(new MoveEnemiesSystem());
            World.SystemManager.AddSystem(new ShootPlayerSystem());
            World.SystemManager.AddSystem(new ShootEnemiesSystem());
            World.SystemManager.AddSystem(new MoveShootsSystem());
            World.SystemManager.AddSystem(new CollisionShootSystem());
            World.SystemManager.AddSystem(new EndGameSystem());

            _stopwatch = new Stopwatch();
            _stopwatch.Start();
        }
コード例 #2
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            _spriteBatch = new MySpriteBatch(GraphicsDevice);

            Utils.FontManager.Instance.LoadFonts(this);

            EmptyKeys.UserInterface.FontManager.DefaultFont = Engine.Instance.Renderer.CreateFont(Utils.FontManager.Instance.GetFont(FontEnum.ARIAL_16));
            Viewport viewport = GraphicsDevice.Viewport;

            _basicUI             = new EmptyKeys.UserInterface.Generated.BasicUI();
            _viewModel           = new BasicUIViewModel();
            _basicUI.DataContext = _viewModel;

            EmptyKeys.UserInterface.FontManager.Instance.LoadFonts(Content, "Fonts/");
            ImageManager.Instance.LoadImages(Content);
            SoundManager.Instance.LoadSounds(Content);

            var spriteSheet = Content.Load <Texture2D>("Textures/spritesheet");

            TextureManager = new TextureManager(spriteSheet, 32, 32);

            Lua = new LuaInterpreter();

            _threadLua = new Thread(
                new ThreadStart(ConsoleThread));
            _threadLua.Start();

            World = new World();

            var drawSystem = new DrawEntitySystem(
                1,
                new List <Type>()
            {
                typeof(SpriteComponent), typeof(TransformComponent)
            },
                World
                );

            var random = new Random();

            var player = World.CreateGameObject();

            FactoryEntity.CreatePlayer(World, player);

            var bomb = World.CreateGameObject();

            FactoryEntity.CreateBomb(World, bomb, 6, 1);

            var map = new int[MapWidth * MapHeight]
            {
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                0, 1, 1, 1, 1, 1, 1, 1, 1, 0,
                0, 1, 2, 0, 2, 0, 2, 0, 1, 0,
                0, 1, 2, 0, 2, 0, 2, 0, 1, 0,
                0, 1, 1, 1, 1, 1, 1, 1, 1, 0,
                0, 1, 1, 1, 1, 1, 1, 1, 1, 0,
                0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
                0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
                0, 1, 1, 1, 1, 1, 1, 1, 1, 0,
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0
            };

            for (var i = 0; i < map.Length; i++)
            {
                var e = World.CreateGameObject();

                var value = map[i];
                switch (value)
                {
                case 0:
                    FactoryEntity.CreateHardWall(World, e, i % MapWidth, i / MapHeight);
                    break;

                case 2:
                    FactoryEntity.CreateSoftWall(World, e, i % MapWidth, i / MapHeight);
                    break;
                }
            }

            World.SystemManager.AddSystem(new UpdateSpriteSystem(0,
                                                                 new List <Type>()
            {
                typeof(SpriteComponent), typeof(SpriteAnimationComponent)
            },
                                                                 World));
            World.SystemManager.AddSystem(new UpdateInputSystem(0,
                                                                new List <Type>()
            {
                typeof(TypeEntityComponent), typeof(TransformComponent), typeof(InputComponent)
            },
                                                                World));

            World.SystemManager.AddSystem(new DrawFloorSystem(0, null, World));
            World.SystemManager.AddSystem(drawSystem);

            _stopwatch = new Stopwatch();
            _stopwatch.Start();
        }