gather-and-defend/Assets/Scripts/Drag&Drop/TilePlacementButton.cs

45 lines
1.4 KiB
C#

using UnityEngine;
using UnityEngine.EventSystems;
public class TilePlacementButton : UnitPlacementButton
{
public LevelTile tile;
protected override bool CanPlace()
{
return ResourceManager.Instance.EnoughFor(_unitCardInformation.Rock, _unitCardInformation.Wood, _unitCardInformation.Food) && base.CanPlace();
}
protected override DraggablePlaceholder Place()
{
var instance = new GameObject(tile.name);
var placeholder = instance.AddComponent<TilePlaceholder>();
placeholder.Tile = tile;
var rend = instance.AddComponent<SpriteRenderer>();
rend.sprite = tile.Sprite;
rend.sortingLayerName = "Character";
rend.material = OutlineMaterial;
rend.sortingOrder = 2;
return placeholder;
}
public override void OnPointerEnter(PointerEventData eventData)
{
string tooltipDescription;
if (_unitCardInformation?.TooltipString.Length > 0)
{
tooltipDescription = _unitCardInformation.TooltipString;
}
else
{
tooltipDescription = "Exemple de description de tuile pour " + _unitCardInformation.name.ToLower();
}
TooltipManager.Instance.ShowTooltip(tooltipDescription, "0", "0", "0");
}
public override void OnPointerExit(PointerEventData eventData)
{
TooltipManager.Instance.HideToolTip();
}
}