Changed playerpos to collider, fixed mountain gen

This commit is contained in:
TAASONI3
2023-12-08 09:34:27 +01:00
parent 5fd78ed030
commit 10ad860d3e
9 changed files with 348 additions and 438 deletions

View File

@@ -9,10 +9,6 @@ using UnityEngine;
public class Tile : MonoBehaviour
{
Vector3 position;
float borderNorth;
float borderEast;
float borderSouth;
float borderWest;
System.Random rand = new System.Random();
TileType tiletype;
GameObject contentGenerator;
@@ -25,7 +21,6 @@ public class Tile : MonoBehaviour
SteamWorksHandler.getForestAchievement(type.ToString());
contentGenerator = GameObject.Find("ContentGenerator");
setPosition(pos);
setBorders();
generateContent();
}
@@ -34,14 +29,6 @@ public class Tile : MonoBehaviour
}
public void setBorders()
{
borderNorth = position.z * 100 + 50;
borderEast = position.x * 100 + 50;
borderSouth = position.z * 100 - 50;
borderWest = position.x * 100 - 50;
}
public void generateContent()
{
foreach (Vector3 position in getSpawnLocations())
@@ -53,30 +40,7 @@ public class Tile : MonoBehaviour
public List<Vector3> getSpawnLocations()
{
List<Vector3> list = new List<Vector3>();
int xChange = 0;
int zChange = 0;
int sideLimiter = 0;
if(tiletype == TileType.CITY){
sideLimiter = 20;
}
else{
sideLimiter = 10;
}
for (float i = borderNorth - sideLimiter; i >= borderSouth + sideLimiter; i = i - sideLimiter)
{
for (float j = borderWest + sideLimiter; j <= borderEast - sideLimiter; j = j + sideLimiter)
{
xChange = rand.Next(-2, +2);
zChange = rand.Next(-2, +2);
if(tiletype == TileType.CITY){
list.Add(new Vector3(j + xChange, 0, i + zChange));
}
else{
list.Add(new Vector3(j + xChange, 5, i + zChange));
}
}
}
//Change object spawning
return list;
}
@@ -111,86 +75,6 @@ public class Tile : MonoBehaviour
return position;
}
public void setType(TileType tiletype)
{
this.tiletype = tiletype;
}
public bool leftTile(float playerX, float playerZ)
{
bool result = false;
if (playerX >= borderEast + 10 || playerX <= borderWest - 10 || playerZ >= borderNorth + 10 || playerZ <= borderSouth - 10)
{
result = true;
}
return result;
}
public void changeRenderer()
{
foreach (Rigidbody rigid in gameObject.GetComponentsInChildren<Rigidbody>())
{
rigid.useGravity = !rigid.useGravity;
}
foreach (Renderer rend in gameObject.GetComponentsInChildren<Renderer>())
{
rend.enabled = !rend.enabled;
}
foreach (Collider col in gameObject.GetComponentsInChildren<Collider>())
{
col.enabled = !col.enabled;
}
}
public bool enteredTile(float playerX, float playerZ)
{
bool result = false;
if (playerX <= borderEast && playerX >= borderWest && playerZ <= borderNorth && playerZ >= borderSouth)
{
result = true;
}
return result;
}
public Vector3 needConnectedTile(float playerX, float playerZ)
{
Vector3 result = new Vector3(position.x, 1, position.z);
if (playerX >= borderEast - 10)
{
result.x = result.x + 1;
result.y = 0;
}
else if(playerX <= borderWest + 10)
{
result.x = result.x - 1;
result.y = 0;
}
if (playerZ >= borderNorth - 10)
{
result.z = result.z + 1;
result.y = 0;
}
else if(playerZ <= borderSouth + 10)
{
result.z = result.z - 1;
result.y = 0;
}
return result;
}
public bool removeConnectedTiles(float playerX, float playerZ)
{
bool result = false;
if (playerX <= borderEast - 10 && playerX >= borderWest + 10 && playerZ <= borderNorth - 10 && playerZ >= borderSouth + 10)
{
result = true;
}
return result;
}
public void enemyKilled(GameObject enemy)
{
aliveEnemies.Remove(enemy);
@@ -291,7 +175,6 @@ public class Tile : MonoBehaviour
}
tiletype = (TileType)Enum.Parse(typeof(TileType), json["tiletype"].ToString());
setPosition(pos);
setBorders();
}
public List<TileType> getPossibleNeighbours(){