Fixed content generation, cleaned up project, v1.2.0
This commit is contained in:
@@ -22,19 +22,15 @@ public class ContentGenerator : MonoBehaviour
|
||||
{
|
||||
switch (tiletype)
|
||||
{
|
||||
case "Tile":
|
||||
case "Plane":
|
||||
return generateTileContent();
|
||||
case "StoneTile":
|
||||
case "Mountain":
|
||||
return generateStoneTileContent();
|
||||
case "TreeTile":
|
||||
case "Forest":
|
||||
return generateTreeTileContent();
|
||||
case "RiverTile1":
|
||||
case "River":
|
||||
return generateRiverTileContent();
|
||||
case "RiverTile2":
|
||||
return generateRiverTileContent();
|
||||
case "RiverTile3":
|
||||
return generateRiverTileContent();
|
||||
case "LakeTile":
|
||||
case "Lake":
|
||||
return generateLakeTileContent();
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -15,35 +15,41 @@ public class NoiseGenerator
|
||||
Color32 low;
|
||||
Color32 high;
|
||||
int chance = rand.Next(1, 101);
|
||||
string tiletype = "";
|
||||
if (chance > 85 && chance <= 100)
|
||||
{
|
||||
samples = calculateSamplesForest(tile);
|
||||
low = new Color32(0, 150, 0, 255);
|
||||
high = new Color32(0, 110, 20, 255);
|
||||
tiletype = "Forest";
|
||||
}
|
||||
else if (chance > 70 && chance <= 85)
|
||||
{
|
||||
samples = calculateSamplesMountain(tile);
|
||||
low = new Color32(0, 150, 0, 255);
|
||||
high = new Color32(140, 140, 140, 255);
|
||||
tiletype = "Mountain";
|
||||
}
|
||||
else if (chance > 55 && chance <= 70)
|
||||
{
|
||||
samples = calculateSamplesLake(tile);
|
||||
low = new Color32(30, 110, 190, 255);
|
||||
high = new Color32(0, 150, 0, 255);
|
||||
tiletype = "Lake";
|
||||
}
|
||||
else if (chance > 40 && chance <= 55)
|
||||
{
|
||||
samples = calculateSamplesRiver(tile);
|
||||
low = new Color32(30, 160, 190, 255);
|
||||
high = new Color32(0, 150, 0, 255);
|
||||
tiletype = "River";
|
||||
}
|
||||
else
|
||||
{
|
||||
samples = calculateSamplesPlane(tile);
|
||||
low = new Color32(0, 150, 0, 255);
|
||||
high = new Color32(0, 185, 0, 255);
|
||||
tiletype = "Plane";
|
||||
}
|
||||
|
||||
float lowestValue = 10;
|
||||
@@ -74,6 +80,7 @@ public class NoiseGenerator
|
||||
vertices[i].y = samples[i] * 3;
|
||||
}
|
||||
applyMesh(tile, vertices, mesh, colors);
|
||||
tile.GetComponent<Tile>().setType(tiletype);
|
||||
}
|
||||
|
||||
private void resetMesh(GameObject tile)
|
||||
|
||||
@@ -11,19 +11,22 @@ public class Tile : MonoBehaviour
|
||||
float borderSouth;
|
||||
float borderWest;
|
||||
System.Random rand = new System.Random();
|
||||
string tilename;
|
||||
string tiletype;
|
||||
GameObject contentGenerator;
|
||||
|
||||
List<GameObject> aliveEnemies = new List<GameObject>();
|
||||
List<GameObject> deadEnemies = new List<GameObject>();
|
||||
|
||||
public void generateTile(Vector3 pos, string name)
|
||||
public void generateTile(Vector3 pos, string type)
|
||||
{
|
||||
tilename = name;
|
||||
if (tiletype == null)
|
||||
{
|
||||
tiletype = type;
|
||||
}
|
||||
contentGenerator = GameObject.Find("ContentGenerator");
|
||||
setPosition(pos);
|
||||
setBorders();
|
||||
generateContent();
|
||||
generateContent();
|
||||
}
|
||||
|
||||
public void setBorders()
|
||||
@@ -36,7 +39,7 @@ public class Tile : MonoBehaviour
|
||||
|
||||
public void generateContent()
|
||||
{
|
||||
if (!tilename.ToLower().Equals("City"))
|
||||
if (!tiletype.ToLower().Equals("City"))
|
||||
{
|
||||
foreach (Vector3 position in getSpawnLocations())
|
||||
{
|
||||
@@ -67,7 +70,7 @@ public class Tile : MonoBehaviour
|
||||
int chance = rand.Next(1, 101);
|
||||
if (chance >= 50)
|
||||
{
|
||||
GameObject content = contentGenerator.GetComponent<ContentGenerator>().generateContent(tilename);
|
||||
GameObject content = contentGenerator.GetComponent<ContentGenerator>().generateContent(tiletype);
|
||||
if (content != null)
|
||||
{
|
||||
GameObject obj = Instantiate(content, position, Quaternion.identity);
|
||||
@@ -90,6 +93,11 @@ public class Tile : MonoBehaviour
|
||||
return position;
|
||||
}
|
||||
|
||||
public void setType(string tiletype)
|
||||
{
|
||||
this.tiletype = tiletype;
|
||||
}
|
||||
|
||||
public bool leftTile(float playerX, float playerZ)
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
Reference in New Issue
Block a user