using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.Tilemaps; /// /// Instatiates Tiles at beginning of the game /// public class TileController : MonoBehaviour { #region Singleton public static TileController instance; private void Awake() { if (instance != null) { Debug.LogWarning("More than one instance of TileController found"); } instance = this; } #endregion public GameObject tile; public GameObject cameraGameObject; public List> Tiles; // Start is called before the first frame update void Start() { Tiles = new List>(); Camera camera = cameraGameObject.GetComponent(); Vector3 screen = camera.ViewportToWorldPoint(new Vector3(1, 1, camera.nearClipPlane)); int x = Convert.ToInt32(Math.Ceiling(screen.x)); int y = Convert.ToInt32(Math.Ceiling(screen.y)); for(int xx = -x; xx <= x; xx++) { List temp = new List(); for(int yy = -y; yy <= y; yy++) { if(tile != null) { temp.Add(Instantiate(tile, new Vector3(xx, yy, 0), Quaternion.identity)); } } Tiles.Add(temp); } } }