Пример #1
0
        public IWorldElementEntity ToWorldElementEntity(XElement xElement)
        {
            TextElementEntity entity = new TextElementEntity();

            entity.Font = MenuResources.MenuFont;
            entity.Text = xElement.Attribute(STR_Text).Value;
            entity.Position = Vector2Transformer.Instance.ToEntity(xElement.Element(TransformerSettings.WorldNamespace + WorldElementTransformer.STR_Position));
            entity.FillColor = ColorTransformer.Instance.ToEntity(xElement.Attribute(WorldElementTransformer.STR_FillColor));

            return entity;
        }
Пример #2
0
        public IWorldElementEntity ToWorldElementEntity(XElement xElement)
        {
            TextElementEntity entity = new TextElementEntity();

            entity.Font      = MenuResources.MenuFont;
            entity.Text      = xElement.Attribute(STR_Text).Value;
            entity.Position  = Vector2Transformer.Instance.ToEntity(xElement.Element(TransformerSettings.WorldNamespace + WorldElementTransformer.STR_Position));
            entity.FillColor = ColorTransformer.Instance.ToEntity(xElement.Attribute(WorldElementTransformer.STR_FillColor));

            return(entity);
        }
Пример #3
0
        public void Draw(GameTime gameTime, SpriteBatch spriteBatch)
        {
            spriteBatch.Begin(0, null, null, null, null, null, _camera.View);
            foreach (var entity in _WorldEntity.WorldElements)
            {
                if (entity is PhysicsWorldElementEntity)
                {
                    PhysicsWorldElementEntity physicsEntity = entity as PhysicsWorldElementEntity;
                    if (physicsEntity.Texture2D != null)
                    {
                        spriteBatch.Draw(physicsEntity.Texture2D,
                                         ConvertUnits.ToDisplayUnits(physicsEntity.Position),
                                         null,
                                         Color.White,
                                         physicsEntity.Rotation,
                                         physicsEntity.Origin,
                                         1f,
                                         SpriteEffects.None,
                                         0f);
                    }
                }
                else if (entity is TextElementEntity)
                {
                    TextElementEntity textEntity = entity as TextElementEntity;
                    spriteBatch.DrawString(textEntity.Font, textEntity.Text, ConvertUnits.ToDisplayUnits(textEntity.Position), textEntity.FillColor);
                }



                //switch (entity.ElementType)
                //{
                //    case ElementType.Circle:
                //        _CircleElementRenderer.Draw(gameTime, entity as CircleElementEntity);
                //        break;
                //    case ElementType.Elipsis:
                //        throw new NotImplementedException();
                //    case ElementType.Polygon:
                //        throw new NotImplementedException();
                //    case ElementType.Rectangle:
                //        throw new NotImplementedException();
                //    default:
                //        throw new NotSupportedException();
                //}
            }

            spriteBatch.End();
        }