/// <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);
        }
Exemple #2
0
 public void Init(FlowerTemplate template = null)
 {
     this.template   = template;
     renderer.sprite = template.Agent;
     if (template != null)
     {
         template.Init(this);
     }
 }