예제 #1
0
        public static SpriteInstanceData Centred(Vector3 position, Vector2 size, SpriteLease lease, int subImageId, SpriteFlags flags)
        {
            if (lease == null)
            {
                throw new ArgumentNullException(nameof(lease));
            }
            var subImage = lease.Key.Texture.GetSubImageDetails(subImageId);

            return(Centred(position, size, subImage, flags));
        }
예제 #2
0
 public WeakSpriteReference MakeWeakReference(SpriteLease lease, int index)
 {
     lock (_syncRoot)
     {
         if (lease == null)
         {
             return(new WeakSpriteReference(null, null, 0));
         }
         _sprites.TryGetValue(lease.Key, out var entry);
         return(new WeakSpriteReference(entry, lease, index));
     }
 }
예제 #3
0
 public WeakSpriteReference(MultiSprite multiSprite, SpriteLease lease, int offset)
 {
     _multiSprite = multiSprite;
     _lease       = new WeakReference <SpriteLease>(lease);
     _offset      = offset;
 }
예제 #4
0
 public static SpriteInstanceData BottomMid(Vector3 position, Vector2 size, SpriteLease lease, int subImage, SpriteFlags flags)
 {
     lease.Key.Texture.GetSubImageDetails(subImage, out _, out var tp, out var ts, out var tl);
     return(BottomMid(position, size, tp, ts, tl, flags));
 }
예제 #5
0
 public WeakSpriteReference(SpriteBatch spriteBatch, SpriteLease lease, int offset)
 {
     _spriteBatch = spriteBatch;
     _lease       = new WeakReference <SpriteLease>(lease);
     _offset      = offset;
 }
예제 #6
0
        public static SpriteInstanceData BottomMid(Vector3 position, Vector2 size, SpriteLease lease, int subImageId, SpriteFlags flags)
        {
            var subImage = lease.Key.Texture.GetSubImageDetails(subImageId);

            return(BottomMid(position, size, subImage, flags));
        }