public void RemoveSprite(SpriteCollection.SpriteData sprite, Common.State state)
        {
            List <int> sprites = idleSprites;

            switch (state)
            {
            case Common.State.IDLE:
                sprites = idleSprites;
                break;

            case Common.State.WALK:
                sprites = walkSprites;
                break;

            case Common.State.ATTACK:
                sprites = attackSprites;
                break;

            case Common.State.DESTROYED:
                sprites = destroyedSprites;
                break;
            }

            if (sprites.Contains(sprite.id))
            {
                sprites.Remove(sprite.id);
            }
        }
Esempio n. 2
0
    public void InitSpriteAnimations()
    {
        if (selectedItemIndex == -1)
        {
            return;
        }

        ItemsCollection.ItemData itemData = itemsCollection.list[selectedItemIndex];

        this.spriteAnimationList = new List <SpriteAnimationItem>();
        foreach (int spriteId in itemData.GetSprites((Common.State)state))
        {
            SpriteCollection.SpriteData sprite = spriteCollection.GetSprite(spriteId);

            SpriteAnimationItem spriteAnimationData = new SpriteAnimationItem();
            spriteAnimationData.sprite          = sprite;
            spriteAnimationData.lastUpdatedTime = Time.realtimeSinceStartup;

            SpriteCollection.TextureData textureData = GetTextureDataDirection(sprite);

            spriteAnimationData.numberOfColumns = textureData.numberOfColumns;
            spriteAnimationData.numberOfRows    = textureData.numberOfRows;

            this.spriteAnimationList.Add(spriteAnimationData);
        }
        this.spriteAnimationList.Sort(SortByDepth);
    }
Esempio n. 3
0
    private SpriteCollection.TextureData GetTextureDataDirection(SpriteCollection.SpriteData sprite)
    {
        SpriteCollection.TextureData selectedTextureData = sprite.bottomTexture;

        switch ((Common.Direction)direction)
        {
        case Common.Direction.BOTTOM:
            selectedTextureData = sprite.bottomTexture;
            break;

        case Common.Direction.BOTTOM_RIGHT:
            selectedTextureData = sprite.bottomRightTexture;
            break;

        case Common.Direction.RIGHT:
            selectedTextureData = sprite.rightTexture;
            break;

        case Common.Direction.TOP_RIGHT:
            selectedTextureData = sprite.topRightTexture;
            break;

        case Common.Direction.TOP:
            selectedTextureData = sprite.topTexture;
            break;
        }

        return(selectedTextureData);
    }
    public static void LoadSprites()
    {
        sprites = new Dictionary <int, SpriteCollection.SpriteData> ();

        SpriteCollection spriteCollection = Resources.Load("SpriteCollection", typeof(SpriteCollection)) as SpriteCollection;

        if (spriteCollection != null)
        {
            for (int index = 0; index < spriteCollection.list.Count; index++)
            {
                SpriteCollection.SpriteData spriteData = spriteCollection.list [index];
                sprites.Add(spriteData.id, spriteData);
            }
        }
        else
        {
            Debug.LogError("SpriteCollection is missing! please go to 'Windows/Item Editor'");
        }
    }
Esempio n. 5
0
    void RenderSpritesList()
    {
        ItemsCollection.ItemData itemData = itemsCollection.list[selectedItemIndex];

        foreach (int spriteId in itemData.GetSprites((Common.State)state))
        {
            SpriteCollection.SpriteData sprite = spriteCollection.GetSprite(spriteId);

            GUILayout.BeginHorizontal();
            GUILayout.Space(20);

            //BOX
            Rect pos = GUILayoutUtility.GetLastRect();
            pos.height = 25;
            pos.x     += 20;
            pos.width  = WidthOfRightPanel - 25;
            GUI.Box(pos, "", "box");

            GUILayout.Label(sprite.name);
            GUILayout.FlexibleSpace();
            if (GUILayout.Button("-"))
            {
                removedSprites.Add(sprite);
            }

            GUILayout.EndHorizontal();
            GUILayout.Space(5);
        }

        foreach (SpriteCollection.SpriteData sprite in removedSprites)
        {
            itemData.RemoveSprite(sprite, (Common.State)state);
            this.InitSpriteAnimations();
        }

        if (removedSprites.Count != null)
        {
            removedSprites = new List <SpriteCollection.SpriteData>();
        }
    }
    private SpriteCollection.TextureData[] _GetCurrentImageLayers()
    {
        List <SpriteCollection.TextureData> layers = new List <SpriteCollection.TextureData>();

        Common.State     state     = BaseItem.state;
        Common.Direction direction = BaseItem.direction;

        List <int> spriteIds = BaseItem.itemData.GetSprites(state);

        if (spriteIds == null || spriteIds.Count == 0)
        {
            return(null);
        }

        for (int index = 0; index < spriteIds.Count; index++)
        {
            SpriteCollection.SpriteData sprite = Sprites.GetSprite(spriteIds[index]);
            layers.Add(sprite.GetTextureData(direction));
        }

        return(layers.ToArray());
    }
Esempio n. 7
0
    private void UpdateDataValues()
    {
        if (selectedSpriteIndex == -1)
        {
            return;
        }
        SpriteCollection.SpriteData spriteData = spriteCollection.list [selectedSpriteIndex];

        spriteData.name = this.name;

        //update textures
        spriteData.bottomTexture.texture      = textureBottom;
        spriteData.bottomRightTexture.texture = textureBottomRight;
        spriteData.rightTexture.texture       = textureRight;
        spriteData.topRightTexture.texture    = textureTopRight;
        spriteData.topTexture.texture         = textureTop;

        SpriteCollection.TextureData selectedTextureData = spriteData.bottomTexture;
        if (direction == 0)
        {
            selectedTextureData = spriteData.bottomTexture;
        }
        else if (direction == 1)
        {
            selectedTextureData = spriteData.bottomRightTexture;
        }
        else if (direction == 2)
        {
            selectedTextureData = spriteData.rightTexture;
        }
        else if (direction == 3)
        {
            selectedTextureData = spriteData.topRightTexture;
        }
        else if (direction == 4)
        {
            selectedTextureData = spriteData.topTexture;
        }

        if (offsetX != selectedTextureData.offsetX)
        {
            selectedTextureData.offsetX = offsetX;
        }

        if (offsetY != selectedTextureData.offsetY)
        {
            selectedTextureData.offsetY = offsetY;
        }

        if (scale != selectedTextureData.scale)
        {
            selectedTextureData.scale = scale;
        }

        if (numberOfColumns != selectedTextureData.numberOfColumns)
        {
            selectedTextureData.numberOfColumns = numberOfColumns;
        }

        if (numberOfRows != selectedTextureData.numberOfRows)
        {
            selectedTextureData.numberOfRows = numberOfRows;
        }

        if (framesCount != selectedTextureData.framesCount)
        {
            selectedTextureData.framesCount = framesCount;
        }

        if (fps != selectedTextureData.fps)
        {
            selectedTextureData.fps = fps;
        }

        if (gridSize != spriteData.gridSize)
        {
            spriteData.gridSize = gridSize;
        }

        if (renderingLayer != (int)spriteData.renderingLayer)
        {
            spriteData.renderingLayer = (Common.RenderingLayer)renderingLayer;
        }

        if (renderingOrder != spriteData.renderingOrder)
        {
            spriteData.renderingOrder = renderingOrder;
        }

        EditorUtility.SetDirty(spriteCollection);
    }
Esempio n. 8
0
    private void LoadDataValues()
    {
        if (selectedSpriteIndex == -1)
        {
            return;
        }
        SpriteCollection.SpriteData spriteData = spriteCollection.list [selectedSpriteIndex];

        name = spriteData.name;

        //update textures
        textureBottom      = spriteData.bottomTexture.texture;
        textureBottomRight = spriteData.bottomRightTexture.texture;
        textureRight       = spriteData.rightTexture.texture;
        textureTopRight    = spriteData.topRightTexture.texture;
        textureTop         = spriteData.topTexture.texture;

        SpriteCollection.TextureData selectedTextureData = spriteData.bottomTexture;
        if (direction == 0)
        {
            selectedTextureData = spriteData.bottomTexture;
        }
        else if (direction == 1)
        {
            selectedTextureData = spriteData.bottomRightTexture;
        }
        else if (direction == 2)
        {
            selectedTextureData = spriteData.rightTexture;
        }
        else if (direction == 3)
        {
            selectedTextureData = spriteData.topRightTexture;
        }
        else if (direction == 4)
        {
            selectedTextureData = spriteData.topTexture;
        }

        gridSize = spriteData.gridSize;
        if (gridSize == 0)
        {
            gridTexture = null;
        }
        else if (gridSize == 1)
        {
            gridTexture = Resources.Load("grid_1x1", typeof(Texture2D)) as Texture2D;
        }
        else if (gridSize == 2)
        {
            gridTexture = Resources.Load("grid_2x2", typeof(Texture2D)) as Texture2D;
        }
        else if (gridSize == 3)
        {
            gridTexture = Resources.Load("grid_3x3", typeof(Texture2D)) as Texture2D;
        }
        else if (gridSize == 4)
        {
            gridTexture = Resources.Load("grid_4x4", typeof(Texture2D)) as Texture2D;
        }
        else if (gridSize == 5)
        {
            gridTexture = Resources.Load("grid_5x5", typeof(Texture2D)) as Texture2D;
        }
        else if (gridSize == 6)
        {
            gridTexture = Resources.Load("grid_6x6", typeof(Texture2D)) as Texture2D;
        }

        renderingLayer = (int)spriteData.renderingLayer;

        renderingOrder       = spriteData.renderingOrder;
        renderingOrderString = spriteData.renderingOrder.ToString();


        offsetX       = (int)selectedTextureData.offsetX;
        offsetXString = offsetX.ToString();

        offsetY       = (int)selectedTextureData.offsetY;
        offsetYString = offsetY.ToString();

        scale       = (int)selectedTextureData.scale;
        scaleString = scale.ToString();


        numberOfColumns       = (int)selectedTextureData.numberOfColumns;
        numberOfColumnsString = numberOfColumns.ToString();

        numberOfRows       = (int)selectedTextureData.numberOfRows;
        numberOfRowsString = numberOfRows.ToString();

        framesCount       = (int)selectedTextureData.framesCount;
        framesCountString = framesCount.ToString();

        fps       = (int)selectedTextureData.fps;
        fpsString = fps.ToString();
    }
 public static SpriteCollection.SpriteData GetSprite(int spriteId)
 {
     SpriteCollection.SpriteData sprite = null;
     sprites.TryGetValue(spriteId, out sprite);
     return(sprite);
 }