Beispiel #1
0
    private void InitSprites()
    {
        string file = overrideFilename ? $"{ASSETS_PATH}{filename}" : CLEO_CURRENCY_FONT_FILE;

        if (File.Exists(file) && reAddSprites)
        {
            SpriteSlicer.SliceSprite(file, 9, 11);

            var sprites = AssetDatabase.LoadAllAssetsAtPath(file)
                          .OfType <Sprite>()
                          .ToArray();

            for (int i = 0; i < sprites.Length; i++)
            {
                Sprite sprite = sprites[i];
                switch (i)
                {
                case 0:
                    this.zero = sprite;
                    break;

                case 1:
                    this.one = sprite;
                    break;

                case 2:
                    this.two = sprite;
                    break;

                case 3:
                    this.three = sprite;
                    break;

                case 4:
                    this.four = sprite;
                    break;

                case 5:
                    this.five = sprite;
                    break;

                case 6:
                    this.six = sprite;
                    break;

                case 7:
                    this.seven = sprite;
                    break;

                case 8:
                    this.eight = sprite;
                    break;

                case 9:
                    this.nine = sprite;
                    break;
                }
            }
        }
    }
Beispiel #2
0
    void Load(SpriteColliderData scd)
    {
        spriteColliderData = scd;

        clipSprites   = SpriteSlicer.GetSpritesFromClip(spriteColliderData.Clip);
        slicedSprites = SpriteSlicer.SliceSprites(clipSprites);

        selectedFrame        = 0;
        selectedColliderData = -1;
        selectedFrameChanged = true;
    }
Beispiel #3
0
    public static void Slice(SliceInfo sliceInfo, Vector3 start, Vector3 direction, float punch = 1.0f)
    {
        SpriteSlicer slicer = sliceInfo.gameObject.AddComponent <SpriteSlicer>();

        slicer.sliceInfo = sliceInfo;

        Transform t = sliceInfo.transform;

        slicer.start     = t.InverseTransformPoint(start);
        slicer.direction = t.InverseTransformDirection(direction);
        slicer.punch     = punch;
    }
    IEnumerator Shoot(float delay)
    {
        yield return(new WaitForSeconds(delay));

        Vector3 v1 = transform.TransformPoint(-0.5f * Vector3.up);
        Vector3 v2 = transform.TransformPoint(0.5f * Vector3.up);

        SpriteSlicer.SliceAll(v1, v2);

        GetComponent <MeshRenderer>().material.color = Color.red;

        Destroy(gameObject);
    }
    public List <SliceInfo> Slice(Vector3 from, Vector3 to)
    {
        List <SliceInfo> info = SpriteSlicer.SliceAll(from, to);

        if (slicePrefab)
        {
            GameObject obj = GameObject.Instantiate <GameObject>(slicePrefab);
            obj.transform.localPosition = from;
            obj.transform.localRotation = Quaternion.FromToRotation(Vector3.right, to - from);
        }

        SetSlice(true);

        return(info);
    }
Beispiel #6
0
    public void SlicesAwkwardSize()
    {
        var expectedImporter    = AssetImporter.GetAtPath(pathToExpectedOffset) as TextureImporter;
        var expectedSpritesheet = expectedImporter.spritesheet;

        var slicingOptions = new SpriteSlicingOptions();

        slicingOptions.CellSize      = new Vector2(80, 80);
        slicingOptions.ImportMode    = UnityEditor.SpriteImportMode.Multiple;
        slicingOptions.Pivot         = SpriteAlignment.Center;
        slicingOptions.SlicingMethod = SpriteSlicingOptions.GridSlicingMethod.SliceAll;
        SpriteMetaData[] createdSpritesheet = SpriteSlicer.CreateSpriteSheetForTexture(SampleTexture, slicingOptions);

        CompareFirstAndLastRects(expectedSpritesheet, createdSpritesheet);
    }
Beispiel #7
0
    public void CorrectlySlices()
    {
        var expectedImporter    = AssetImporter.GetAtPath(pathToExpectedOffset) as TextureImporter;
        var expectedSpritesheet = expectedImporter.spritesheet;

        var slicingOptions = new SpriteSlicingOptions();

        slicingOptions.CellSize      = new Vector2(86, 86);
        slicingOptions.ImportMode    = UnityEditor.SpriteImportMode.Multiple;
        slicingOptions.Pivot         = SpriteAlignment.Center;
        slicingOptions.SlicingMethod = SpriteSlicingOptions.GridSlicingMethod.SliceAll;
        SpriteMetaData[] createdSpritesheet = SpriteSlicer.CreateSpriteSheetForTexture(SampleTexture, slicingOptions);

        Assert.AreEqual(expectedSpritesheet.Length, createdSpritesheet.Length,
                        "Number of Slices not equal to NumExpectedSlices");
    }
Beispiel #8
0
    void OnEnable()
    {
        instance = this;

        if (spriteColliderData is SpriteColliderData data && data.Clip is AnimationClip clip)
        {
            clipSprites   = SpriteSlicer.GetSpritesFromClip(clip);
            slicedSprites = SpriteSlicer.SliceSprites(clipSprites);
        }

        if (slicer != null)
        {
            SetupSlicer();
        }

        isStyleSetup = false;
    }
        private static bool CreateSpriteForTexture2D(Texture2D spriteTexture)
        {
            bool formatted = false;

            Rect   rect   = new Rect(0, 0, spriteTexture.width, spriteTexture.height);
            Sprite sprite = Sprite.Create(spriteTexture, rect, new Vector2(0.5f, 0.5f), PIXELS_PER_UNIT);

            string texturePath = AssetDatabase.GetAssetPath(spriteTexture);

            Debug.Log($"so - texturePath={texturePath}");

            if (!string.IsNullOrEmpty(texturePath))
            {
                SpriteSlicer.SliceSprite(texturePath, sprite.bounds.size.x, sprite.bounds.size.y, rect);
                formatted = true;
            }

            return(formatted);
        }
Beispiel #10
0
    static void Init()
    {
        SpriteSlicer window = (SpriteSlicer)EditorWindow.GetWindow(typeof(SpriteSlicer));

        window.Show();
    }