Example #1
0
        public void AddBehaviorRemovedPreviously()
        {
            var sprite = new Sprite("DeltaEngineLogoAlpha", new Rectangle(0.0f, 0.0f, 0.1f, 0.1f));

            sprite.Start <SimpleSizeUpdater>();
            AdvanceTimeAndUpdateEntities();
            sprite.Start <SimpleSizeUpdater>();
            AdvanceTimeAndUpdateEntities();
            Assert.That(sprite.Size.IsNearlyEqual(new Size(0.4f)));
        }
Example #2
0
        public Hero(Player player, TileMapLayer tileMapLayer, Input.Mouse mouse) : base(tileMapLayer)
        {
            _type = UID.Get <Hero>();

            _player = player;
            _mouse  = mouse;

            SetSize(24, 32);
            SetPivot(12, 16);

            // Create Collide Point of Hero
            AddPoint((int)HSpots.UL, new Vector2(-10, -20));
            AddPoint((int)HSpots.UR, new Vector2(+10, -20));

            AddPoint((int)HSpots.DL, new Vector2(-10, +20));
            AddPoint((int)HSpots.DR, new Vector2(+10, +20));

            AddPoint((int)HSpots.LU, new Vector2(-16, -8));
            AddPoint((int)HSpots.LD, new Vector2(-16, +6));

            AddPoint((int)HSpots.RU, new Vector2(+16, -8));
            AddPoint((int)HSpots.RD, new Vector2(+16, +6));


            // Collide Point for Grip
            AddPoint((int)HSpots.EL, new Vector2(-16, -16));
            AddPoint((int)HSpots.ER, new Vector2(+16, -16));

            _sprite = Game1._spriteDragon.Clone();
            _sprite.Start("stand", 1, 0);
        }
Example #3
0
        public void RenderPanAndZoomIntoLogo()
        {
            ScreenSpace.Current = new Camera2DScreenSpace(Resolve <Window>());
            var logo = new Sprite(logoMaterial, Rectangle.FromCenter(Vector2D.One, new Size(0.25f)));

            logo.Start <PanAndZoom>();
        }
Example #4
0
		public void ChangeColorIfTwoRectanglesCollide()
		{
			var sprite = new Sprite(material, new Rectangle(0.25f, 0.2f, 0.5f, 0.5f));
			sprite.Start<CollisionTrigger>().Add(new CollisionTrigger.Data(Color.Yellow, Color.Blue));
			sprite.Get<CollisionTrigger.Data>().SearchTags.Add("Creep");
			var sprite2 = new Sprite(material, new Rectangle(0.5f, 0.2f, 0.1f, 0.5f));
			sprite2.AddTag("Creep");
		}
        public void KillSpriteAfterTimeout()
        {
            var enemyMovingOutOfScreen =
                new Sprite(new Material(ShaderFlags.Position2DTextured, "DeltaEngineLogo"),
                           new Rectangle(Vector2D.Half, new Size(0.1f)));
            var data = new SimplePhysics.Data {
                Velocity = new Vector2D(0.5f, 0), Duration = 1
            };

            enemyMovingOutOfScreen.Add(data);
            enemyMovingOutOfScreen.Start <SimplePhysics.Move>();
            enemyMovingOutOfScreen.Start <SimplePhysics.KillAfterDurationReached>();
            if (IsMockResolver)
            {
                AdvanceTimeAndUpdateEntities(1.1f);
            }
        }
Example #6
0
		public void ChangeColorTwiceASecond()
		{
			var sprite = new Sprite(material, Rectangle.HalfCentered)
			{
				Color = Color.Green
			};
			sprite.Start<TimeTrigger>().Add(new TimeTrigger.Data(Color.Green, Color.Gold, 0.2f));
			AdvanceTimeAndUpdateEntities(0.03f);
			AdvanceTimeAndUpdateEntities(0.2f);
		}
Example #7
0
        public void ChangeColorIfTwoRectanglesCollide()
        {
            var sprite = new Sprite(material, new Rectangle(0.25f, 0.2f, 0.5f, 0.5f));

            sprite.Start <CollisionTrigger>().Add(new CollisionTrigger.Data(Color.Yellow, Color.Blue));
            sprite.Get <CollisionTrigger.Data>().SearchTags.Add("Creep");
            var sprite2 = new Sprite(material, new Rectangle(0.5f, 0.2f, 0.1f, 0.5f));

            sprite2.AddTag("Creep");
        }
Example #8
0
		public void UseSpriteAsFarPlanetBackground()
		{
			Create3DCamera();
			var sprite = new Sprite(new Material(ShaderFlags.Position2DColoredTextured, "DeltaEngineLogo"),
				new Rectangle(0, 0, 1, 1));
			sprite.RenderLayer = -1;
			sprite.UV = new Rectangle(0.25f, 0.25f, 0.7f, 0.7f);
		new Model(new ModelData(new BoxMesh(0.1f * Vector3D.One, Color.Red)), Vector3D.Zero);
			sprite.Start<BackgroundUVUpdater>();
		}
Example #9
0
		public void CreateTrigger()
		{
			var trigger = new Sprite(material, new Rectangle(Vector2D.Zero, (Size)Vector2D.One))
			{
				Color = Color.Red
			};
			trigger.Add(new TimeTrigger.Data(Color.Red, Color.Gray, 1));
			trigger.Start<CollisionTrigger>().Add(new CollisionTrigger.Data(Color.White, Color.Red));
			Assert.AreEqual(Vector2D.Zero, trigger.Get<Rectangle>().TopLeft);
			Assert.AreEqual(Vector2D.One, trigger.Get<Rectangle>().BottomRight);
		}
Example #10
0
        public void UseSpriteAsFarPlanetBackground()
        {
            Create3DCamera();
            var sprite = new Sprite(new Material(ShaderFlags.Position2DColoredTextured, "DeltaEngineLogo"),
                                    new Rectangle(0, 0, 1, 1));

            sprite.RenderLayer = -1;
            sprite.UV          = new Rectangle(0.25f, 0.25f, 0.7f, 0.7f);
            new Model(new ModelData(new BoxMesh(0.1f * Vector3D.One, Color.Red)), Vector3D.Zero);
            sprite.Start <BackgroundUVUpdater>();
        }
Example #11
0
        public void ChangeColorTwiceASecond()
        {
            var sprite = new Sprite(material, Rectangle.HalfCentered)
            {
                Color = Color.Green
            };

            sprite.Start <TimeTrigger>().Add(new TimeTrigger.Data(Color.Green, Color.Gold, 0.2f));
            AdvanceTimeAndUpdateEntities(0.03f);
            AdvanceTimeAndUpdateEntities(0.2f);
        }
Example #12
0
        public void CreateTrigger()
        {
            var trigger = new Sprite(material, new Rectangle(Vector2D.Zero, (Size)Vector2D.One))
            {
                Color = Color.Red
            };

            trigger.Add(new TimeTrigger.Data(Color.Red, Color.Gray, 1));
            trigger.Start <CollisionTrigger>().Add(new CollisionTrigger.Data(Color.White, Color.Red));
            Assert.AreEqual(Vector2D.Zero, trigger.Get <Rectangle>().TopLeft);
            Assert.AreEqual(Vector2D.One, trigger.Get <Rectangle>().BottomRight);
        }
Example #13
0
		public void RenderSlowlyFallingLogo()
		{
			var sprite = new Sprite(new Material(ShaderFlags.Position2DTextured, "DeltaEngineLogo"),
				screenCenter);
			sprite.Add(new SimplePhysics.Data
			{
				Velocity = new Vector2D(0.0f, -0.3f),
				RotationSpeed = 100.0f,
				Gravity = new Vector2D(0.0f, 0.1f),
			});
			sprite.Color = Color.Red;
			sprite.Start<SimplePhysics.Move>();
		}
Example #14
0
		private static Sprite CreateFallingSpriteWhichExpires()
		{
			var sprite = new Sprite(new Material(ShaderFlags.Position2DTextured, "DeltaEngineLogo"),
				Rectangle.One);
			sprite.Add(new SimplePhysics.Data
			{
				Velocity = Vector2D.Half,
				Gravity = new Vector2D(1.0f, 2.0f),
				Duration = 1.0f
			});
			sprite.Start<SimplePhysics.Move>();
			sprite.Color = Color.Red;
			return sprite;
		}
        public void RenderSlowlyFallingLogo()
        {
            var sprite = new Sprite(new Material(ShaderFlags.Position2DTextured, "DeltaEngineLogo"),
                                    screenCenter);

            sprite.Add(new SimplePhysics.Data
            {
                Velocity      = new Vector2D(0.0f, -0.3f),
                RotationSpeed = 100.0f,
                Gravity       = new Vector2D(0.0f, 0.1f),
            });
            sprite.Color = Color.Red;
            sprite.Start <SimplePhysics.Move>();
        }
        private static Sprite CreateFallingSpriteWhichExpires()
        {
            var sprite = new Sprite(new Material(ShaderFlags.Position2DTextured, "DeltaEngineLogo"),
                                    Rectangle.One);

            sprite.Add(new SimplePhysics.Data
            {
                Velocity = Vector2D.Half,
                Gravity  = new Vector2D(1.0f, 2.0f),
                Duration = 1.0f
            });
            sprite.Start <SimplePhysics.Move>();
            sprite.Color = Color.Red;
            return(sprite);
        }
Example #17
0
    Sprite createLetter(Texture2D texture)
    {
        GameObject piece  = new GameObject("glitch letters");
        Sprite     sprite = piece.AddComponent <Sprite>();

        sprite.height = letterHeight;
        sprite.width  = letterHeight;
        sprite.setScreenPosition(0, 0);
        sprite.textures = new Texture2D[] {
            texture
        };
        sprite.Awake();
        sprite.Start();

        return(sprite);
    }
Example #18
0
        }         //ncrunch: no coverage end

        private static void AddFallingBrick(Entity2D brick, Material material)
        {
            var fallingBrick = new Sprite(material, brick.DrawArea)
            {
                Color       = brick.Color,
                RenderLayer = (int)BlocksRenderLayer.FallingBrick,
            };
            var random = Randomizer.Current;
            var data   = new SimplePhysics.Data
            {
                Velocity      = new Vector2D(random.Get(-0.5f, 0.5f), random.Get(-1.0f, 0.0f)),
                RotationSpeed = random.Get(-360, 360),
                Duration      = 5.0f,
                Gravity       = new Vector2D(0.0f, 2.0f)
            };

            fallingBrick.Add(data);
            fallingBrick.Start <SimplePhysics.Move>();
        }
Example #19
0
		public void RenderPanAndZoomIntoLogo()
		{
			ScreenSpace.Current = new Camera2DScreenSpace(Resolve<Window>());
			var logo = new Sprite(logoMaterial, Rectangle.FromCenter(Vector2D.One, new Size(0.25f)));
			logo.Start<PanAndZoom>();
		}
Example #20
0
		public void KillSpriteAfterTimeout()
		{
			var enemyMovingOutOfScreen =
				new Sprite(new Material(ShaderFlags.Position2DTextured, "DeltaEngineLogo"),
					new Rectangle(Vector2D.Half, new Size(0.1f)));
			var data = new SimplePhysics.Data { Velocity = new Vector2D(0.5f, 0), Duration = 1 };
			enemyMovingOutOfScreen.Add(data);
			enemyMovingOutOfScreen.Start<SimplePhysics.Move>();
			enemyMovingOutOfScreen.Start<SimplePhysics.KillAfterDurationReached>();
			if (IsMockResolver)
				AdvanceTimeAndUpdateEntities(1.1f);
		}
Example #21
0
		} //ncrunch: no coverage end

		private static void AddFallingBrick(Entity2D brick, Material material)
		{
			var fallingBrick = new Sprite(material, brick.DrawArea)
			{
				Color = brick.Color,
				RenderLayer = (int)BlocksRenderLayer.FallingBrick,
			};
			var random = Randomizer.Current;
			var data = new SimplePhysics.Data
			{
				Velocity = new Vector2D(random.Get(-0.5f, 0.5f), random.Get(-1.0f, 0.0f)),
				RotationSpeed = random.Get(-360, 360),
				Duration = 5.0f,
				Gravity = new Vector2D(0.0f, 2.0f)
			};
			fallingBrick.Add(data);
			fallingBrick.Start<SimplePhysics.Move>();
		}
Example #22
0
		public void AddBehaviorRemovedPreviously()
		{
			var sprite = new Sprite("DeltaEngineLogoAlpha", new Rectangle(0.0f, 0.0f, 0.1f, 0.1f));
			sprite.Start<SimpleSizeUpdater>();
			AdvanceTimeAndUpdateEntities();
			sprite.Start<SimpleSizeUpdater>();
			AdvanceTimeAndUpdateEntities();
			Assert.That(sprite.Size.IsNearlyEqual(new Size(0.4f)));
		}