Esempio n. 1
0
 public SelectionEditorState(Game game, Camera camera, IResourceCache<Texture2D> cache, bool tilesOnly)
     : base(game, camera, cache)
 {
     selectedEntities = new List<Entity>();
     drillIndex = 0;
     this.tilesOnly = tilesOnly;
 }
Esempio n. 2
0
        public void Draw(SpriteBatch spriteBatch, Camera camera, bool forPreviews)
        {
            var comparer = new RenderComparer();
            var sets = new Dictionary<RenderLayer, List<IRendering>>();
            sets.Add(RenderLayer.Background, new List<IRendering>());
            sets.Add(RenderLayer.Midground, new List<IRendering>());
            sets.Add(RenderLayer.Gameground, new List<IRendering>());
            sets.Add(RenderLayer.Foreground, new List<IRendering>());
            sets.Add(RenderLayer.UI, new List<IRendering>());

            foreach (var renderable in renderables)
            {
                if (forPreviews)
                    sets[renderable.Preview.RenderLayer].Add(renderable.Preview);
                else
                {
                    renderable.Renderings.ForEach(
                        x => sets[x.RenderLayer].Add(x));
                }
            }

            if (InputManager.Instance.Pressed(Microsoft.Xna.Framework.Input.Keys.B))
            {
            }

            foreach (var layerSetPair in sets)
            {
                var set = layerSetPair.Value;
                set.Sort(comparer);
                foreach (var rendering in set)
                {
                    if (layerSetPair.Key == RenderLayer.UI)
                    {
                        rendering.Draw(spriteBatch, TextureCache, Matrix.Identity);
                    }
                    else
                    {
                        var t = camera.Transform;
                        t.Translation *= getDepthScale(layerSetPair.Key);
                        rendering.Draw(spriteBatch, TextureCache, t);
                    }
                }
            }
        }
Esempio n. 3
0
 public CameraZoomState(Game game, Camera camera, IResourceCache<Texture2D> cache)
     : base(game, camera, cache)
 {
 }
 public StaticMeshPlacementEditorState(Game game, Camera camera, IResourceCache<Texture2D> cache, string textureKey)
     : base(game, camera, cache)
 {
     this.textureKey = textureKey;
 }
Esempio n. 5
0
        protected override void Initialize()
        {
            base.Initialize();

            Camera = new Camera(Vector2.One, Vector3.Zero);

            // create default level
            LevelManager = Container.Resolve<LevelManager>();
            LevelManager.LevelLoaded += new LevelLoadedEventHandler(LevelLoaded);

            debugView = new DebugViewXNA(LevelManager.PhysicsManager.World);
            debugView.LoadContent(GraphicsDevice, Content);

            Database = Container.Resolve<SQLiteDatabase>();

            log4net.Config.XmlConfigurator.Configure();

            Database = Container.Resolve<SQLiteDatabase>();

            Logger.Info("EngineGame initialized");

            ScreenManager.Initialize();
        }
Esempio n. 6
0
 public EntityPlacementState(Game game, Camera camera, IResourceCache<Texture2D> cache, Entity entity, Func<Entity, bool> onPlacePredicate)
     : base(game, camera, cache)
 {
     this.entity = entity;
     this.onPlacePredicate = onPlacePredicate;
 }
Esempio n. 7
0
 public RotationEditorState(Game game, Camera camera, IResourceCache<Texture2D> cache)
     : base(game, camera, cache, true)
 {
 }
Esempio n. 8
0
 private void DrawBoundingBox(SpriteBatch spriteBatch, Camera camera, Color color, NonAxisAlignedBoundingBox box)
 {
     var blank = StateMachine.Owner.RenderManager.TextureCache.GetResource("blank");
     spriteBatch.DrawRect(blank, box, 5, color);
 }