Пример #1
0
 public void Shoot()
 {
     if (player != null && transform.position.y != player.transform.position.y)
     {
         Vector2    target   = player.transform.position;
         Vector2    loc      = transform.position;
         Quaternion Rotation = Quaternion.Euler(0, 0, 90 + Mathf.Atan((loc.y - target.y) / (loc.x - target.x)) * 180 / Mathf.PI);
         GameObject bullet   = Gameobjectspool.GetBullet(loc, Rotation, 9);
         bullet.SetActive(true);
     }
 }
Пример #2
0
 private void Update()
 {
     RB.MovePosition(transform.position + transform.up * speed);
     if (Current_lifetime >= Max_lifetime)
     {
         Gameobjectspool.ReturnBullet(gameObject);
     }
     else
     {
         Current_lifetime += Time.deltaTime;
     }
 }
Пример #3
0
    void Awake()
    {
        ScreenUtils.Initialize();
        Gameobjectspool.initialize();
        spawntime = Random.Range(MinTime, MaxTime);

        GameObject    dummy  = Gameobjectspool.GetEnemy();
        BoxCollider2D dumdum = dummy.GetComponent <BoxCollider2D>();

        hight = dumdum.size.y / 2;
        width = dumdum.size.x / 2;
        Gameobjectspool.ReturnEnemy(dummy);
    }
Пример #4
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.CompareTag("Enemy"))
        {
            Gameobjectspool.ReturnEnemy(collision.gameObject);
        }

        else if (collision.gameObject.CompareTag("Player"))
        {
            collision.gameObject.SetActive(false);
        }
        Current_lifetime = 0f;
        Gameobjectspool.ReturnBullet(gameObject);
    }
Пример #5
0
    //spawns the enemies
    void Spawn()
    {
        Vector3 loc = new Vector3(ScreenUtils.ScreenRight + width, Random.Range(ScreenUtils.ScreenBottom + hight, ScreenUtils.ScreenTop - hight), -Camera.main.transform.position.z);

        if (Physics2D.OverlapCircle(loc, width) == null)
        {
            GameObject enemy = Gameobjectspool.GetEnemy();
            enemy.transform.position = loc;
            enemy.SetActive(true);
        }

        else
        {
            Spawn();
        }
    }
Пример #6
0
    void Update()
    {
        if (transform.position.y + width > ScreenUtils.ScreenTop || transform.position.y - width < ScreenUtils.ScreenBottom)
        {
            transform.position = new Vector3(transform.position.x, Mathf.Clamp(transform.position.y, ScreenUtils.ScreenBottom, ScreenUtils.ScreenTop), 0);
        }

        if (Input.GetAxis("Vertical") > 0 && transform.position.y + width < ScreenUtils.ScreenTop)
        {
            RB.MovePosition(transform.position + Vector3.up * Speed);
        }
        else if (Input.GetAxis("Vertical") < 0 && transform.position.y - width > ScreenUtils.ScreenBottom)
        {
            RB.MovePosition(transform.position - Vector3.up * Speed);
        }

        if (Input.GetKeyDown(KeyCode.Space))
        {
            GameObject bullet = Gameobjectspool.GetBullet(transform.position, Quaternion.Euler(0, 0, -90), 8);
            bullet.SetActive(true);
        }
    }
Пример #7
0
 private void OnBecameInvisible()
 {
     Gameobjectspool.ReturnEnemy(gameObject);
 }
Пример #8
0
 void OnCollisionEnter2D(Collision2D collision)
 {
     Gameobjectspool.ReturnEnemy(gameObject);
     HUD.Score();
     collision.gameObject.SetActive(false);
 }
Пример #9
0
 void OnBecameInvisible()
 {
     Current_lifetime = 0f;
     Gameobjectspool.ReturnBullet(gameObject);
 }