示例#1
0
    protected override void Start()
    {
        base.Start();

        bulletList = new List <GameObject>();
        for (int i = 0; i < BULLET_NUMBER; i++)
        {
            GameObject currentObject = Instantiate(eyeBullet.gameObject, transform.position, Quaternion.identity);
            bulletList.Add(currentObject);
            bulletList[i].SetActive(false);
        }

        rainBulletList = new List <DestinationBullet>();
        for (int i = 0; i < RAIN_BULLET_NUMBER; i++)
        {
            DestinationBullet currentObject = Instantiate(eyeBullet, transform.position, Quaternion.Euler(0, 0, 90.0f));
            currentObject.gameObject.SetActive(false);
            currentObject.goToPlayer(false, Vector2.down);
            currentObject.transform.rotation = Quaternion.Euler(0, 0, 90.0f);
            rainBulletList.Add(currentObject);
        }

        attackTimer = Random.Range(standingIntervalMin, standingIntervalMax);
        rainTimer   = Random.Range(timeBtwRain.x, timeBtwRain.y);

        StartCoroutine(startingFight());
    }
示例#2
0
    private IEnumerator rain()
    {
        int chooseDirection = Random.Range(0, 2);

        Debug.Log(chooseDirection);
        Vector2 startPosition = Vector2.zero;
        Vector2 endPosition   = Vector2.zero;

        raining = true;

        if (chooseDirection == 0)
        {
            startPosition = minFieldLimit.position;
            endPosition   = maxFieldLimit.position;

            for (float i = startPosition.x; i <= endPosition.x; i += -Mathf.Sign(startPosition.x) * 2.2f)
            {
                DestinationBullet currentObejct = useObject(rainBulletList);
                currentObejct.transform.position = new Vector2(i, startPosition.y);
                currentObejct.gameObject.SetActive(true);

                yield return(new WaitForSeconds(TIME_BTW_RAIN));
            }
        }
        else
        {
            startPosition = maxFieldLimit.position;
            endPosition   = minFieldLimit.position;

            for (float i = startPosition.x; i >= endPosition.x; i += -Mathf.Sign(startPosition.x) * 2.2f)
            {
                DestinationBullet currentObejct = useObject(rainBulletList);
                currentObejct.transform.position = new Vector2(i, startPosition.y);
                currentObejct.gameObject.SetActive(true);

                yield return(new WaitForSeconds(TIME_BTW_RAIN));
            }
        }

        raining = false;
    }