2020-07-11 01:42:26 -04:00
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
public class GMScript : MonoBehaviour
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
public GameObject obstacle;
|
|
|
|
|
public GameObject enemy;
|
|
|
|
|
|
|
|
|
|
private float obstacleSpawnTime;
|
|
|
|
|
private float obstacleTime = 0.0f;
|
|
|
|
|
private float enemySpawnTime;
|
|
|
|
|
private float enemyTime = 0.0f;
|
|
|
|
|
|
|
|
|
|
private Transform playerPos;
|
|
|
|
|
|
|
|
|
|
void Start()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
obstacleSpawnTime = Random.Range(5.0f, 15.0f);
|
|
|
|
|
enemySpawnTime = Random.Range(5.0f, 15.0f);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Update is called once per frame
|
|
|
|
|
void Update()
|
|
|
|
|
{
|
|
|
|
|
|
2020-07-11 11:18:40 -04:00
|
|
|
if(GameObject.FindWithTag("Player") != null)
|
|
|
|
|
{
|
|
|
|
|
playerPos = GameObject.FindWithTag("Player").transform;
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-11 01:42:26 -04:00
|
|
|
obstacleTime += Time.deltaTime;
|
|
|
|
|
enemyTime += Time.deltaTime;
|
|
|
|
|
|
|
|
|
|
if(obstacleTime > obstacleSpawnTime)
|
|
|
|
|
{
|
|
|
|
|
|
2020-07-11 11:18:40 -04:00
|
|
|
GameObject newObstacle = Instantiate(obstacle, ValidSpawn(),
|
2020-07-11 01:42:26 -04:00
|
|
|
Quaternion.Euler(0,0,Random.Range(0.0f, 360.0f)));
|
2020-07-11 11:01:39 -04:00
|
|
|
newObstacle.transform.localScale = new Vector2(Random.Range(1.0f, 8.0f), 1.0f);
|
2020-07-11 01:42:26 -04:00
|
|
|
obstacleSpawnTime = Random.Range(5.0f, 15.0f);
|
|
|
|
|
obstacleTime = 0.0f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(enemyTime > enemySpawnTime)
|
|
|
|
|
{
|
|
|
|
|
|
2020-07-11 11:18:40 -04:00
|
|
|
GameObject newEnemy = Instantiate(enemy, ValidSpawn(),
|
2020-07-11 01:42:26 -04:00
|
|
|
Quaternion.identity);
|
2020-07-11 11:01:39 -04:00
|
|
|
float scaleChange = Random.Range(0.5f, 1.5f);
|
|
|
|
|
newEnemy.transform.localScale = new Vector2(scaleChange, scaleChange);
|
2020-07-11 01:42:26 -04:00
|
|
|
enemySpawnTime = Random.Range(5.0f, 15.0f);
|
|
|
|
|
enemyTime = 0.0f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Vector2 ValidSpawn()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
bool valid = false;
|
|
|
|
|
Vector2 spawn;
|
|
|
|
|
|
2020-07-11 11:18:40 -04:00
|
|
|
if(GameObject.FindWithTag("Player") == null)
|
|
|
|
|
{
|
|
|
|
|
return new Vector2(Random.Range(-8.0f, 8.0f), Random.Range(-4.0f, 4.0f));
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-11 01:42:26 -04:00
|
|
|
do{
|
|
|
|
|
|
|
|
|
|
spawn = new Vector2(Random.Range(-8.0f, 8.0f), Random.Range(-4.0f, 4.0f));
|
|
|
|
|
|
2020-07-11 11:18:40 -04:00
|
|
|
valid = true;
|
|
|
|
|
|
|
|
|
|
if((spawn.x <= playerPos.position.x + 1 && spawn.x >= playerPos.position.x - 1)
|
|
|
|
|
|| (spawn.y <= playerPos.position.y + 1 && spawn.y >= playerPos.position.y - 1))
|
2020-07-11 01:42:26 -04:00
|
|
|
{
|
2020-07-11 11:18:40 -04:00
|
|
|
valid = false;
|
2020-07-11 01:42:26 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}while(!valid);
|
|
|
|
|
|
|
|
|
|
return spawn;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|