public override void LoadContent(ContentManager content)
        {
            _spriteBatch = new SpriteBatch(GraphicsDevice);

            _sheets = new SpriteSheets();
            SpriteSheet sheet1 = SpriteSheetLoader.LoadFromFile(@"Content\characters.spritesheet.json", content);

            _sheets.Add(sheet1);
            SpriteSheet sheet2 = SpriteSheetLoader.LoadFromFile(@"Content\playership.spritesheet.json", content);

            _sheets.Add(sheet2);
            SpriteSheet sheet3 = SpriteSheetLoader.LoadFromFile(@"Content\explosion1.spritesheet.json", content);

            _sheets.Add(sheet3);
            _animations = AnimationsLoader.LoadFromFile(@"Content\animations1.json");
            NextAnimation();

            _font.LoadContent();
            _statusPane.LoadContent(content);
        }
Beispiel #2
0
        private void LoadGameplay()
        {
            #region Initialize content

            if (levelState.LevelNumber == 2)
            {
                levelState.BanditsVerticalPosition   += 20;
                levelState.KnightsVerticalPosition   += 40;
                levelState.SkeletonsVerticalPosition += 40;
                levelState.SorcerersVerticalPosition += 20;
                var levelStatePlayerHousePosition = levelState.PlayerHousePosition;
                levelStatePlayerHousePosition.Y += 20;
                levelState.PlayerHousePosition   = levelStatePlayerHousePosition;
            }
            if (levelState.LevelNumber >= 2)
            {
                background = Content.Load <Texture2D>("Background/background_1");
            }
            else
            {
                background = Content.Load <Texture2D>("Background/background");
            }

            var random = new Random();

            skeletons = CharacterFactoryBase.Create <Skeleton>(
                numberOfCharacters: levelState.NumberOfSkeletons,
                millisecondsPerFrame: 50,
                initialPosition: new Vector2(levelState.SkeletonsHorizontalPosition, levelState.SkeletonsVerticalPosition));

            bandits = CharacterFactoryBase.Create <Bandit>(
                numberOfCharacters: levelState.NumberOfBandits,
                millisecondsPerFrame: 50,
                initialPosition: new Vector2(levelState.BanditsHorizontalPosition, levelState.BanditsVerticalPosition));

            knights = CharacterFactoryBase.Create <Knight>(
                numberOfCharacters: levelState.NumberOfKnights,
                millisecondsPerFrame: 50,
                initialPosition: new Vector2(levelState.KnightsHorizontalPosition, levelState.KnightsVerticalPosition));

            if (levelState.LevelNumber > 2)
            {
                levelState.NumberOfSorcerers++;

                sorcerers = CharacterFactoryBase.Create <Sorcerer>(
                    numberOfCharacters: levelState.NumberOfSorcerers,
                    millisecondsPerFrame: 50,
                    initialPosition: new Vector2(levelState.SorcerersHorizontalPosition, levelState.SorcerersVerticalPosition));

                levelState.SorcererReady = true;
            }

            playerShot = CharacterFactoryBase.Create <Explosion>(
                numberOfCharacters: 1,
                millisecondsPerFrame: 10,
                initialPosition: new Vector2(levelState.PlayerShotHorizontalPosition, levelState.PlayerShotVerticalPosition)).Single();


            scope                 = Content.Load <Texture2D>("Miscellanous/scope");
            playerHouse           = Content.Load <Texture2D>("Houses/House_1");
            font                  = Content.Load <SpriteFont>("Miscellanous/arcadeclassic");
            singleShotSoundEffect = Content.Load <SoundEffect>("Sounds/snipershot").CreateInstance();

            #endregion

            #region Load animations

            var loader = new AnimationsLoader(Content);

            foreach (var bandit in bandits)
            {
                loader.LoadBandit(bandit);
            }

            foreach (var knight in knights)
            {
                loader.LoadKnight(knight);
            }

            foreach (var skeleton in skeletons)
            {
                loader.LoadSkeleton(skeleton);
            }

            if (levelState.LevelNumber > 2)
            {
                foreach (var sorcerer in sorcerers)
                {
                    loader.LoadSorcerers(sorcerer);
                }
            }

            loader.LoadExplosion(playerShot);

            gameplayReady = true;

            #endregion
        }