상속: MonoBehaviour
예제 #1
0
    void Start()
    {
        dino           = FindObjectOfType <Dino>();
        enemySpawn     = FindObjectOfType <EnemySpawn>();
        groundMovement = FindObjectOfType <GroundMovement>();

        timeToIncreaseDifficulty = Time.time + interval;
    }
예제 #2
0
 // Update is called once per frame
 void Start()
 {
     //enable navmesh
     navigator = GetComponent <NavMeshAgent>();
     navigator = GetComponent <NavMeshAgent>();
     StartCoroutine("MovementRoutine");
     spawner = FindObjectOfType <EnemySpawn>();
 }
예제 #3
0
    // Use this for initialization
    void Start()
    {
        Player     = GameObject.FindGameObjectWithTag("Player");
        enemyspawn = GameObject.FindGameObjectWithTag("EnemySpawn");
        EnemySpawn e = enemyspawn.GetComponent <EnemySpawn>();

        e.enabled = false;
    }
예제 #4
0
 // Use this for initialization
 void Start()
 {
     player = GameObject.Find ("Player");
     es = GameObject.Find ("EnemySpawner").GetComponent<EnemySpawn> ();
     egh = Camera.main.GetComponent<EndGameHUD> ();
     egh.endgameobj = gameObject;
     egh.display = true;
 }
예제 #5
0
    public void SpawnEnemy(EnemySpawn spawn)
    {
        GenericItem portal  = this.spawnPortals.Pop(spawn.location);
        Vector3     extents = spawn.enemy.pool.prefab.GetComponent <Renderer>().bounds.extents;

        portal.instance.transform.localScale = new Vector3(extents.x + 0.15f, extents.y, 1);
        level.StartCoroutine(this.SpawnEnemyRoutine(portal, spawn.enemy, spawn.location));
    }
예제 #6
0
 // Start is called before the first frame update
 void Start()
 {
     anim   = GetComponent <Animator>();
     rb     = GetComponent <Rigidbody2D>();
     es     = GameObject.Find("GM").GetComponent <EnemySpawn>();
     target = GameObject.Find("player").transform;
     attackHitBox.SetActive(false);
 }
예제 #7
0
    private bool currentRound()
    {
        _spawn        = GameObject.Find("SpawnCenter");
        _currentRound = _spawn.GetComponent <EnemySpawn>();
        int round = _currentRound.GetCurrRound();

        _gameInfoText["Round "] = round + "";
        return(round == 3);
    }
예제 #8
0
 public void RegisterEnemySpawn(string id, EnemySpawn spawn)
 {
     if (_enemySpawnPoints.ContainsKey(id))
     {
         return;
     }
     _enemySpawnPoints.Add(id, spawn);
     Debug.Log($"Registering enemy spawn {id}...");
 }
예제 #9
0
    void Start()
    {
        player             = GameObject.FindGameObjectWithTag("Player").GetComponent <Player>();
        playerDashChaining = player.GetComponent <PlayerDashChaining>();

        enemySpawn = GetComponent <EnemySpawn>();

        enemyDestroysRunestone = GameObject.FindGameObjectWithTag("RuneStone").GetComponent <EnemyDestroysRunestone>();
    }
 public void SpawnEnemies()
 {
     foreach (GameObject point in spawnPoints)
     {
         point.SetActive(true);
         EnemySpawn enemySpawn = point.GetComponent <EnemySpawn>();
         enemySpawn.Spawn();
     }
 }
예제 #11
0
    void Start()
    {
        enemySpawn          = this;
        destroyedEnemyCount = 0;
        enemyCount          = 0;
        StartCoroutine(Spawn());

        isSpawning = true;
    }
예제 #12
0
 void Start()
 {
     ownPattern = new Vector3[10];
     spawner    = GameObject.Find("EnemySpawner").GetComponent <EnemySpawn>();
     for (int x = 0; x < ownPattern.Length; x++)
     {
         ownPattern[x] = spawner.pos[x];
     }
 }
예제 #13
0
    /*****************************************************************************************************************************************/

    void Start()
    {
        StartPosX = transform.position.x;
        StartPosY = transform.position.y;
        rgb       = gameObject.GetComponent <Rigidbody2D>();
        //KI = transform.parent.GetComponent<EnemyMovementController>();   Need for Hirachie

        //KI = transform.GetComponentInChildren<EnemyMovementController>();
        Spawn = transform.GetComponentInChildren <EnemySpawn>();
    }
예제 #14
0
    public void endWave()
    {
        wave++;
        EnemySpawn spawn = GameObject.FindGameObjectWithTag("Respawn").GetComponent <EnemySpawn>();

        spawn.timer       = 0;
        spawn.spawnNumber = 0;
        spawn.turn        = 0;
        control.ChangePhase(GamePhase.Prep);
    }
예제 #15
0
    void Start()
    {
        player = GameObject.FindGameObjectWithTag("Player");
        Debug.Log(player);
        playerLives = player.GetComponent <PlayerHealth>();
        enemySpawn  = GetComponent <EnemySpawn>();


        //enemyHealth = GetComponent<EnemyHealth>();
    }
예제 #16
0
    private void Awake()
    {
        phaseType = "StartPhase";

        pathfinding = GetComponent <PathFinding>();
        grid        = GetComponent <GridController>();
        turretSpawn = GetComponent <TurretSpawn>();
        enemySpawn  = GetComponent <EnemySpawn>();
        BPM         = GetComponent <BPM>();
    }
예제 #17
0
 private void Start()
 {
     if (PlayerPrefs.GetInt("sound") == 0)
     {
         shootSound        = this.GetComponent <AudioSource>();
         shootSound.volume = 0.5f;
     }
     uiManager  = uiManager.GetComponent <UIManager>();
     enemySpawn = enemySpawn.GetComponent <EnemySpawn>();
 }
 // Use this for initialization
 void Start()
 {
     GameEventMngr = GameObject.Find("GameEventManager");
     DisplayScr    = GameEventMngr.GetComponent <DisplayScore> ();
     E_spawn       = GameObject.Find("SpawnPoint01");
     E_spawnScript = E_spawn.GetComponent <EnemySpawn> ();
     LootRoll      = Random.Range(0, 100);
     LootID        = Random.Range(0, LootTableSize);
     Debug.Log("LootID:" + LootID);
 }
예제 #19
0
    static void CreateEnemySpawn()
    {
        if (!CheckSelection("zone"))
        {
            Debug.LogError("必须先选择zone");
            return;
        }
        GameObject spawn = EnemySpawn.Create();

        spawn.transform.parent = Selection.activeTransform;
    }
예제 #20
0
 void Start()
 {
     fireGunRef          = FindObjectOfType <fireGun>();
     playerConRef        = FindObjectOfType <PlayerController>();
     enemySpawnRef       = FindObjectOfType <EnemySpawn>();
     enemyHealth         = 2;
     enemMaterial        = enemySpawnRef.enemyMaterialName;
     this.gameObject.tag = "enemy";
     enemEarRef          = enemySpawnRef.enemyEar;
     enemEarRef1         = enemySpawnRef.enemyEar1;
 }
예제 #21
0
    void Awake()
    {
        _instance  = this;
        _enemyPool = new Pool <Enemy>(15, EnemyFactory, Enemy.InitializeEnemy, Enemy.DisposeEnemy, true);

        ChildFunctions[] _pos = GetComponentsInChildren <ChildFunctions>();
        foreach (var pos in _pos)
        {
            positionToSpawn.Add(pos);
        }
    }
예제 #22
0
    public void AttackClosestEnemy()
    {
        hitbox.RestoreGetHitBools();
        EnemySpawn nextClosestEnemy = EnemySpawn.GetClosestEnemy(transform.position, targetNextEnemyDistance);

        if (nextClosestEnemy != null)
        {
            nextTargetDir = (nextClosestEnemy.transform.position - transform.position).normalized;
            TargetNextEnemy();
        }
    }
예제 #23
0
    // Update is called once per frame
    void Update()
    {
        Scene scene = SceneManager.GetActiveScene();

        Debug.Log("Window width: " + Screen.width);
        Debug.Log("Window h: " + Screen.height);
        if (WallCurrHp <= 0)
        {
            texts [2].text = "You Lose";
            HP.value       = 0;
        }
        if (Input.GetKeyUp(KeyCode.Z))
        {
            gold += 100;
            SceneManager.LoadScene("Shop");
        }
        if (scene.name == "Level" && WallCurrHp > 0)
        {
            texts [0] = GameObject.Find("Gold").GetComponent <Text>();

            texts [1]      = GameObject.Find("EnemiesLeft").GetComponent <Text>();
            texts [0].text = "Gold: " + gold;
            texts [1].text = "Enemys Reinforcements: " + EnemiesLeft;
            texts [2]      = GameObject.Find("WallHp").GetComponent <Text>();
            texts [2].text = WallCurrHp + "/" + MaxWallHp;
            HP             = GameObject.Find("WallHealth").GetComponent <Slider> ();
            HP.maxValue    = MaxWallHp;
            HP.value       = WallCurrHp;
        }

        if (scene.name == "Shop")
        {
            texts [0]      = GameObject.Find("Gold").GetComponent <Text>();
            texts [3]      = GameObject.Find("WallHp").GetComponent <Text>();
            texts [0].text = "Gold: " + gold;
            texts [3].text = "Wall: " + WallCurrHp + "/" + MaxWallHp;
            buttons [0]    = GameObject.Find("RepairB").GetComponent <Button>();
            buttons [1]    = GameObject.Find("UpgradesB").GetComponent <Button>();
            buttons [2]    = GameObject.Find("NextLVB").GetComponent <Button>();
        }

        if (EnemiesLeft <= 0 && scene.name == "Level")
        {
            SP = GameObject.FindGameObjectWithTag("SP");
            EnemySpawn SPi = SP.GetComponent <EnemySpawn> ();
            SPi.Spawning = false;
        }
        if (EnemiesLeft > 0 && scene.name == "Level")
        {
            SP = GameObject.FindGameObjectWithTag("SP");
            EnemySpawn SPi = SP.GetComponent <EnemySpawn> ();
            SPi.Spawning = true;
        }
    }
예제 #24
0
    // Use this for initialization
    void Awake()
    {
        enemysOfWaves = new List <int>();
        for (int i = 0; i < numOfWaves; i++)
        {
            enemysOfWaves.Add(originEnemyAmount + i * enemyPlusPerWave);
        }

        enemySpawn = GetComponentInChildren <EnemySpawn>();
        waveTimer  = secondsPerWave;
        player     = GameObject.FindGameObjectWithTag("Player").GetComponent <Player>();
    }
예제 #25
0
    // Update is called once per frame

    public void Spawn()
    {
        if (enemiesLeft > 0)
        {
            EnemySpawn rand = GetRandomSpawn();
            if (rand != null && rand.enemyCount > 0)
            {
                enemiesLeft--;
                rand.Spawn();
            }
        }
    }
 // Use this for initialization
 void Start()
 {
     realTime          = GameObject.FindGameObjectWithTag("Player").GetComponent <ArtificialTimeManager>();
     enSpawn           = GameObject.FindGameObjectWithTag("enemymanager").GetComponent <EnemySpawn>();
     player            = GameObject.FindGameObjectWithTag("Player");
     dmgPerAttk        = 5;
     timeBetweenAttk   = 2;
     thrallTimer       = 0;
     timeToSpawnThrall = 60;
     inRange           = false;
     turnSpeed         = 10;
 }
예제 #27
0
    private List <EnemySpawn> CloneList(List <EnemySpawn> a, int time) // Clone EnemySpawn list and add time to each of its elements
    {
        List <EnemySpawn> result = new List <EnemySpawn>();

        foreach (EnemySpawn e in a)
        {
            EnemySpawn temp = new EnemySpawn(e.tag, e.time + time);
            result.Add(temp);
        }

        return(result);
    }
예제 #28
0
    void Start()
    {
        _enemySpawn = GameObject.FindGameObjectWithTag(TAG_SPAWN_MANAGER).GetComponent <EnemySpawn>();
        _timer      = GameObject.FindGameObjectWithTag(TAG_TIMER).GetComponent <Timer>();

        _enemySpawn.enabled = true;

        ChangeEnemy();

        InvokeRepeating("InvokeIncreaseSpeed", 1, 1);
        InvokeRepeating("ChangeEnemy", 1, 60);
    }
예제 #29
0
    private void Die()
    {
        Debug.Log("Die!");
        if (moving) //Reset tile which is in use
        {
            Path.Peek().MovementTo = false;
        }
        EnemySpawn.RemoveGameObject(gameObject);
        OnEnemyKilled();

        Destroy(gameObject);
    }
    void Start()
    {
        GameObject enemyMatrixObject = GameObject.FindWithTag("EnemyMatrix");

        if (enemyMatrixObject != null)
        {
            enemyMatrix = enemyMatrixObject.GetComponent <EnemySpawn> ();
        }
        score = 0;
        UpdateScore();
        lives = startingLives;
        UpdateLives();
    }
예제 #31
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Bullet")
        {
            GameObject.Find("Player").GetComponent <Shooting>().firestate         = true;
            GameObject.Find("UIcontroller").GetComponent <UIcontroller>().scores += score;
            datalibrary = EnemySpawn.EnemyS;
            for (int i = 0; i < 5; i++)
            {
                for (int k = 0; k < 11; k++)
                {
                    if (datalibrary.EnemyGroup[i, k] == gameObject)
                    {
                        datalibrary.EnemyGroup[i, k] = null;
                    }
                }
            }
            Destroy(other.gameObject);
            Destroy(this.gameObject);
            datalibrary.listcounter--;
        }

        if (other.tag == "LeftBound")
        {
            EnemySpawn.EnemyS.direction = -1;
            EnemySpawn.EnemyS.downstate = true;
        }

        if (other.tag == "RightBound")
        {
            EnemySpawn.EnemyS.direction = 1;
            EnemySpawn.EnemyS.downstate = true;
        }

        if (other.tag == "DownBound")
        {
            SceneManager.LoadScene("End");
        }

        if (other.tag == "Player")
        {
            SceneManager.LoadScene("End");
        }


        if (other.tag == "Wall")
        {
            Destroy(other.gameObject);
        }
        //explosion here
    }
예제 #32
0
    // Use this for initialization
    void Start()
    {
        Player = GameObject.Find ("Player");
        velocity = 2.5F;
        EnemySpawner = GameObject.Find ("EnemySpawner");
        es = EnemySpawner.GetComponent<EnemySpawn> ();
        if (Vector3.Distance (Player.transform.position, transform.position) < 20) {
            movement = (Player.transform.position - transform.position).normalized;
            movement.x = movement.x * velocity;
            movement.y = movement.y * velocity;
        }

        //movement = new Vector2 (velocity.x * (Player.transform.position.x - transform.position.x), velocity.y * (Player.transform.position.y - transform.position.y));
    }
예제 #33
0
	void AddEnemySpawn(EnemySpawn es)
	{
		// insert ordered by spawnTime
		for(int i = 0; i < enemySpawns.Count; ++i)
		{
			EnemySpawn curr = (EnemySpawn)enemySpawns[i];
			if (curr.spawnTime	> es.spawnTime)
			{
				enemySpawns.Insert(i,es);
				return;
			}
		}
		
		enemySpawns.Add(es);
	}
예제 #34
0
	// Use this for initialization
	void Start () {
		enemySpawns = new ArrayList();
		
		int enemyType = 1;
		Vector3 startPos = new Vector3(0.0f,0.0f,0.0f);
		AddEnemySpawn(new EnemySpawn(3.0f,startPos,new Vector3(-10.0f,10.0f,0.0f),1.5f,1));
		AddEnemySpawn(new EnemySpawn(4.0f,startPos,new Vector3(10.0f,10.0f,0.0f),1.5f,1));
		AddEnemySpawn(new EnemySpawn(5.0f,startPos,new Vector3(0.0f,10.0f,0.0f),1.5f,1));
		
		// triangle
		AddEnemySpawn(new EnemySpawn(7.0f,new Vector3(4.0f,-5.0f,0.0f),new Vector3(4.0f,10.0f,0.0f),1f,1));
		AddEnemySpawn(new EnemySpawn(7.0f,new Vector3(0.0f,0.0f,0.0f),new Vector3(0.0f,15.0f,0.0f),1f,1));
		AddEnemySpawn(new EnemySpawn(7.0f,new Vector3(-4.0f,-5.0f,0.0f),new Vector3(-4.0f,10.0f,0.0f),1f,1));
			
		// 4 bottom right to top left (same start/end, small time offset)
		float startTime = 10.0f;
		float timeOffset = 2f;
		startPos = new Vector3(-8.0f,0.0f,0.0f);
		Vector3 endPos = new Vector3(3.0f,4.0f,10.0f);
		AddEnemySpawn(new EnemySpawn(startTime,startPos,endPos,1f,1));
		AddEnemySpawn(new EnemySpawn(startTime+timeOffset,startPos,endPos,1f,1));
		AddEnemySpawn(new EnemySpawn(startTime+timeOffset*2,startPos,endPos,1f,1));
		AddEnemySpawn(new EnemySpawn(startTime+timeOffset*3,startPos,endPos,1f,1));
		
		// 4 bottom right to top left (same start/end, small time offset)
		startTime = 16.0f;
		startPos = new Vector3(8.0f,10.0f,0.0f);
		endPos = new Vector3(-2.0f,0.0f,0.0f);
		enemyType = 2;
		AddEnemySpawn(new EnemySpawn(startTime,startPos,endPos,1f,enemyType));
		AddEnemySpawn(new EnemySpawn(startTime+timeOffset,startPos,endPos,1f,enemyType));
		AddEnemySpawn(new EnemySpawn(startTime+timeOffset*2,startPos,endPos,1f,enemyType));
		AddEnemySpawn(new EnemySpawn(startTime+timeOffset*3,startPos,endPos,1f,enemyType));
		
		startTime = 24.0f;
		startPos = new Vector3(10.0f,5.0f,0.0f);
		endPos = new Vector3(-10.0f,5.0f,0.0f);
		enemyType = 3;
		AddEnemySpawn(new EnemySpawn(startTime,startPos,endPos,1f,enemyType));
		AddEnemySpawn(new EnemySpawn(startTime+timeOffset,startPos,endPos,1f,enemyType));
		AddEnemySpawn(new EnemySpawn(startTime+timeOffset*2,startPos,endPos,1f,enemyType));
		AddEnemySpawn(new EnemySpawn(startTime+timeOffset*3,startPos,endPos,1f,enemyType));
		
		currEnemyIdx = 0;
		print("length "+enemySpawns.Count);
		currEnemy = (EnemySpawn)enemySpawns[currEnemyIdx];
	}
예제 #35
0
 public IEnumerator Spawn(EnemySpawn Spawn)
 {
     GameObject EnemyObject = Instantiate(Spawn.Prefab, Spawn.MovePath[0].position, Spawn.MovePath[0].rotation) as GameObject;
     EnemyHandler Enemy = EnemyObject.GetComponent<EnemyHandler>();
     Master.Enemies.Add(Enemy);
     for(int i = 1; i < Spawn.MovePath.Length - 1; i++){
         yield return StartCoroutine(
             MovementCoroutines.MoveLerpWithRotaTo(
                 EnemyObject,
                 Spawn.MovePath[i].position,
                 Spawn.MovePath[i].rotation,
                 Spawn.LerpTime
             )
         );
     }
     Enemy.IsQueuedForDestruct = true;
 }
예제 #36
0
 public void Start()
 {
     SpawnEnemys(1);
     Instance = this;
 }
예제 #37
0
 void Awake()
 {
     instance = this;
 }
예제 #38
0
 public void StartMoving(PathNode node, CameraRotation camera, EnemySpawn spawner) {
     this.spawner = spawner;
     this.camera = camera;
     mStartMoving = true;
     mNode = node;
 }
예제 #39
0
파일: World.cs 프로젝트: maggardJosh/OGREAT
 public void addEnemySpawn(EnemySpawn s)
 {
     enemySpawns.Add(s);
 }
예제 #40
0
 //初始化敌人
 public void Init(EnemySpawn spawn)
 {
     m_spawn = spawn;
     //该敌人的出生点增加计数
     m_spawn.m_enemyCount++;
 }
예제 #41
0
	void Awake(){
		_instance = this;
		GameObject startPoint = GameObject.Find ("StartPoint");
		enemySpawn = new EnemySpawn ();
	}
예제 #42
0
 public void Init(EnemySpawn spawn)
 {
     m_spawn = spawn;
     // 计算敌人数量
     m_spawn.m_nEnemyCount++;
 }
예제 #43
0
파일: Enemy.cs 프로젝트: ukins/UnityFPS
    public void init(EnemySpawn spawn)
    {
        m_spawn = spawn;

        m_spawn.m_enemyCount++;
    }
예제 #44
0
 private static EnemySpawn parseEnemySpawn(XMLNode node, World world)
 {
     EnemySpawn result = new EnemySpawn(new Vector2(float.Parse(node.attributes["x"]) + 8f, -(float.Parse(node.attributes["y"]) - 8f)));
     return result;
 }
예제 #45
0
        List<EventFlag> GetFlags(String file)
        {
            List<EventFlag> FlagList = new List<EventFlag>();

            ArrayList elemType = new ArrayList();
            ArrayList elemText = new ArrayList();

            GetTextForFlags(file, out elemType, out elemText);

            EventFlag flag = null;
            GameEvent g_event = null;

            for (int i = 0; i < elemType.Count; ++i)
            {
                if((string)elemType[i] == "flag")
                {
                    if (flag != null)
                        FlagList.Add(flag);
                    flag = new EventFlag();
                    flag.Corners = GetCorners((string)elemText[i]);
                }

                else if ((string)elemType[i] == "event")
                {
                    g_event = new GameEvent();

                    if ((string)elemText[i] == "PUT_ENEMY")
                    {
                        g_event.EventType = GameEvent.GameEventType.PUT_ENEMY;

                        EnemySpawn spawn = new EnemySpawn();

                        spawn.Position = GetVector3At((string)elemText[i + 1]);

                        string model = (string)elemText[i + 2];
                        string scale = (string)elemText[i + 3];

                        spawn.EnemyStats.Add("Model", model);
                        spawn.EnemyStats.Add("Scale", scale);

                        g_event.SpawnPoint = spawn;
                    }

                    flag.Events.Add(g_event);
                }

            }

            if (flag != null)
                FlagList.Add(flag);

            return FlagList;
        }
예제 #46
0
	// Update is called once per frame
	void Update () {
		
		while (Time.timeSinceLevelLoad > currEnemy.spawnTime+loopOffset)
		{
			print("spawning enemy "+currEnemyIdx+" at time "+currEnemy.spawnTime);
			GameObject enemyType;
			switch(currEnemy.enemyType)
			{
			case 1: enemyType = EnemyType1; break;
			case 2: enemyType = EnemyType2; break;
			case 3:
			default: enemyType = EnemyType3; break;
			}
			GameObject clone = (GameObject)Instantiate(enemyType,currEnemy.spawnPos,Quaternion.identity);
			clone.transform.parent = this.transform;
			EnemyType1 script = (EnemyType1)clone.GetComponent("EnemyType1");
			script.SetParams(transform.position+currEnemy.spawnPos,
			                 transform.position+currEnemy.endPos,
			                 currEnemy.speed);
			EnemyShoot script2 = (EnemyShoot)clone.GetComponent("EnemyShoot");
			script2.target = PlayerTarget;
			
			currEnemyIdx = (currEnemyIdx+1)%enemySpawns.Count;
			currEnemy = (EnemySpawn)enemySpawns[currEnemyIdx];
			
			if (currEnemyIdx==0)
			{
				loopOffset = Time.timeSinceLevelLoad+5;
				print("restarting spawn loop");
			}
		}
	}
예제 #47
0
 public virtual void IncreaseDifficulty()
 {
     if (difficulty == maxLevel) {
         return;
     }
     enemyspawner = GameObject.Find ("EnemySpawner");
     es = enemyspawner.GetComponent<EnemySpawn> ();
     difficulty++;
     es.difficulty = difficulty;
     if (difficulty == maxLevel) {
         Vector3 newLoc = new Vector3(player.transform.position.x + Random.Range (-30, 30),
                                      player.transform.position.y + Random.Range (-30, 30));
         int i = 0;
         while (blocks[Mathf.CeilToInt (newLoc.x / worldScale - 1), Mathf.CeilToInt (newLoc.y / worldScale)] == (byte)TileCodes.Lava){
             newLoc = new Vector3(player.transform.position.x + Random.Range (-30, 30),
                                  player.transform.position.y + Random.Range (-30, 30));
             i++;
             if(i > 5)
                 break;
         }
         GameObject endgame = Instantiate (endgameobj, newLoc, new Quaternion(0,0,0,0)) as GameObject;
         Debug.Log ("Endgame object spawned!");
     }
     //Added the next two lines to reduce lag - Kyle
     //ClearWater ();
     //DespawnOldResources ();
     if(mesh!= null)
         mesh.Clear ();
     Start ();
     //blocks = null;
     GameObject.Find("HazardController").GetComponent<HazardControlScript>().SetDifficulty();
     player.GetComponent<OverlayParticleScript>().SetDifficulty();
 }