Beispiel #1
0
        void LoadTileSprites()
        {
            tileSprites = new Dictionary <string, Sprite>();

            foreach (Terrain terrain in entities.GetTerrains())
            {
                TextureSprite sprite = new TextureSprite
                {
                    ContentFile       = $"SpriteSheets/Terrains/{terrain.Id}",
                    SourceRectangle   = new Rectangle2D(Point2D.Empty, GameDefines.MapTileSize, GameDefines.MapTileSize),
                    SpriteSheetEffect = new TerrainSpriteSheetEffect
                    {
                        Variation = TerrainVariation.RegularEmpty
                    },
                    Active = true
                };

                sprite.LoadContent();
                sprite.SpriteSheetEffect.Activate();

                if (!tileSprites.ContainsKey(terrain.Id))
                {
                    tileSprites.Add(terrain.Id, sprite);
                }
            }
        }
Beispiel #2
0
        public override void Draw(SpriteBatch spriteBatch)
        {
            for (int i = 0; i < DrawInfos.Count; ++i)
            {
                SpriteDrawInfo di     = DrawInfos[i];
                ISprite        sprite = di.Drawable;

                if (sprite == null || sprite.Texture() == null)
                {
                    continue;
                }

                var currentTextureName = Path.GetFileNameWithoutExtension(sprite.Texture().Name);

                if (_hiddenTextures.Find(n => n == currentTextureName) == null)
                {
                    if (sprite.Texture().Name != null && _textureSwapMap.ContainsKey(sprite.Texture().Name) && _textureSwapMap[sprite.Texture().Name] != null)
                    {
                        sprite = new TextureSprite(_textureSwapMap[sprite.Texture().Name]);
                    }

                    sprite.Draw(spriteBatch, di.Pivot, di.Position, di.Scale, di.Rotation, di.Color, di.Depth, StretchOut);
                }
            }
        }
        public override void Initialize()
        {
            base.Initialize();

            inputService = (IInputService)this.Game.Services.GetService(typeof(IInputService));

            #if WINDOWS
            spriteService = (ISpriteService)this.Game.Services.GetService(typeof(ISpriteService));

            this.mousePointerTexture = this.Game.Content.Load<Texture2D>("Windows/Textures/Arrow");
            this.mouseSprite = new TextureSprite(
                    new SpriteTexture(this.mousePointerTexture, null),
                    new Point(-this.mousePointerTexture.Width, -this.mousePointerTexture.Height),
                    0, true, null);

            spriteService.AttachSprite(this.mouseSprite);
            #endif

            IMouse mouse = this.inputService.GetMouse();
            MouseState mouseState = mouse.GetState();

            mousePosition = new Point (mouseState.X, mouseState.Y);

            mouse.Moved += new MouseMovedDelegate(Mouse_Moved);
        }
Beispiel #4
0
        /// <summary>
        /// Draws a Sprite primitive without starting a new SpriteBatch draw operation.
        /// </summary>
        /// <param name="sprite"></param>
        private void DrawBlockSpriteThin(TextureSprite sprite)
        {
            Color color = sprite.TintColor.ToXNAColor();

            color.A = (byte)(color.A * sprite.Opacity);

            XNAImageResource resource = sprite.Resource as XNAImageResource;

            spriteBatch.Draw(resource,
                             new Rectangle((int)sprite.Position.X, (int)sprite.Position.Y, (int)sprite.Size.X, (int)sprite.Size.Y),
                             new Rectangle((int)sprite.SourcePosition.X, (int)sprite.SourcePosition.Y, (int)sprite.SourceSize.X, (int)sprite.SourceSize.Y),
                             color);
        }
Beispiel #5
0
        void LoadWorldObjects()
        {
            worldObjects = new Dictionary <string, Sprite>();

            foreach (WorldObject worldObject in entities.GetWorldObjects())
            {
                Sprite worldObjectImage = new TextureSprite
                {
                    ContentFile     = $"SpriteSheets/WorldObjects/{worldObject.Id}",
                    SourceRectangle = new Rectangle2D(Point2D.Empty, GameDefines.MapTileSize, GameDefines.MapTileSize)
                };

                worldObjectImage.LoadContent();

                worldObjects.Add(worldObject.Id, worldObjectImage);
            }
        }
Beispiel #6
0
        public override void LoadContent()
        {
            pixel = new TextureSprite
            {
                ContentFile = "ScreenManager/FillImage",
                Scale       = new Scale2D(ZoomLevel)
            };
            mobDot = new TextureSprite
            {
                ContentFile = "Interface/Minimap/entity_dot"
            };

            player = entities.GetPlayer();

            pixel.LoadContent();
            mobDot.LoadContent();

            base.LoadContent();
        }
Beispiel #7
0
        private void AddRegularFolder(SpriterFolder folder, DefaultProviderFactory <ISprite, SoundEffect> factory)
        {
            foreach (SpriterFile file in folder.Files)
            {
                string path = FormatPath(file.Name);

                if (file.Type == SpriterFileType.Sound)
                {
                    SoundEffect sound = LoadContent <SoundEffect>(path);
                    factory.SetSound(Spriter, folder, file, sound);
                }
                else
                {
                    Texture2D     texture = LoadContent <Texture2D>(path);
                    TextureSprite sprite  = new TextureSprite(texture);
                    factory.SetSprite(Spriter, folder, file, sprite);
                }
            }
        }
Beispiel #8
0
        public override void LoadContent()
        {
            mob = entities.GetMob(MobId);

            bodyEffect = new HumanSpriteSheetEffect();

            body = new TextureSprite
            {
                ContentFile       = "SpriteSheets/Mobs/marine",
                SourceRectangle   = new Rectangle2D(Point2D.Empty, Size),
                SpriteSheetEffect = bodyEffect,
                Active            = true
            };

            body.LoadContent();

            base.LoadContent();

            body.SpriteSheetEffect.Activate();
        }
Beispiel #9
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            spriteFont = Content.Load <SpriteFont>("Font");

            squareTex   = Content.Load <Texture2D>("square");
            botTex      = Content.Load <Texture2D>("magabot_cm");
            gridTex     = Content.Load <Texture2D>("grid");
            obstacleTex = DrawingHelper.CreateCircleTexture(GraphicsDevice, 10, Color.Purple, Color.Black);

            bot      = new TextureSprite(botTex);
            botFrame = new Transform2();
            renderer.SubscribeTexture(botFrame, bot);

            obstacles      = new TextureSprite[proximity.Count];
            obstacleFrames = new Transform2[proximity.Count];
            for (int i = 0; i < obstacles.Length; i++)
            {
                obstacles[i]      = new TextureSprite(obstacleTex);
                obstacleFrames[i] = new Transform2();
                renderer.SubscribeTexture(obstacleFrames[i], obstacles[i]);
            }
            // TODO: use this.Content to load your game content here
        }
Beispiel #10
0
        public void DrawNode(TextureSprite node)
        {
            Vector2 DrawPosition = ApplyTransformations(node.Position);

            node.Draw(CameraRenderer, DrawPosition);
        }
Beispiel #11
0
 /// <summary>
 /// Draws the given sprite within its own SpriteBatch.Begin/End block.
 /// </summary>
 /// <param name="sprite"></param>
 private void DrawBlockSprite(TextureSprite sprite)
 {
     spriteBatch.Begin();
     DrawBlockSpriteThin(sprite);
     spriteBatch.End();
 }