gather-and-defend/Assets/Scripts/GameObjectPlacementButton.cs
Felix Boucher 8dc77e1772 enlevé besoin d'un placeholder statique par unit
problème : créer un placeholder par unit allait être un sale hassle

solution : maintenant, le placeholder est créé dynamiquement

note : also, j'ai ajouté un système pour ajouter des tiles
2023-06-08 23:14:07 -04:00

28 lines
1.0 KiB
C#

using UnityEngine;
public class GameObjectPlacementButton : UnitPlacementButton
{
[SerializeField]
private GameObject _prefab;
protected override void Place()
{
var instance = Instantiate(_prefab);
foreach (var comp in instance.transform.GetAllComponents<Rigidbody2D>()) Destroy(comp);
foreach (var comp in instance.transform.GetAllComponents<Collider2D>()) Destroy(comp);
foreach (var comp in instance.transform.GetAllComponents<MonoBehaviour>()) Destroy(comp);
var placeholder = instance.AddComponent<ObjectDraggablePlaceholder>();
placeholder.Prefab = _prefab;
var outline = new GameObject("Outline");
outline.transform.SetParent(instance.transform);
outline.transform.localPosition = Vector2.zero;
var rend = outline.AddComponent<SpriteRenderer>();
rend.sortingOrder = 1;
rend.sprite = Sprite.Create(new Texture2D(100, 100), new Rect(0, 0, 100, 100), Vector2.one * 0.5f);
placeholder.Outline = outline.transform;
}
}