Files

49 lines
1.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Ground : MonoBehaviour {
[SerializeField]
GameObject tilePrefab = null;
[SerializeField]
GameObject treePrefab = null;
[SerializeField]
GameObject eyesPrefab = null;
void Awake() {
//generate tiles
const int size = 20;
for (int i = -size; i <= size; i++) {
for (int j = -size; j <= size; j++) {
Instantiate(tilePrefab, new Vector3(i * 32, j * 32, 0), Quaternion.identity, transform);
}
}
for (int i = 0; i < 50; i++) {
GenerateEntity(treePrefab, 5, size);
}
for (int i = 0; i < 3 && eyesPrefab; i++) {
GenerateEntity(treePrefab, 2, 5);
}
for (int i = 0; i < 20 && eyesPrefab != null; i++) {
GenerateEntity(eyesPrefab, 5, 10);
}
}
void GenerateEntity(GameObject prefab, float near, float far) {
//geenrate trees
float direction = Random.Range(0, 360); //angle
float distance = Random.Range(near, far); //H & A
//SOH CAH TOA
float sin = Mathf.Sin(direction * Mathf.PI / 180f);
float cos = Mathf.Cos(direction * Mathf.PI / 180f);
Instantiate(prefab, new Vector3(distance * cos * 32, distance * sin * 32, 0), Quaternion.identity, transform);
}
}