improved save/load mechanic.

This commit is contained in:
Finnchen123
2024-10-05 11:53:34 +02:00
parent 1235d5ff0c
commit a82fa992f9
14 changed files with 420 additions and 50 deletions

View File

@@ -1,3 +1,4 @@
using Assets.Scripts.InteractableObjects;
using Newtonsoft.Json.Linq;
using System.Collections;
using System.Collections.Generic;
@@ -49,7 +50,7 @@ public class ContentGenerator : MonoBehaviour
}
else if (chance >= 50 && chance < 90)
{
if (rand.Next(0,2) == 0)
if (rand.Next(0, 2) == 0)
{
return trees[rand.Next(0, trees.Length)];
}
@@ -62,7 +63,7 @@ public class ContentGenerator : MonoBehaviour
{
return generateEnemy();
}
else if(chance >= 95 && chance < 99)
else if (chance >= 95 && chance < 99)
{
return boss;
}
@@ -187,7 +188,7 @@ public class ContentGenerator : MonoBehaviour
}
}
}
else if(name.ToLower().Contains("tree"))
else if (name.ToLower().Contains("tree"))
{
foreach (GameObject tree in trees)
{
@@ -198,10 +199,12 @@ public class ContentGenerator : MonoBehaviour
}
}
}
else if(name.ToLower().Contains("npc")){
else if (name.ToLower().Contains("npc"))
{
result = npc;
}
else if(name.ToLower().Contains("house")){
else if (name.ToLower().Contains("house"))
{
result = house;
}
return result;
@@ -210,51 +213,20 @@ public class ContentGenerator : MonoBehaviour
public GameObject loadEnemy(JToken json)
{
GameObject result = gameObject;
string name = json["enemyname"].ToString().Replace("(Clone)", "");
if (name.Split(' ').Length > 1)
SlimeType slimeType = (SlimeType)System.Enum.Parse(typeof(SlimeType), json["enemytype"].ToString().ToUpper());
foreach (GameObject enemy in enemies)
{
name = name.Split(' ')[1];
}
if (name == "(Boss)")
{
result = boss;
}
else
{
switch (name)
if (enemy.GetComponent<Enemy>().slimeType == slimeType)
{
case "Metal":
name = "SlimeMetalIdle";
break;
case "MiniBoss":
name = "SlimeMiniBossIdle";
break;
case "Forest":
name = "SlimeForestIdle";
break;
case "Mage":
name = "SlimeMageIdle";
break;
case "Warrior":
name = "SlimeWarriorIdle";
break;
default:
name = "SlimeBaseIdle";
break;
}
foreach (GameObject enemy in enemies)
{
if (enemy.name == name)
{
result = enemy;
break;
}
result = enemy;
break;
}
}
return result;
}
public GameObject generateCityTileContent(){
public GameObject generateCityTileContent()
{
int chance = rand.Next(1, 101);
if (chance < 10)
{