// Use this for initialization void Start() { gamecon = GameObject.FindWithTag("Respawn").GetComponent <Gemecon>(); fadasc = GameObject.FindWithTag("fada").GetComponent <fadascript>(); enemydamege = GetComponent <EnemyDamege>(); circoli = GetComponent <CircleCollider2D>(); bossstate = Bossstate.spawn; check = turn; rigid2d = GetComponent <Rigidbody2D>(); bullet.transform.localScale = new Vector2(1.5f, 2.0f); bullet2.transform.localScale = new Vector2(1.0f, 2.0f); StartCoroutine("shot"); }
// Update is called once per frame void Update() { if (bossstate == Bossstate.spawn) { circoli.enabled = false; } else { circoli.enabled = true; } if (bossstate == Bossstate.move && gamecon.gamestate != Gemecon.Gamestate.clear) { Vector2 limitleft = Camera.main.ViewportToWorldPoint(new Vector2(0.1f, 0)); Vector2 limitright = Camera.main.ViewportToWorldPoint(new Vector2(0.9f, 0)); check -= Time.deltaTime; if (check <= 0) { check = turn; int muki = Random.Range(1, 3); if (muki == 1) { rigid2d.velocity = new Vector2(Random.Range(1, 6) * speed, 0); } else { rigid2d.velocity = new Vector2(Random.Range(1, 6) * -speed, 0); } } if (transform.position.x >= limitright.x) { rigid2d.velocity = new Vector2(Random.Range(1, 6) * -speed, 0); } if (transform.position.x <= limitleft.x) { rigid2d.velocity = new Vector2(Random.Range(1, 6) * speed, 0); } if (atack == false) { int num = Random.Range(1, 4); switch (num) { case 1: StartCoroutine("atack1"); break; case 2: StartCoroutine("atack2"); break; case 3: StartCoroutine("atack3"); break; default: break; } } } else if (bossstate == Bossstate.spawn && gamecon.gamestate != Gemecon.Gamestate.clear) { rigid2d.velocity = new Vector2(0, spawnspeed); } else if (gamecon.gamestate == Gemecon.Gamestate.clear) { rigid2d.velocity = new Vector2(0, 0); } if (Camera.main.WorldToViewportPoint(transform.position).y <= 0.8f) { if (bossstate == Bossstate.spawn) { int muki = Random.Range(1, 3); if (muki == 1) { rigid2d.velocity = new Vector2(Random.Range(1, 6) * speed, 0); } else { rigid2d.velocity = new Vector2(Random.Range(1, 6) * -speed, 0); } } if (gamecon.gamestate != Gemecon.Gamestate.clear) { bossstate = Bossstate.move; } } if (enemydamege.HP <= 0 && gamecon.gamestate != Gemecon.Gamestate.clear) { gamecon.gamestate = Gemecon.Gamestate.clear; fadasc.StartCoroutine("second"); StartCoroutine("bossexplo"); } }