public override void Update()
 {
     if (MapCollider.Intersects(SceneManager.gameScene.player.MapCollider))
     {
         if (Sprite.Alpha == 1)
         {
             SoundManager.door.Play();
         }
         if (Sprite.Alpha > .4f)
         {
             Sprite.Alpha -= .05f;
         }
     }
     else
     {
         if (Sprite.Alpha <= .4f)
         {
             SoundManager.door.Play();
         }
         if (Sprite.Alpha < 1)
         {
             Sprite.Alpha += .05f;
         }
     }
 }
Exemple #2
0
        public override void Update()
        {
            Position     += velocity;
            traveledDist += velocity.Length();

            //List<GameObject> objects = new List<GameObject>();
            //foreach (Enemy e in Game1.enemies) objects.Add((GameObject)e);

            foreach (GameObject g in SceneManager.gameScene.objects)
            {
                if (g.ObstructsBullets)
                {
                    if (MapCollider.Intersects(g.BulletCollider))
                    {
                        g.Health -= Properties.Damage * (traveledDist / Properties.MaxRange);
                        this.Dead = true;
                    }
                }
            }
            foreach (Tile t in CloseSolidTiles)
            {
                if (t.Properties.ObstructsBullets)
                {
                    if (MapCollider.Intersects(t.Hitbox))
                    {
                        this.Dead = true;
                    }
                }
            }
            if (!Camera.AreaIsVisible(MapCollider))
            {
                Dead = true;
            }
        }
Exemple #3
0
        public override void Update()
        {
            foreach (Item item in SceneManager.gameScene.objects.Where(item => item is Item && item.BulletCollider.Intersects(BulletCollider))) //yo dawg, i heard you like items..
            {
                if (item.Properties == Items.properties[9])
                {
                    SceneManager.gameScene.RemoveObject(item);
                    fuel++;
                    Debug.WriteLine("boat got fuel, level: " + fuel);
                }
            }

            if (Velocity.Length() > 0)
            {
                Camera.Follow(Center);
                time++;
                if (time > 120)
                {
                    SceneManager.CurrentScene = SceneManager.winScene;
                }
                SceneManager.gameScene.player.Position = Position + new Vector2(0, -50);
            }


            if (fuel >= REQUIRED_FUEL && MapCollider.Intersects(SceneManager.gameScene.player.MapCollider))
            {
                //end the game
                Velocity = new Vector2(10, 5);
                //SceneManager.gameScene.RemoveObject(SceneManager.gameScene.player);
                Sprite.Frame = 0;
                SceneManager.CurrentScene.RemoveObject(SceneManager.gameScene.player);
                SceneManager.gameScene.player.Sprite.AnimationSpeed = 0;
                SceneManager.gameScene.player.inventoryVisible      = false;
            }

            Position += Velocity;


            base.Update();
        }