Ejemplo n.º 1
0
        public MapObject(DungeonObjectId id, Vector3 initialPosition, Vector2 size, bool onFloor)
        {
            _sprite = AttachChild(new MapSprite <DungeonObjectId>(
                                      id,
                                      DrawLayer.Underlay,
                                      SpriteKeyFlags.UseCylindrical,
                                      SpriteFlags.FlipVertical |
                                      (onFloor
                    ? SpriteFlags.Floor | SpriteFlags.MidAligned
                    : SpriteFlags.Billboard))
            {
                Size     = size,
                Position = initialPosition
            });
            _sprite.Selected += (sender, args) => args.RegisterHit(this);

            On <SlowClockEvent>(e =>
            {
                if (_sprite.FrameCount == 1)
                {
                    Exchange.Unsubscribe <SlowClockEvent>(this);
                }
                _sprite.Frame += e.Delta;
            });
        }
Ejemplo n.º 2
0
 public MapObjectSprite(DungeonObjectId id, Vector3 position, Vector2 size, bool onFloor) : base(Handlers)
 {
     _id       = id;
     _position = position;
     _onFloor  = onFloor;
     _size     = size;
 }
Ejemplo n.º 3
0
 public MapObject(DungeonObjectId id, Vector3 initialPosition, Vector2 size, bool onFloor) : base(Handlers)
 {
     _initialPosition = initialPosition;
     _sprite          = new MapSprite <DungeonObjectId>(id, DrawLayer.Underlay, 0,
                                                        SpriteFlags.FlipVertical |
                                                        (onFloor
             ? SpriteFlags.Floor | SpriteFlags.MidAligned
             : SpriteFlags.Billboard));
     _sprite.Size = size;
     Children.Add(_sprite);
 }