void SpawnEnemy () { float id = Random.Range(0f, (float)Enemys.Length - 0.01f); GameObject e = Instantiate<GameObject>(Enemys[(int)id].gameObject); e.transform.rotation = Quaternion.identity; e.transform.localScale = Vector3.one; e.transform.position = new Vector3(Random.Range(-SpawnRange.x, SpawnRange.x), 10f, Random.Range(-SpawnRange.y, SpawnRange.y)); EnemyBehaviour eb = e.GetComponent<EnemyBehaviour>(); if (eb) { eb.MaxHP = eb.HP = (id % 3f) * 20f + 40f; } CurrentEnemyNum++; FreshBar(); }
void SpawnBossEnemy(string sign) { float id = Random.Range(0f, (float)Enemys.Length - 0.01f); GameObject e = Instantiate <GameObject>(Enemys[(int)id].gameObject); e.transform.rotation = Quaternion.identity; e.transform.localScale = Vector3.one; e.transform.position = new Vector3(Random.Range(-SpawnRange.x, SpawnRange.x), 10f, Random.Range(-SpawnRange.y, SpawnRange.y)); EnemyBehaviour eb = e.GetComponent <EnemyBehaviour>(); if (eb) { eb.MaxHP = eb.HP = 1000f; eb.sign = sign; eb.isBoss = true; } CurrentEnemyNum++; }
private void MakeAttack(Transform tf, float h, float r, float d, bool muti = false) { RaycastHit[] hits = Physics.BoxCastAll( tf.position + Vector3.up * h * 0.5f, new Vector3(r, h, r), -tf.forward, Quaternion.identity, WeaponInfo.AttackRange ); List <CharacterBehaviour> chList = new List <CharacterBehaviour>(); for (int i = 0; i < hits.Length; i++) { EnemyBehaviour en = hits[i].transform.GetComponent <EnemyBehaviour>(); if (en && !chList.Contains(en) && (chList.Count == 0 || muti)) { if (en.isBoss) { en.BossHurt(d, tf); } else { en.Hurt(d, tf); } chList.Add(en); } Rigidbody rig = hits[i].transform.GetComponent <Rigidbody>(); if (rig) { rig.AddExplosionForce(250f, tf.position, 2.5f); } } chList = null; DemoStage.PlaySound((int)Random.Range(8f, 10.99f), 0.25f); }
void SpawnEnemy(string sign) { float id = Random.Range(0f, (float)Enemys.Length - 0.01f); GameObject e = Instantiate <GameObject>(Enemys[(int)id].gameObject); e.transform.SetParent(GameObject.FindGameObjectWithTag("Enemies").transform); e.transform.rotation = Quaternion.identity; e.transform.localScale = Vector3.one; e.transform.position = new Vector3(Random.Range(-SpawnRange.x, SpawnRange.x), 10f, Random.Range(-SpawnRange.y, SpawnRange.y)); EnemyBehaviour eb = e.GetComponent <EnemyBehaviour>(); if (eb) { eb.MaxHP = eb.HP = (id % 3f) * 20f + 40f; eb.sign = sign; } CurrentEnemyNum++; }
void SpawnEnemy() { float id = Random.Range(0f, (float)Enemys.Length - 0.01f); GameObject e = Instantiate <GameObject>(Enemys[(int)id].gameObject); e.transform.rotation = Quaternion.identity; e.transform.localScale = Vector3.one; e.transform.position = new Vector3(Random.Range(-SpawnRange.x, SpawnRange.x), 10f, Random.Range(-SpawnRange.y, SpawnRange.y)); EnemyBehaviour eb = e.GetComponent <EnemyBehaviour>(); if (eb) { eb.MaxHP = eb.HP = (id % 3f) * 20f + 40f; } string ename = e.name + "_sign"; GameObject enemySign = new GameObject(ename); Transform EnemySign = enemySign.transform; EnemySign.rotation = Camera.main.transform.rotation; TextMesh etm = enemySign.AddComponent <TextMesh>(); etm.text = "[ Text word ]"; etm.color = new Color(0.8f, 0.8f, 0.8f); etm.fontStyle = FontStyle.Bold; etm.alignment = TextAlignment.Center; etm.anchor = TextAnchor.MiddleCenter; etm.characterSize = 0.065f; etm.fontSize = 60; e.transform.localScale = Vector3.Lerp(e.transform.localScale, Vector3.one, 0.1f); EnemySign.position = e.transform.position + Vector3.up * 3f; CurrentEnemyNum++; // FreshBar(); }