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); } }
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); }
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'"); } }
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()); }
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); }
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); }