Ejemplo n.º 1
0
        public HudScene(ScreenSpace screen, NumberFactory numberFactory)
        {
            var view   = screen.Viewport;
            var center = view.Width / 2f;
            var left   = view.Left;
            var top    = view.Top;
            var right  = view.Right;

            pointsNumber = numberFactory.CreateNumber(this, left, top, 0.05f, Alignment.Left, 0,
                                                      DefaultColors.Gray);
            levelCaption = new Sprite("LevelCaption",
                                      Rectangle.FromCenter(center, top + 0.02f, 0.07f, 0.03f));
            levelCaption.Color = DefaultColors.Yellow;
            // ReSharper disable DoNotCallOverridableMethodsInConstructor
            Add(levelCaption);
            levelNumber = numberFactory.CreateNumber(this, center, levelCaption.DrawArea.Bottom, 0.022f,
                                                     Alignment.Center, 2, DefaultColors.Gray);
            var offsets = new[, ] {
                { 0.108f, 0.025f }, { 0.083f, 0.033f }, { 0.05f, 0.05f }
            };

            errorIcons = new Sprite[3];
            for (int i = 0; i < errorIcons.Length; i++)
            {
                Add(errorIcons[i] = new Sprite("ErrorIcon",
                                               new Rectangle(right - offsets[i, 0], top, offsets[i, 1], offsets[i, 1])));
            }
            foreach (var control in Controls.FindAll(x => x is Sprite))
            {
                control.RenderLayer = (int)GameRenderLayer.Hud;
            }
        }
Ejemplo n.º 2
0
        public static void GetRayFromScreenPoint()
        {
            BaseCamera cam      = new LookAtCamera(new Vector(10, 10, 10));
            Vector     halfSize = new Vector(3, 3, 3);

            Application.Start(delegate
            {
                Grid.Draw();

                // Get a ray from the middle of the screen
                Point input   = Input.Mouse.Position;
                Ray screenRay = ScreenSpace.GetRayFromScreenPoint(input);
                // And convert it back to 2D to make sure it works.
                Vector resultingPosition =
                    ScreenSpace.Project(screenRay.Position + screenRay.Direction);
                bool isIntersecting = false;

                // draw a simple cube from (-3, -3, -3) to (3, 3, 3)
                Box.DrawOutline(-halfSize, halfSize,
                                isIntersecting
                                                ? Color.Green
                                                : Color.Red);

                Font.Default.Draw(
                    "input=" + input + "\n" +
                    "screenRay=" + screenRay + "\n" +
                    "resultingPosition=" + resultingPosition,
                    Rectangle.FromCenter(new Point(0.5f, 0.3f), Size.Half));
            });
        }
Ejemplo n.º 3
0
        /* public bool IsAbove(JointType joint1, JointType joint2) {
         *   return GetJointPosition(joint1, ScreenSpace.World).Y > GetJointPosition(joint2, ScreenSpace.World).Y;
         * }*/

        /// <summary>
        ///     Returns the screen position of the target joint.
        /// </summary>
        /// <param name="joint">The joint to return position data for.</param>
        /// <param name="skeleton">If not set then the first available skeleton will be selected.</param>
        /// <returns>The joint position.</returns>
        public static Vector3 GetJointPosition(JointType joint, ScreenSpace type, CustomSkeleton skeleton = null)
        {
            if (instance == null)
            {
                return(Vector3.Zero);
            }

            // If the skeleton provided is null then grab the first available skeleton and use it:
            if (skeleton == null && instance.Skeletons != null && instance.Skeletons.Count > 0)
            {
                skeleton =
                    instance.Skeletons.FirstOrDefault(
                        o => o.Joints.Count > 0 && o.State == SkeletonTrackingState.Tracked);
            }
            else
            {
                return(Vector3.Zero);
            }

            if (type == ScreenSpace.Screen)
            {
                return(skeleton.ScaleTo(joint, Screen.Width, Screen.Height));
            }
            return(skeleton.ScaleTo(joint, Screen.Width, Screen.Height));
            //  return skeleton.ScaleTo(joint, World.Width, World.Height);
        }
Ejemplo n.º 4
0
 public Icon(Content content, int iconIndex, ScreenSpace screen)
     : base(content.Load<Image>(IconNames[iconIndex]), GetIconDrawArea(iconIndex, screen.Viewport))
 {
     RenderLayer = MaxRenderLayer - 1;
     Color = Color.Gray;
     screen.ViewportSizeChanged += () => DrawArea = GetIconDrawArea(iconIndex, screen.Viewport);
 }
Ejemplo n.º 5
0
 private void ResetDeviceToNewViewportSize(Size newSizeInPixel)
 {
     Screen = new ScreenSpace(newSizeInPixel);
     NativeDevice.PresentationParameters.BackBufferWidth  = (int)newSizeInPixel.Width;
     NativeDevice.PresentationParameters.BackBufferHeight = (int)newSizeInPixel.Height;
     NativeDevice.Reset(NativeDevice.PresentationParameters);
 }
Ejemplo n.º 6
0
        //internal const float LINKS_BottomMargin = 0.03f;

        protected BasePage(ScreenSpace screen)
        {
            this.screen = screen;
            links       = new List <LogoLink>();
            new Command(OnMouseMovement).Add(new MouseMovementTrigger());
            new Command(OnMouseClick).Add(new MouseButtonTrigger());
        }
Ejemplo n.º 7
0
 public static void ToPixelWithSquareWindow()
 {
     var screen = new ScreenSpace(new Size(100, 100));
     Assert.AreEqual(new Point(100, 100), screen.ToPixelSpace(Point.One));
     Assert.AreEqual(Point.Zero, screen.ToPixelSpace(Point.Zero));
     Assert.AreEqual(new Point(50, 50), screen.ToPixelSpace(Point.Half));
 }
Ejemplo n.º 8
0
 private void ResetDeviceToNewViewportSize(Size newSizeInPixel)
 {
     Screen = new ScreenSpace(newSizeInPixel);
     NativeDevice.PresentationParameters.BackBufferWidth = (int)newSizeInPixel.Width;
     NativeDevice.PresentationParameters.BackBufferHeight = (int)newSizeInPixel.Height;
     NativeDevice.Reset(NativeDevice.PresentationParameters);
 }
Ejemplo n.º 9
0
 public XnaDevice(Window window, Game game)
 {
     this.window = window;
     this.game   = game;
     window.ViewportSizeChanged += ResetDeviceToNewViewportSize;
     Screen = new ScreenSpace(window.ViewportSize);
     CreateDeviceManager();
 }
Ejemplo n.º 10
0
        public static void ToPixelWithSquareWindow()
        {
            var screen = new ScreenSpace(new Size(100, 100));

            Assert.AreEqual(new Point(100, 100), screen.ToPixelSpace(Point.One));
            Assert.AreEqual(Point.Zero, screen.ToPixelSpace(Point.Zero));
            Assert.AreEqual(new Point(50, 50), screen.ToPixelSpace(Point.Half));
        }
Ejemplo n.º 11
0
 protected override void Render(Renderer renderer, Time time)
 {
     screen = renderer.Screen;
     if (Rotation == 0.0f)
         DrawImage();
     else
         DrawImageWithRotation();
 }
Ejemplo n.º 12
0
 public static void ToPixelWithPortraitWindow()
 {
     var screen = new ScreenSpace(new Size(75, 100));
     Assert.AreEqual(new Point(75, 100), screen.ToPixelSpace(new Point(0.875f, 1f)));
     Assert.AreEqual(Point.Zero, screen.ToPixelSpace(new Point(0.125f, 0)));
     Assert.AreEqual(new Point(37.5f, 50), screen.ToPixelSpace(Point.Half));
     Assert.AreEqual(new Size(10, 20), screen.ToPixelSpace(new Size(0.1f, 0.2f)));
 }
Ejemplo n.º 13
0
 public GameOverPage(ScreenSpace screen)
     : base(screen)
 {
     SetTitle("GameOver", 0.25f, 4f, 0.05f);
     AddButton(MenuButton.Home, 0.2f, 4f);
     AddButton(MenuButton.Retry, 0.2f, 4f);
     AddButton(MenuButton.Exit, 0.2f, 4f);
 }
Ejemplo n.º 14
0
 public XnaDevice(Window window, Game game)
 {
     this.window = window;
     this.game = game;
     window.ViewportSizeChanged += ResetDeviceToNewViewportSize;
     Screen = new ScreenSpace(window.ViewportSize);
     CreateDeviceManager();
 }
Ejemplo n.º 15
0
        public Level8(
            GameState gameState,
            ScreenSpace screenSpace,
            GameGraphics graphics,
            ScreenController screenController)
            : base("Level 8", graphics, screenController, gameState, screenSpace)
        {
            var map =
                new Map(
                    screenSpace,
                    tileMap,
                    graphics
                    );

            entities.Add(map);

            levelState.Door = new Door(graphics.Door, 25, 1, screenSpace, levelState);
            entities.Add(levelState.Door);

            entities.Add(new LivesIndicator(graphics.Life, screenSpace, gameState));

            //entities.Add(new Bomb(graphics, 20, 32, 60, screenSpace, tileMap));
            //entities.Add(new Bomb(graphics, 12, 10, 15, screenSpace, tileMap));
            //entities.Add(new Bomb(graphics, 26, 5, 7, screenSpace, tileMap));

            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 7, 20, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 7, 30, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 21, 10, screenSpace));
            //  levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 18, 1, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 10, 7, screenSpace));
            //     levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 14, 1, screenSpace));

            //     levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 5, 5, screenSpace));
            entities.AddRange(levelState.Enemies);

            levelState.Evidence =
                new Evidence(
                    levelState,
                    graphics.Evidence,
                    //5, 3,
                    14, 2,
                    screenSpace
                    );

            entities.Add(levelState.Evidence);

            entities.Add(
                new Player(
                    gameState,
                    screenController,
                    graphics,
                    screenSpace,
                    map,
                    levelState,
                    screenSpace.GetTilePosition(1, 38)
                    )
                );
        }
Ejemplo n.º 16
0
 public PausePage(ScreenSpace screen)
     : base(screen)
 {
     SetViewportBackground("PauseBackground");
     SetTitle("Pause", 0.25f, 4f, 0.05f);
     AddButton(MenuButton.Resume, 0.2f, 4f);
     AddButton(MenuButton.NewGame, 0.2f, 4f);
     AddButton(MenuButton.Abort, 0.2f, 4f);
 }
Ejemplo n.º 17
0
        public static void ToPixelWithPortraitWindow()
        {
            var screen = new ScreenSpace(new Size(75, 100));

            Assert.AreEqual(new Point(75, 100), screen.ToPixelSpace(new Point(0.875f, 1f)));
            Assert.AreEqual(Point.Zero, screen.ToPixelSpace(new Point(0.125f, 0)));
            Assert.AreEqual(new Point(37.5f, 50), screen.ToPixelSpace(Point.Half));
            Assert.AreEqual(new Size(10, 20), screen.ToPixelSpace(new Size(0.1f, 0.2f)));
        }
Ejemplo n.º 18
0
        public Level9(
            GameState gameState,
            ScreenSpace screenSpace,
            GameGraphics graphics,
            ScreenController screenController)
            : base("Level 9", graphics, screenController, gameState, screenSpace)
        {
            var map =
                new Map(
                    screenSpace,
                    tileMap,
                    graphics
                    );

            entities.Add(map);

            levelState.Door = new Door(graphics.Door, 25, 1, screenSpace, levelState);
            entities.Add(levelState.Door);

            entities.Add(new LivesIndicator(graphics.Life, screenSpace, gameState));

            entities.Add(new Bomb(graphics, 18, 16, 30, screenSpace, tileMap));
            entities.Add(new Bomb(graphics, 13, 9, 15, screenSpace, tileMap));
            entities.Add(new Bomb(graphics, 26, 5, 7, screenSpace, tileMap));

            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 13, screenSpace));
            //      levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 23, 31, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 31, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 38, screenSpace));
            //  levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 5, 5, screenSpace));
            entities.AddRange(levelState.Enemies);

            levelState.Evidence =
                new Evidence(
                    levelState,
                    graphics.Evidence,
                    3, 37,
                    // 26, 10,
                    screenSpace
                    );

            entities.Add(levelState.Evidence);

            entities.Add(
                new Player(
                    gameState,
                    screenController,
                    graphics,
                    screenSpace,
                    map,
                    levelState,
                    //   screenSpace.GetTilePosition(screenSpace.LastRow - 6, 34)
                    screenSpace.GetTilePosition(screenSpace.LastRow - 2, 1)
                    )
                );
        }
Ejemplo n.º 19
0
 public static void ToPixelWithNonSquareWindow()
 {
     var screen = new ScreenSpace(new Size(100, 75));
     Assert.AreEqual(new Point(100, 75), screen.ToPixelSpace(new Point(1f, 0.875f)));
     Assert.AreEqual(Point.Zero, screen.ToPixelSpace(new Point(0, 0.125f)));
     Assert.AreEqual(new Point(50, 37.5f), screen.ToPixelSpace(Point.Half));
     Assert.AreEqual(new Size(10, 20), screen.ToPixelSpace(new Size(0.1f, 0.2f)));
     Assert.AreEqual(new Rectangle(20, 7.5f, 60, 60),
          screen.ToPixelSpace(new Rectangle(0.2f, 0.2f, 0.6f, 0.6f)));
 }
Ejemplo n.º 20
0
 public Game(ScreenSpace screen, Window window)
 {
     this.screen              = screen;
     this.window              = window;
     window.Title             = "Delta Ninja - A Delta Engine sample";
     window.ViewportPixelSize = new Size(1280, 720);
     InitBackground();
     InitInput();
     InitPages();
     home.Show();
 }
Ejemplo n.º 21
0
 public Score(Content content, ScreenSpace screen)
     : base(null, Rectangle.Zero)
 {
     this.screen = screen;
     RenderLayer = MaxRenderLayer;
     for (int digit = 0; digit < 10; digit++)
         images[digit] = content.Load<Image>(digit.ToString(CultureInfo.InvariantCulture));
     images[DollarSign] = content.Load<Image>("Dollar");
     images[RabbitKillSign] = content.Load<Image>("DeadRabbit");
     digitWidth = images[0].PixelSize.Width / QuadraticFullscreenSize.Width;
 }
Ejemplo n.º 22
0
        private void InitializeProjectionMatrix()
        {
            Screen = new ScreenSpace(window.ViewportSize);
            GL.MatrixMode(MatrixMode.Projection);
            GL.LoadIdentity();
            var width  = (int)window.ViewportSize.Width;
            var height = (int)window.ViewportSize.Height;

            GL.Ortho(0, width, height, 0, -1, 1);
            GL.Viewport(0, 0, width, height);
        }
Ejemplo n.º 23
0
        public static void ToPixelWithNonSquareWindow()
        {
            var screen = new ScreenSpace(new Size(100, 75));

            Assert.AreEqual(new Point(100, 75), screen.ToPixelSpace(new Point(1f, 0.875f)));
            Assert.AreEqual(Point.Zero, screen.ToPixelSpace(new Point(0, 0.125f)));
            Assert.AreEqual(new Point(50, 37.5f), screen.ToPixelSpace(Point.Half));
            Assert.AreEqual(new Size(10, 20), screen.ToPixelSpace(new Size(0.1f, 0.2f)));
            Assert.AreEqual(new Rectangle(20, 7.5f, 60, 60),
                            screen.ToPixelSpace(new Rectangle(0.2f, 0.2f, 0.6f, 0.6f)));
        }
 private void SquareWindowShouldAlwaysReturnRelativeValues(ScreenSpace screen)
 {
     window.TotalPixelSize = new Size(100, 100);
     Assert.AreEqual(Point.Zero, screen.TopLeft);
     Assert.AreEqual(Point.One, screen.BottomRight);
     Assert.AreEqual(Rectangle.One, screen.Viewport);
     Assert.AreEqual(Point.One, screen.FromPixelSpace(new Point(100, 100)));
     Assert.AreEqual(Point.Half, screen.FromPixelSpace(new Point(50, 50)));
     Assert.AreEqual(new Rectangle(0.1f, 0.1f, 0.8f, 0.8f),
         screen.FromPixelSpace(new Rectangle(10, 10, 80, 80)));
 }
Ejemplo n.º 25
0
 public static void ToQuadraticWithPortraitWindow()
 {
     var screen = new ScreenSpace(new Size(75, 100));
     Assert.AreEqual(new Point(0.125f, 0), screen.TopLeft);
     Assert.AreEqual(new Point(0.875f, 1), screen.BottomRight);
     Assert.AreEqual(new Size(0.75f, 1), screen.Area);
     Assert.AreEqual(new Rectangle(0.125f, 0, 0.75f, 1), screen.Viewport);
     Assert.AreEqual(new Point(0.875f, 1f), screen.ToQuadraticSpace(new Point(75, 100)));
     Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(37.5f, 50)));
     Assert.AreEqual(new Size(0.1f, 0.1f), screen.ToQuadraticSpace(new Size(10, 10)));
 }
Ejemplo n.º 26
0
 public static void ToQuadraticWithNonSquareWindow()
 {
     var screen = new ScreenSpace(new Size(100, 75));
     Assert.AreEqual(new Point(0, 0.125f), screen.TopLeft);
     Assert.AreEqual(new Point(1, 0.875f), screen.BottomRight);
     Assert.AreEqual(new Size(1, 0.75f), screen.Area);
     Assert.AreEqual(new Rectangle(0, 0.125f, 1, 0.75f), screen.Viewport);
     Assert.AreEqual(new Point(1f, 0.875f), screen.ToQuadraticSpace(new Point(100, 75)));
     Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(50, 37.5f)));
     Assert.AreEqual(new Size(0.1f, 0.1f), screen.ToQuadraticSpace(new Size(10, 10)));
 }
Ejemplo n.º 27
0
 public static void ToQuadraticWithSquareWindow()
 {
     var screen = new ScreenSpace(new Size(100, 100));
     Assert.AreEqual(Point.Zero, screen.TopLeft);
     Assert.AreEqual(Point.One, screen.BottomRight);
     Assert.AreEqual(Size.One, screen.Area);
     Assert.AreEqual(Rectangle.One, screen.Viewport);
     Assert.AreEqual(Point.One, screen.ToQuadraticSpace(new Point(100, 100)));
     Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(50, 50)));
     Assert.AreEqual(new Rectangle(0.1f, 0.1f, 0.8f, 0.8f),
         screen.ToQuadraticSpace(new Rectangle(10, 10, 80, 80)));
 }
Ejemplo n.º 28
0
        public static void ToQuadraticWithNonSquareWindow()
        {
            var screen = new ScreenSpace(new Size(100, 75));

            Assert.AreEqual(new Point(0, 0.125f), screen.TopLeft);
            Assert.AreEqual(new Point(1, 0.875f), screen.BottomRight);
            Assert.AreEqual(new Size(1, 0.75f), screen.Area);
            Assert.AreEqual(new Rectangle(0, 0.125f, 1, 0.75f), screen.Viewport);
            Assert.AreEqual(new Point(1f, 0.875f), screen.ToQuadraticSpace(new Point(100, 75)));
            Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(50, 37.5f)));
            Assert.AreEqual(new Size(0.1f, 0.1f), screen.ToQuadraticSpace(new Size(10, 10)));
        }
Ejemplo n.º 29
0
        public static void ToQuadraticWithPortraitWindow()
        {
            var screen = new ScreenSpace(new Size(75, 100));

            Assert.AreEqual(new Point(0.125f, 0), screen.TopLeft);
            Assert.AreEqual(new Point(0.875f, 1), screen.BottomRight);
            Assert.AreEqual(new Size(0.75f, 1), screen.Area);
            Assert.AreEqual(new Rectangle(0.125f, 0, 0.75f, 1), screen.Viewport);
            Assert.AreEqual(new Point(0.875f, 1f), screen.ToQuadraticSpace(new Point(75, 100)));
            Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(37.5f, 50)));
            Assert.AreEqual(new Size(0.1f, 0.1f), screen.ToQuadraticSpace(new Size(10, 10)));
        }
 private void SquareWindowShouldAlwaysReturnRelativeValues(ScreenSpace screen)
 {
     window.ViewportPixelSize = new Size(100, 100);
     Assert.AreEqual(Vector2D.Zero, screen.TopLeft);
     Assert.AreEqual(Vector2D.One, screen.BottomRight);
     Assert.AreEqual(Rectangle.One, screen.Viewport);
     Assert.AreEqual(Vector2D.One, screen.FromPixelSpace(new Vector2D(100, 100)));
     Assert.AreEqual(Vector2D.Half, screen.FromPixelSpace(new Vector2D(50, 50)));
     Assert.IsTrue(
         screen.FromPixelSpace(new Rectangle(10, 10, 80, 80)).IsNearlyEqual(new Rectangle(0.1f, 0.1f,
                                                                                          0.8f, 0.8f)));
 }
Ejemplo n.º 31
0
        public static void ToQuadraticWithSquareWindow()
        {
            var screen = new ScreenSpace(new Size(100, 100));

            Assert.AreEqual(Point.Zero, screen.TopLeft);
            Assert.AreEqual(Point.One, screen.BottomRight);
            Assert.AreEqual(Size.One, screen.Area);
            Assert.AreEqual(Rectangle.One, screen.Viewport);
            Assert.AreEqual(Point.One, screen.ToQuadraticSpace(new Point(100, 100)));
            Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(50, 50)));
            Assert.AreEqual(new Rectangle(0.1f, 0.1f, 0.8f, 0.8f),
                            screen.ToQuadraticSpace(new Rectangle(10, 10, 80, 80)));
        }
Ejemplo n.º 32
0
        private void ResetDeviceToNewViewportSize(Size newSizeInPixel)
        {
            backBuffer.Dispose();
            surface.Dispose();
            RenderTarget.Dispose();

            width  = (int)newSizeInPixel.Width;
            height = (int)newSizeInPixel.Height;
            swapChain.ResizeBuffers(BackBufferCount, width, height, BackBufferFormat, SwapChainFlags.None);
            backBuffer   = Resource.FromSwapChain <Texture2D>(swapChain, 0);
            surface      = backBuffer.QueryInterface <Surface>();
            RenderTarget = new RenderTarget(direct2DFactory, surface, defaultRenderTargetProperties);
            Screen       = new ScreenSpace(newSizeInPixel);
        }
Ejemplo n.º 33
0
	public void Initialize(HUDPrefab content, ScreenSpace screenSpace, int windowId, Vector2 anchorMin, Vector2 anchorMax, float windowAlpha, HUD hud)
	{
		this.Content = content;
		this.screenSpace = screenSpace;
		this.WindowId = windowId;
		this.rectTransform.anchorMax = anchorMax;
		this.rectTransform.anchorMin = anchorMin;
		this.windowAlpha = windowAlpha;
		this.hud = hud;
		transform.SetParent(screenSpace.transform, false);
		if (content != null)
		{
			content.ApplyHUDChanges(transform, windowAlpha);
		}
	}
Ejemplo n.º 34
0
 public Match(ScreenSpace screen, NumberFactory numberFactory, LogoFactory logoFactory)
     : base(Rectangle.Zero)
 {
     this.screen      = screen;
     this.logoFactory = logoFactory;
     hud   = new HudScene(screen, numberFactory);
     pause = new PausePage(screen);
     pause.Hide();
     Slice      = new Slice();
     PointsTips = new List <PointsTip>();
     ErrorFlags = new List <ErrorFlag>();
     HideScore();
     screen.ViewportSizeChanged += RefreshSize;
     RefreshSize();
 }
Ejemplo n.º 35
0
 public HomePage(ScreenSpace screen)
     : base(screen)
 {
     SetTitle("DeltaNinjaHome", 0.4f, 3f, 0f);
     AddLogoLink("DeltaEngineLink", "http://deltaengine.net/", 0.07f, -2);
     AddLogoLink("CodePlexLink", "http://deltaninja.codeplex.com/", 0.07f, 2);
     AddButton(MenuButton.NewGame, 0.2f, 4f);
     AddButton(MenuButton.About, 0.2f, 4f);
     AddButton(MenuButton.Exit, 0.2f, 4f);
     new Command(CheckAboutBox).Add(new MouseButtonTrigger());
     aboutBox = new Sprite("AboutBox",
                           Rectangle.FromCenter(Vector2D.Half, new Size(0.38f, 0.38f * 0.6070f)));
     aboutBox.RenderLayer = 9000;
     aboutBox.IsActive    = false;
 }
Ejemplo n.º 36
0
        public Level4(
            GameState gameState,
            ScreenSpace screenSpace,
            GameGraphics graphics,
            ScreenController screenController)
            : base("Level 4", graphics, screenController, gameState, screenSpace)
        {
            var map =
                new Map(
                    screenSpace,
                    tileMap,
                    graphics
                    );

            entities.Add(map);

            levelState.Door = new Door(graphics.Door, 18, 10, screenSpace, levelState);
            entities.Add(levelState.Door);

            entities.Add(new LivesIndicator(graphics.Life, screenSpace, gameState));

            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 25, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 32, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 37, screenSpace));
            entities.AddRange(levelState.Enemies);

            levelState.Evidence =
                new Evidence(
                    levelState,
                    graphics.Evidence,
                    5, 3,
                    screenSpace
                    );

            entities.Add(levelState.Evidence);

            entities.Add(
                new Player(
                    gameState,
                    screenController,
                    graphics,
                    screenSpace,
                    map,
                    levelState,
                    screenSpace.GetTilePosition(screenSpace.LastRow - 2, 1)
                    )
                );
        }
Ejemplo n.º 37
0
        public Level2(
            GameState gameState,
            ScreenSpace screenSpace,
            GameGraphics graphics,
            ScreenController screenController)
            : base("Level 2", graphics, screenController, gameState, screenSpace)
        {
            var map =
                new Map(
                    screenSpace,
                    tileMap,
                    graphics
                    );

            entities.Add(map);

            levelState.Door = new Door(graphics.Door, 25, 1, screenSpace, levelState);
            entities.Add(levelState.Door);

            entities.Add(new LivesIndicator(graphics.Life, screenSpace, gameState));

            entities.AddRange(levelState.Enemies);

            levelState.Evidence =
                new Evidence(
                    levelState,
                    graphics.Evidence,
                    26, 10,
                    screenSpace
                    );

            entities.Add(levelState.Evidence);

            entities.Add(
                new Player(
                    gameState,
                    screenController,
                    graphics,
                    screenSpace,
                    map,
                    levelState,
                    screenSpace.GetTilePosition(3, 37)
                    )
                );
        }
Ejemplo n.º 38
0
 public SharpDXDevice(Window window)
 {
     this.window = window;
     width = (int)window.ViewportSize.Width;
     height = (int)window.ViewportSize.Height;
     DxDevice.CreateWithSwapChain(DriverType.Hardware,
     #if DEBUG
         DeviceCreationFlags.Debug |
     #endif
         DeviceCreationFlags.BgraSupport,
         CreateSwapChainDescription(), out device, out swapChain);
     direct2DFactory = new D2dFactory();
     backBuffer = Resource.FromSwapChain<Texture2D>(swapChain, 0);
     surface = backBuffer.QueryInterface<Surface>();
     RenderTarget = new RenderTarget(direct2DFactory, surface, defaultRenderTargetProperties);
     window.ViewportSizeChanged += ResetDeviceToNewViewportSize;
     Screen = new ScreenSpace(window.ViewportSize);
 }
Ejemplo n.º 39
0
        public SharpDXDevice(Window window)
        {
            this.window = window;
            width       = (int)window.ViewportSize.Width;
            height      = (int)window.ViewportSize.Height;
            DxDevice.CreateWithSwapChain(DriverType.Hardware,
#if DEBUG
                                         DeviceCreationFlags.Debug |
#endif
                                         DeviceCreationFlags.BgraSupport,
                                         CreateSwapChainDescription(), out device, out swapChain);
            direct2DFactory             = new D2dFactory();
            backBuffer                  = Resource.FromSwapChain <Texture2D>(swapChain, 0);
            surface                     = backBuffer.QueryInterface <Surface>();
            RenderTarget                = new RenderTarget(direct2DFactory, surface, defaultRenderTargetProperties);
            window.ViewportSizeChanged += ResetDeviceToNewViewportSize;
            Screen = new ScreenSpace(window.ViewportSize);
        }
Ejemplo n.º 40
0
        public static void DrawRectangle()
        {
            Application.Start(delegate
            {
                Rect.DrawOutline(new Rectangle(0.5f, 0.5f, 0.25f, 0.25f),
                                 Color.Red);

                Rect.DrawOutline(new Rectangle(0.5f, 0.5f, 0.25f, 0.25f), Color.Red,
                                 45f);

                // Draw a rectangle located in the middle of the screen
                Rect.DrawOutline(new Rectangle(0.5f, 0.5f, 0.15f, 0.1f),
                                 Color.Red);
                // And show the whole screen area in green
                //This is 0, 800 for 800x600, but we need 0, 799: ScreenSpace.Area
                Rectangle pixelScreenRect = new Rectangle(0, 0,
                                                          Application.Window.ViewportPixelWidth - 1,
                                                          Application.Window.ViewportPixelHeight - 1);
                Rect.DrawOutline(ScreenSpace.ToQuadraticSpace(pixelScreenRect),
                                 Color.Green);
            });
        }
Ejemplo n.º 41
0
    public void Unpack(InventoryItem inventoryItem, Vector2 _position)
    {
        itemName.text    = inventoryItem.item.name;
        description.text = inventoryItem.item.description;
        weight.text      = (inventoryItem.item.weight * inventoryItem.quantity).ToString();
        float _value = inventoryItem.item.value * inventoryItem.quantity;

        if (_value < 100f)
        {
            //Prepend zeroes in front of small numbers
            if (_value < 10f)
            {
                value.text = "00" + _value.ToString();
            }
            else
            {
                value.text = "0" + _value.ToString();
            }
        }
        else
        {
            value.text = string.Format("{0:n0}", _value);
        }
        //Keep on screen
        float _scale = UI.Instance.uiScale;

        transform.localScale = new Vector2(_scale, _scale); //Set scale first!
        tooltipOffset        = new Vector2(tooltipOffset.x, tooltipOffset.y * _scale);
        offset *= _scale;
        Vector2 correctedPosition = Camera.main.WorldToScreenPoint(_position);

        correctedPosition = new Vector2(ScreenSpace.Inverse(correctedPosition.x), ScreenSpace.Inverse(correctedPosition.y));
        float yMax = (canvasSize.y - myRect.rect.height - offset) / 2f;

        myRect.anchoredPosition = new Vector3(Mathf.Clamp(correctedPosition.x + tooltipOffset.x, 0f, canvasSize.x - myRect.rect.width - offset),
                                              Mathf.Clamp(correctedPosition.y + tooltipOffset.y - canvasSize.y / 2f, -yMax, yMax), transform.position.z);
    }
Ejemplo n.º 42
0
        private void ResetDeviceToNewViewportSize(Size newSizeInPixel)
        {
            backBuffer.Dispose();
            surface.Dispose();
            RenderTarget.Dispose();

            width = (int)newSizeInPixel.Width;
            height = (int)newSizeInPixel.Height;
            swapChain.ResizeBuffers(BackBufferCount, width, height, BackBufferFormat, SwapChainFlags.None);
            backBuffer = Resource.FromSwapChain<Texture2D>(swapChain, 0);
            surface = backBuffer.QueryInterface<Surface>();
            RenderTarget = new RenderTarget(direct2DFactory, surface, defaultRenderTargetProperties);
            Screen = new ScreenSpace(newSizeInPixel);
        }
Ejemplo n.º 43
0
        public Level6(
            GameState gameState,
            ScreenSpace screenSpace,
            GameGraphics graphics,
            ScreenController screenController)
            : base("Level 6", graphics, screenController, gameState, screenSpace)
        {
            var map =
                new Map(
                    screenSpace,
                    tileMap,
                    graphics
                    );

            entities.Add(map);

            levelState.Door = new Door(graphics.Door, 25, 1, screenSpace, levelState);
            entities.Add(levelState.Door);

            entities.Add(new LivesIndicator(graphics.Life, screenSpace, gameState));

            entities.Add(new Bomb(graphics, 25, 7, 30, screenSpace, tileMap));

            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 13, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 16, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 19, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 21, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 23, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 25, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 27, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 26, 29, screenSpace));

            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 23, 31, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 23, 34, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 23, 28, screenSpace));
            levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 23, 26, screenSpace));
            //levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 23, 31, screenSpace));
            //levelState.Enemies.Add(new EnemyStyle1(graphics.Enemy, map, 5, 5, screenSpace));
            entities.AddRange(levelState.Enemies);

            levelState.Evidence =
                new Evidence(
                    levelState,
                    graphics.Evidence,
                    //5, 3,
                    26, 10,
                    screenSpace
                    );

            entities.Add(levelState.Evidence);

            entities.Add(
                new Player(
                    gameState,
                    screenController,
                    graphics,
                    screenSpace,
                    map,
                    levelState,
                    screenSpace.GetTilePosition(3, 35)
                    )
                );
        }
Ejemplo n.º 44
0
 public Background(ScreenSpace screen)
     : base("Background", screen.Viewport)
 {
     RenderLayer = (int)GameRenderLayer.Background;
     screen.ViewportSizeChanged += () => DrawArea = screen.Viewport;
 }
Ejemplo n.º 45
0
		public override void ResetDefaults()
		{
			screenSpace = ScreenSpace.Current;
			ZoomLevel = 1.0f;
		}
Ejemplo n.º 46
0
		public OrthoCamera(Device device, Window window, ScreenSpace screenSpace)
			: base(device, window)
		{
			this.screenSpace = screenSpace;
			ZoomLevel = 1.0f;
		}
Ejemplo n.º 47
0
	public void Initialize(HUDPrefab content, ScreenSpace screenSpace, int windowId, Vector2 anchorMin, Vector2 anchorMax, float windowAlpha, HUD hud, DockingPosition dockingPosition, OpenWindowCallback callback)
	{
		base.Initialize(content, screenSpace, windowId, anchorMin, anchorMax, windowAlpha, hud);
		this.dockingPosition = dockingPosition;
		this.callback = callback;
	}
Ejemplo n.º 48
0
 private void Update()
 {
     timelineStick.transform.position = new Vector2(timelineStickOrigin.x + ScreenSpace.Convert(timelineSegmentWidth) * timeInterval, timelineStickOrigin.y);
 }
Ejemplo n.º 49
0
 private void InitializeProjectionMatrix()
 {
     Screen = new ScreenSpace(window.ViewportSize);
     GL.MatrixMode(MatrixMode.Projection);
     GL.LoadIdentity();
     var width = (int)window.ViewportSize.Width;
     var height = (int)window.ViewportSize.Height;
     GL.Ortho(0, width, height, 0, -1, 1);
     GL.Viewport(0, 0, width, height);
 }
Ejemplo n.º 50
0
 private bool HasSomethingToRender(Sprite sprite)
 {
     var data = sprite.Get<RenderingData>();
     if (data == null)
         return false; //ncrunch: no coverage, only happens with broken material data in the Editor
     drawArea = data.DrawArea;
     uv = data.AtlasUV;
     isAtlasRotated = data.IsAtlasRotated;
     screen = ScreenSpace.Current;
     rotation = sprite.Get<float>();
     return data.HasSomethingToRender;
 }