problème : - le range d'attaque n'apparaissait pas sur le placeholder des unités - le outline ne fonctionnait pas bien sur toutes les unités - le placeholder étant opaque, on ne pouvait pas voir la tuile en dessous solutions : - utiliser les bounds du collider de détection pour tracer le range des unités sur le placeholder - utiliser un shader pour tracer un outline colorable autour des unités - rendre le placeholder plus transparent
20 lines
573 B
C#
20 lines
573 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class TilePlacementButton : UnitPlacementButton
|
|
{
|
|
public LevelTile tile;
|
|
protected override void Place()
|
|
{
|
|
var placeholder = new GameObject(tile.name);
|
|
var comp = placeholder.AddComponent<TilePlaceholder>();
|
|
comp.Tile = tile;
|
|
var rend = placeholder.AddComponent<SpriteRenderer>();
|
|
rend.sprite = tile.Sprite;
|
|
rend.sortingLayerName = "Character";
|
|
rend.material = _outlineMaterial;
|
|
rend.sortingOrder = 2;
|
|
}
|
|
}
|