La feature était désorganisé et il n'y avait rien pour tester ou démontrer la fonctionalité J'ai rangé tous les scripts dans des dossiers enfants de LevelEditor. Tous les fichiers du level editor sont dans le namespace GatherAndDefend.LevelEditor. J'ai ajouté un type de tile qui peut instantier un prefab au startup. J'ai créé un level de test.
24 lines
838 B
C#
24 lines
838 B
C#
using UnityEngine;
|
|
using UnityEngine.Tilemaps;
|
|
|
|
[CreateAssetMenu(menuName = "Gather And Defend/Spawner Tile")]
|
|
public class SpawnerTile : TileBase
|
|
{
|
|
[SerializeField]
|
|
private Sprite _sprite;
|
|
[SerializeField]
|
|
private GameObject _prefab;
|
|
|
|
public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData)
|
|
{
|
|
tileData.sprite = _sprite;
|
|
tileData.transform.SetTRS(Vector3.zero, Quaternion.identity, Vector3.one);
|
|
tileData.color = Color.white;
|
|
}
|
|
public override bool StartUp(Vector3Int position, ITilemap tilemap, GameObject go)
|
|
{
|
|
if (!Application.isPlaying) return base.StartUp(position, tilemap, go);
|
|
Instantiate(_prefab, new Vector3(0.5f, 0.5f) + position, Quaternion.identity);
|
|
return base.StartUp(position, tilemap, go);
|
|
}
|
|
} |