예제 #1
0
    /// <summary>
    /// attempts to keep same sprite size
    /// </summary>
    /// <param name="image"></param>
    /// <param name="protoSprite"></param>
    public static void SetProtoSprite(this SpriteRenderer image, ProtoGameSprite protoSprite)
    {
        var originalSpriteSize = image.sprite.rect;

        image.sprite = protoSprite.ToSprite();
        image.color  = protoSprite.ToGameSpriteImage().Color;

        var newSpriteSize = image.sprite.rect;

        var scaleFactorWidth  = originalSpriteSize.width / newSpriteSize.width;
        var scaleFactorHeight = originalSpriteSize.height / newSpriteSize.height;

        image.transform.localScale = new Vector3(scaleFactorWidth * image.transform.localScale.x, scaleFactorHeight * image.transform.localScale.y, image.transform.localScale.z);
    }
예제 #2
0
 public static void SetProtoSprite(this Image image, ProtoGameSprite protoSprite)
 {
     image.sprite = protoSprite.ToSprite();
     image.color  = protoSprite.ToGameSpriteImage().Color;
 }