public IEnumerator theme_asset_is_null() { SceneManager.LoadScene(0); MapGenerator generator = GameObject.Find("MapGenerator").GetComponent <MapGenerator>(); generator.Generate(); GridAssetSpawner spawner = generator.gameObject.GetComponent <GridAssetSpawner>(); GridAssets assets = new GameObject().AddComponent <GridAssets>(); GameObject assetPrefab = new GameObject(); GridAssetTheme[] themes = new GridAssetTheme[3]; for (int i = 0; i < themes.Length; ++i) { themes[i] = ScriptableObject.CreateInstance <GridAssetTheme>(); themes[i].SelectedTheme = GridAssetTheme.Theme.Forest; } themes[0].Sprites = new Sprite[9]; for (int i = 0; i < themes[0].Sprites.Length; ++i) { themes[0].Sprites[i] = Sprite.Create(new Texture2D(10, 10), new Rect(), Vector2.down); } assetPrefab.AddComponent <Tile>(); assets.Init(assetPrefab, themes); spawner.Init(assets); yield return(new WaitForEndOfFrame()); Assert.Throws <System.Exception>(() => generator.Generate(), $"The {generator.MapTheme.ToString()} (attached to: {spawner.name}) is null!"); }
/// <summary> /// Initialize this Object with the defined parameters. /// </summary> /// <param name="_assetSpawner">Asset Spawner required to call spawning functions</param> /// <param name="_currentTile">The tile this object is currently situated on</param> public void Init(GridAssetSpawner _assetSpawner, Tile _currentTile) { currentTile = _currentTile; assetSpawner = _assetSpawner; }