Exemplo n.º 1
0
 public CompressedTouhouBall(Room room, Vector2 pos, float dir) : base(room, pos, dir)
 {
     outlineHue           = 0;
     outlineColor         = new Color(255, 255, 255);
     outlineSprite        = new SpriteData();
     outlineSprite.Layer  = 4f / 100;
     outlineSprite.Size   = new Vector2(32, 32);
     outlineSprite.Offset = outlineSprite.Size / 2;
     Speed         = 3;
     Sprite.Size   = new Vector2(24, 24);
     Sprite.Offset = Sprite.Size / 2;
     Hitbox        = AddVectorToRect(new Rectangle(0, 0, (int)Sprite.Size.X, (int)Sprite.Size.Y), -Sprite.Offset * 2);
     Sprite.Layer  = 5f / 100;
     AssetManager.RequestTexture("touhouBall", (frames) =>
     {
         Sprite.Change(frames);
     });
     AssetManager.RequestTexture("touhouBallOutline", (frames) =>
     {
         outlineSprite.Change(frames);
     });
 }
Exemplo n.º 2
0
        public DirtTile(Room room, Vector2 pos) : base(room, pos, new Vector2(32, 32))
        {
            string[] options   = new string[] { "dirt", "dirt2" };
            int      optionInd = randGen.Next(options.Length);

            AssetManager.RequestTexture(options[optionInd], (frames) =>
            {
                Sprite       = new SpriteData(frames);
                Sprite.Size  = new Vector2(32, 32);
                Sprite.Speed = 0;
                Sprite.Layer = Layer;
                if (!Room.CheckTileAt(Position + new Vector2(Size.X, 0)))
                {
                    GameTile tl = new DirtSideRightTile(Room, Position);
                    tl.Layer    = Layer + 0.01f;
                    Room.GameTileList.Add(tl);
                }
                if (!Room.CheckTileAt(Position + new Vector2(0, Size.Y)))
                {
                    GameTile tl = new DirtSideBottomTile(Room, Position);
                    tl.Layer    = Layer + 0.01f;
                    Room.GameTileList.Add(tl);
                }
                if (!Room.CheckTileAt(Position - new Vector2(Size.X, 0)))
                {
                    GameTile tl = new DirtSideLeftTile(Room, Position);
                    tl.Layer    = Layer + 0.01f;
                    Room.GameTileList.Add(tl);
                }
                if (!Room.CheckTileAt(Position - new Vector2(0, Size.Y)))
                {
                    GameTile tl = new DirtSideTopTile(Room, Position);
                    tl.Layer    = Layer + 0.01f;
                    Room.GameTileList.Add(tl);
                }
            });
        }
Exemplo n.º 3
0
 public BossObject(Room room, Vector2 pos) : base(room, pos, new Vector2(0, 0), new Vector2(64, 64))
 {
     life         = maxLife;
     stepCooldown = 0;
     sprayDir     = minSprayDir;
     attackMode   = 3;
     target       = null;
     remainingStepsBeforeChange = stepsBeforeAttackChange;
     Sprite               = new SpriteData();
     Sprite.Size          = new Vector2(64, 64);
     Sprite.Layer         = Layer;
     Sprite.Speed         = 0.1f;
     Light                = new LightData();
     Light.Brightness     = 64;
     Light.Position       = Position + (Size / 2);
     healthbar            = new SpriteData();
     healthbar.Size       = new Vector2(384, 32);
     healthbar.Source     = new Rectangle(0, 0, (int)healthbar.Size.X, (int)healthbar.Size.Y);
     healthbar.Layer      = 0.98f;
     healthbarFrame       = new SpriteData();
     healthbarFrame.Size  = new Vector2(384, 32);
     healthbarFrame.Layer = 0.99f;
     drawHealthbarFrom    = new Vector2((Room.Game.GraphicsDevice.Viewport.Width - healthbarFrame.Size.X) / 2, healthbarTopPadding);
     AssetManager.RequestTexture("clownpiece", (frames) =>
     {
         Sprite.Change(frames);
     });
     AssetManager.RequestTexture("clownpieceHealthbar", (frames) =>
     {
         healthbar.Change(frames);
     });
     AssetManager.RequestTexture("clownpieceHealthbarFrame", (frames) =>
     {
         healthbarFrame.Change(frames);
     });
 }
Exemplo n.º 4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="room"></param>
 /// <param name="pos"></param>
 /// <param name="dir">radians</param>
 public BulletObject(Room room, Vector2 pos, float dir) : base(room, pos, new Vector2(0, 0), new Vector2(16, 16))
 {
     DirectionVector = new Vector2((float)Math.Cos(dir), (float)Math.Sin(dir));
     Speed           = 4;
     Sprite          = new SpriteData();
 }