public void Initialize(FlowerBase flower)
 {
     if (Flower == null)
     {
         Flower = flower;
     }
 }
Beispiel #2
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.tag == "Player")
        {
            return;
        }
        if (daggerState == DaggerState.Flying)
        {
            flightVector = new Vector2(myRigidbody.velocity.x, -fallSpeed);
            AudioManager.instance.PlaySfx("Collide");
            if (collision.tag == "Ground")
            {
                daggerState = DaggerState.Colided;
                AudioManager.instance.PlaySfx("Hit");
            }
        }
        else if (daggerState == DaggerState.Colided)
        {
            flightVector     = new Vector2(0f, 0f);
            myAnimator.speed = 0f;
        }
        FlowerBase flower = collision.GetComponentInParent <FlowerBase>();

        if (flower != null)
        {
            flower.OnAttack();
        }
    }
Beispiel #3
0
    private void OnUseTriggerAreaExit(Collider2D collision)
    {
        FlowerBase flower = collision.GetComponent <FlowerBase>();

        if (flower != null && flower == flowerToUse)
        {
            flowerToUse = null;
            useText.gameObject.SetActive(false);
        }
    }
Beispiel #4
0
    /// <summary>
    /// Returns a flower which is not the target of any swarm
    /// </summary>
    /// <returns>returns a random not target flower or null if there are no flowers available</returns>
    public FlowerBase GetUntargetedFlower()
    {
        FlowerBase flower = null;

        var untargetdFlowerList = SpawnedFlowers.FindAll(fss => fss.IsTargeted == false);

        if (untargetdFlowerList.Count > 0)
        {
            flower = untargetdFlowerList[Random.Range(0, untargetdFlowerList.Count)];
        }

        return(flower);
    }
Beispiel #5
0
 protected void SearchTarget()
 {
     m_TargetFlower = m_FlowerField.GetUntargetedFlower();
     if (m_TargetFlower != null)
     {
         TargetPosition = m_TargetFlower.transform.position + (m_TargetFlower.transform.up.normalized * 2.2f);
         State          = FestBeesSwarmState.GoToFlower;
         SetBeeState(BeeState.Moving);
     }
     else
     {
         State = FestBeesSwarmState.Idle;
         SetBeeState(BeeState.Idle);
     }
 }
Beispiel #6
0
    private void OnUseTriggerAreaEnter(Collider2D collision)
    {
        FlowerBase flower = collision.GetComponent <FlowerBase>();

        if (flower == null)
        {
            return;
        }

        flowerToUse = flower;
        Vector3 newPos = collision.transform.position;

        newPos.y += 1f;
        useText.transform.position = newPos;
        useText.gameObject.SetActive(true);
    }
Beispiel #7
0
 public void EndChecked()
 {
     State          = FestBeesSwarmState.Idle;
     m_TargetFlower = null;
 }