예제 #1
0
    protected virtual void Awake()
    {
        grid = TileGrid.GetGrid;
        if (category == Category.Walls)
        {
            walkable = false;
        }
        IsWalkable = true;
        sprite     = transform.GetChild(0).gameObject;

        //Add surrounding effect to make the wall stand out
        if (category == Category.Walls)
        {
            GameObject go = new GameObject("Wall");
            go.transform.position = transform.position;
            go.transform.SetParent(sprite.transform);
            go.AddComponent <SpriteRenderer>();
            wallVisual = go.GetComponent <SpriteRenderer>();
            wallVisual.sortingOrder = sprite.GetComponent <SpriteRenderer>().sortingOrder + 1;
            wallVisual.color        = AverageColorFromTexture(sprite.GetComponent <SpriteRenderer>().sprite);
        }
        else if (category == Category.Foliage)
        {
            placeholder.GetComponent <SpriteRenderer>().sprite = grid.GetSpriteOfTile(tileUnderneath);
        }
    }
예제 #2
0
 protected virtual void Start()
 {
     Built = built;
     if (!built)
     {
         backgroundTile = new GameObject("BackgroundTile");
         backgroundTile.transform.position = transform.position;
         backgroundTile.transform.SetParent(transform);
         //backgroundTile = Instantiate(new GameObject(), transform.position, transform.rotation, transform);
         backgroundTile.AddComponent <SpriteRenderer>();
         backgroundTile.GetComponent <SpriteRenderer>().sprite       = grid.GetSpriteOfTile(tileUnderneath);
         backgroundTile.GetComponent <SpriteRenderer>().sortingOrder = placeholder.GetComponent <SpriteRenderer>().sortingOrder - 1;
     }
 }