Пример #1
0
    void OnTriggerEnter2D(Collider2D other)
    {
        Seed  seed  = other.GetComponent <Seed>();
        Spore spore = other.GetComponent <Spore>();

        if (null != seed && seed.IsCaptured)
        {
            return;
        }

        if ((IsFertil || GameManager.Instance.IsNewFlowerReplaceOldOne) && null != seed)
        {
            seed.IsCaptured = true;

            int previousLevel = 0;

            if (GameManager.Instance.IsNewFlowerReplaceOldOne)
            {
                if (null != PlantedFlower)
                {
                    FlowerRoot flower     = PlantedFlower.GetComponent <FlowerRoot>();
                    FlowerRoot seedFlower = seed.Flower.GetComponent <FlowerRoot>();

                    if (flower.Level == seedFlower.Level && flower.GrowthLevel < 3)
                    {
                        previousLevel = flower.GrowthLevel;
                        PlantedFlower.GetComponent <FlowerRoot>().Kill();
                        CreateTheFlower(seed, previousLevel + 1, this.transform);
                    }
                }
                else
                {
                    CreateTheFlower(seed, 1, this.transform);
                }

                seed.StopFade();
                ScaleObject scale = seed.gameObject.AddComponent <ScaleObject>();
                scale.GetComponent <Rigidbody2D>().isKinematic = true;
                scale.Scale(0.2f, Vector3.zero, true, Center.position, AbsorbIsFinish);
            }
        }

        if (null != spore)
        {
            if ((Time.time - spore.BirthTime) > 1f)
            {
                spore.Kill();
            }
        }
    }
Пример #2
0
 public void ScaleOrbitter(float time, Vector3 scaleToSize)
 {
     StartCoroutine(objectScalerScript.Scale(time, scaleToSize));
 }