Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class MultiSpawn : MonoBehaviour
- {
- public GameObject enemy, slime, player;
- int spawn = 75;
- int slimespawn = 30;
- int slimenum = 2;
- int enemynum = 5;
- GameObject[] enemyArray = null;
- GameObject[] slimeArray = null;
- static float spawnTime = 1.0f;
- public Transform spawnpoints;
- public Player_Contact contact;
- public Timer timer;
- // Use this for initialization
- void Awake()
- {
- enemyArray = new GameObject[enemynum];
- slimeArray = new GameObject[slimenum];
- for (int i = 0; i < enemynum; i++)
- {
- enemyArray[i] = Instantiate(enemy) as GameObject;
- enemyArray[i].SetActive(false);
- }
- for (int i = 0; i < slimenum; i++)
- {
- slimeArray[i] = Instantiate(slime) as GameObject;
- slimeArray[i].SetActive(false);
- }
- }
- void Start()
- {
- InvokeRepeating("Spawn", spawnTime, spawnTime);
- }
- void Spawn()
- {
- if (!timer.TimeOver)
- {
- if (contact.canBeHit)
- {
- int spawnIndex = Random.Range(0, 100);
- if (player != null)
- {
- if (spawnIndex > spawn)
- {
- for (int i = 0; i < enemynum; i++)
- {
- if (enemyArray[i].activeSelf == false)
- {
- enemyArray[i].SetActive(true);
- enemyArray[i].transform.position = spawnpoints.position;
- break;
- }
- }
- }
- if (spawnIndex < slimespawn)
- {
- for (int i = 0; i < slimenum; i++)
- {
- if (slimeArray[i].activeSelf == false)
- {
- slimeArray[i].SetActive(true);
- slimeArray[i].transform.position = spawnpoints.position;
- break;
- }
- }
- }
- }
- }
- else
- {
- EnemyReset();
- SlimeReset();
- }
- }
- }
- public void EnemyReset()
- {
- for (int i = 0; i < enemynum; i++)
- {
- if (enemyArray[i].activeSelf == true)
- {
- enemyArray[i].SetActive(false);
- }
- }
- }
- public void SlimeReset()
- {
- for (int i = 0; i < slimenum; i++)
- {
- if (slimeArray[i].activeSelf == true)
- {
- slimeArray[i].SetActive(false);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement