You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.1 KiB
79 lines
2.1 KiB
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
public class Game : MonoBehaviour
|
|
{
|
|
// Start is called before the first frame update
|
|
[SerializeField] GameObject _cloudPrefab;
|
|
[SerializeField] GameObject _birdPrefab;
|
|
[SerializeField] GameObject _pterodactylPrefab;
|
|
|
|
const int NUM_CLOUDS = 6;
|
|
const float START_X = 1300;
|
|
const float PTERODACTYL_CHANCE = .15f;
|
|
[SerializeField] Text _victoryMessage;
|
|
[SerializeField] Text _restartMessage;
|
|
bool _victory = false;
|
|
float _timeToNextBird = 0f;
|
|
|
|
void Start()
|
|
{
|
|
_victoryMessage.enabled = false;
|
|
_restartMessage.enabled = false;
|
|
|
|
for (int i = 0; i < NUM_CLOUDS; ++i)
|
|
{
|
|
GameObject cloud = GameObject.Instantiate(_cloudPrefab);
|
|
cloud.transform.position = new Vector3(Random.Range(START_X, START_X + 1920 + CloudWraparound.DISTANCE_OFF_LEFT_EDGE), cloud.transform.position.y, cloud.transform.position.z);
|
|
}
|
|
}
|
|
|
|
public void Victory(string dragonName, Color color)
|
|
{
|
|
if (_victory)
|
|
return;
|
|
|
|
_victory = true;
|
|
_restartMessage.enabled = true;
|
|
_victoryMessage.enabled = true;
|
|
|
|
_victoryMessage.text = dragonName.ToUpper() + " WINS!";
|
|
_victoryMessage.color = color;
|
|
}
|
|
void SpawnBird()
|
|
{
|
|
GameObject bird;
|
|
if (Random.Range(0f,1f)< PTERODACTYL_CHANCE)
|
|
{
|
|
bird = GameObject.Instantiate(_pterodactylPrefab);
|
|
}
|
|
else
|
|
{
|
|
bird = GameObject.Instantiate(_birdPrefab);
|
|
}
|
|
|
|
float y = Random.Range(0f, 1080f);
|
|
bird.transform.position = new Vector3(2000f, y, 0f);
|
|
|
|
_timeToNextBird = Random.Range(0f, 4f);
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
_timeToNextBird -= Time.deltaTime;
|
|
|
|
if (_timeToNextBird < 0f)
|
|
{
|
|
SpawnBird();
|
|
}
|
|
|
|
if (Input.GetKeyDown(KeyCode.R))
|
|
{
|
|
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
|
|
}
|
|
}
|
|
}
|
|
|