/// <summary> /// GENERATE THE GARDEN ON AWAKE /// </summary> protected virtual void Awake() { int width = template.Width; int height = template.Height; var gp = gardenPiece.GetComponent <GardenPiece>(); var bounds = gp.GetBounds(); var w = bounds.size.x; var h = bounds.size.y; var initPos = transform.position; for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { int index = GardenTemplate.GetCorrectIndex(template, x, y); if (!template[index]) { continue; } var pos = initPos + new Vector3(w * x, -h * y); var gpiece = Create(pos, x, y); var flower = CreateFlower(pos, gpiece); var flowerControl = flower.GetComponent <FlowerController>(); FlowerTemplate flowerTemp = flowers[UnityRandom.Range(0, flowers.Length)]; flowerControl.Init(flowerTemp); } } CreateGardener(transform.position); }
public void Init(FlowerTemplate template = null) { this.template = template; renderer.sprite = template.Agent; if (template != null) { template.Init(this); } }