public void SetupGameObject(GameObject go) { if (sprite != null) { SpriteRenderer spriteRenderer = go.GetComponent <SpriteRenderer>(); if (spriteRenderer == null) { spriteRenderer = go.AddComponent <SpriteRenderer>(); } spriteRenderer.sprite = sprite; if (FlagUtil.IsSet(tileFlags, ETileAttribute.FLIPX)) { spriteRenderer.flipX = true; } if (FlagUtil.IsSet(tileFlags, ETileAttribute.FLIPY)) { spriteRenderer.flipY = true; } if (FlagUtil.IsExactly(tileFlags, (ETileAttribute.ROTATE180 | ETileAttribute.ROTATE90))) { go.transform.Rotate(Vector3.back * 270); } else if (FlagUtil.IsExactly(tileFlags, ETileAttribute.ROTATE180)) { go.transform.Rotate(Vector3.back * 180); } else if (FlagUtil.IsExactly(tileFlags, ETileAttribute.ROTATE90)) { go.transform.Rotate(Vector3.back * 90); } } }
public List <TileSprite> CreateTileSprites() { List <TileSprite> tileSprites = new List <TileSprite>(); if (sprite == null) { return(tileSprites); } tileSprites.Add(new TileSprite(sprite)); for (ETileAttribute eFlag = ETileAttribute.FLIPX; eFlag < spriteFlags; ++eFlag) { if (FlagUtil.IsExactly(spriteFlags, eFlag)) { tileSprites.Add(new TileSprite(sprite, eFlag)); } } return(tileSprites); }