Exemplo n.º 1
0
		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();

		}
Exemplo n.º 2
0
        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++;
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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++;
        }
Exemplo n.º 5
0
        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();
        }