fixed ui, localization and save/load

This commit is contained in:
TAASONI3
2023-12-13 13:40:32 +01:00
parent 884a17f330
commit 5583440b7e
11 changed files with 179 additions and 336 deletions

View File

@@ -63,7 +63,7 @@ namespace Assets.Scripts
{
tiletype = tiletype.Replace("Tile", "");
}
coordinates.GetComponent<Text>().text = TextHandler.getText(tiletype) + "(" + (int)position.x + "/" + (int)position.y + "/" + (int)position.z + ")";
coordinates.GetComponent<Text>().text = TextHandler.getText(tiletype.ToLower()) + "(" + (int)position.x + "/" + (int)position.y + "/" + (int)position.z + ")";
}
private void switchWaterLayer()

View File

@@ -276,7 +276,7 @@ namespace Assets.Scripts
{
result = result + "\"" + slotname + "\": \"empty\"";
}
if (i != 7)
if (i != 6)
{
result = result + ",\r\n";
}

View File

@@ -40,7 +40,7 @@ namespace Assets.Scripts.Player
if (GameObject.Find("Inventory") != null)
{
inventory = GameObject.Find("Inventory").GetComponent<Inventory>();
inventory = GameObject.Find("Inventory").GetComponent<Inventory>();
}
if (GameObject.Find("WorldGenerator") != null)
{
@@ -77,8 +77,8 @@ namespace Assets.Scripts.Player
if (now.AddSeconds(10).CompareTo(DateTime.Now) <= 0)
{
now = DateTime.Now;
player.regainSecondary(inventory.getEquipmentBonus()["MPR"],inventory.getEquipmentBonus()["MP"]);
player.healPlayer(inventory.getEquipmentBonus()["HPR"],inventory.getEquipmentBonus()["HP"]);
player.regainSecondary(inventory.getEquipmentBonus()["MPR"], inventory.getEquipmentBonus()["MP"]);
player.healPlayer(inventory.getEquipmentBonus()["HPR"], inventory.getEquipmentBonus()["HP"]);
}
}
}
@@ -128,7 +128,8 @@ namespace Assets.Scripts.Player
player = new PlayerObject(playername, race, role, difficulty);
}
public void generatePlayer(BasicRace playerRace, BasicClass playerClass, string name, int difficulty){
public void generatePlayer(BasicRace playerRace, BasicClass playerClass, string name, int difficulty)
{
player = new PlayerObject(name, playerRace, playerClass, difficulty);
}
@@ -213,35 +214,20 @@ namespace Assets.Scripts.Player
}
void OnTriggerEnter(Collider col)
{
if (col.gameObject.name.Contains("_"))
if (col.name.Contains("_"))
{
worldGenerator.changeCurrentTile(col.gameObject);
}
}
void OnTriggerStay(Collider col)
{
if (col.gameObject.name.Contains("border"))
{
Vector3 newTile = new Vector3();
if (col.gameObject.name.ToLower() == "bordernorth")
{
newTile = newTile + new Vector3(0, 0, 1);
}
if (col.gameObject.name.ToLower() == "bordersouth")
{
newTile = newTile + new Vector3(0, 0, -1);
}
if (col.gameObject.name.ToLower() == "bordereast")
{
newTile = newTile + new Vector3(1, 0, 0);
}
if (col.gameObject.name.ToLower() == "borderwest")
{
newTile = newTile + new Vector3(-1, 0, 0);
}
worldGenerator.createTile(newTile);
worldGenerator.createTile(new Vector3(-1,0,-1));
worldGenerator.createTile(new Vector3(0,0,-1));
worldGenerator.createTile(new Vector3(1,0,-1));
worldGenerator.createTile(new Vector3(-1,0,0));
worldGenerator.createTile(new Vector3(1,0,0));
worldGenerator.createTile(new Vector3(-1,0,1));
worldGenerator.createTile(new Vector3(0,0,1));
worldGenerator.createTile(new Vector3(1,0,1));
}
}
public void displayAction(int index, GameObject image, GameObject desc)
@@ -316,51 +302,63 @@ namespace Assets.Scripts.Player
}
}
public PlayerStat getPlayerStat(string identifier){
public PlayerStat getPlayerStat(string identifier)
{
return player.getStat(identifier);
}
public void loadPlayer(JToken json){
public void loadPlayer(JToken json)
{
player = new PlayerObject();
player.loadPlayer(json);
}
public PlayerObject getPlayer(){
public PlayerObject getPlayer()
{
return player;
}
public string saveGame(){
public string saveGame()
{
return player.saveGame();
}
public BasicClass getClass(){
public BasicClass getClass()
{
return player.getClass();
}
public BasicRace getRace(){
public BasicRace getRace()
{
return player.getRace();
}
public int calculateDamage(){
public int calculateDamage()
{
return player.calculateDamage(inventory.getEquipmentBonus()["STR"], inventory.getEquipmentBonus()["DEX"]);
}
public bool takeDamage(int amount){
if(player != null){
return player.takeDamage(amount,inventory.getEquipmentBonus()["DEX"], inventory.getEquipmentBonus()["INT"]);
public bool takeDamage(int amount)
{
if (player != null)
{
return player.takeDamage(amount, inventory.getEquipmentBonus()["DEX"], inventory.getEquipmentBonus()["INT"]);
}
return false;
}
public int castSkill(int skillnumber){
return player.castSkill(skillnumber,inventory.getEquipmentBonus()["INT"], inventory.getEquipmentBonus()["STR"], inventory.getEquipmentBonus()["DEX"]);
public int castSkill(int skillnumber)
{
return player.castSkill(skillnumber, inventory.getEquipmentBonus()["INT"], inventory.getEquipmentBonus()["STR"], inventory.getEquipmentBonus()["DEX"]);
}
public void reduceCooldown(int skillnumber){
public void reduceCooldown(int skillnumber)
{
player.reduceCooldown(skillnumber);
}
public void regainSecondary(){
public void regainSecondary()
{
player.regainSecondary(inventory.getEquipmentBonus()["MPR"], inventory.getEquipmentBonus()["MP"]);
}
}

View File

@@ -91,6 +91,7 @@ public class Tile : MonoBehaviour
string result = "{\r\n";
GameObject obj;
result = result + FileHandler.generateJSON("tiletype", "\"" + tiletype + "\"") + ",\r\n";
result = result + FileHandler.generateJSON("tilename", "\"" + name + "\"") + ",\r\n";
result = result + FileHandler.generateJSON("position", "\"" + position.x + "/" + position.y + "/" + position.z + "\"") + ",\r\n";
result = result + "\"objects\": {\r\n";
for (int i = 0; i < gameObject.transform.childCount; i++)

View File

@@ -22,14 +22,13 @@ public class WorldGenerator : MonoBehaviour
// Start is called before the first frame update
void Start()
{
createSpawn();
}
private void OnEnable()
{
tiles = new Dictionary<Vector3, GameObject>();
noise = new NoiseGenerator();
createSpawn();
cityAmount = 10;
maxCityAmount = 10;
}
@@ -72,13 +71,17 @@ public class WorldGenerator : MonoBehaviour
public void createSpawn()
{
Vector3 pos = new Vector3(0, 0, 0);
Vector3 mapPos = new Vector3(pos.x * 100, 0, pos.z * 100);
GameObject newTile = Instantiate(tile, mapPos, Quaternion.identity);
noise.applyNoise(newTile, tiles, pos);
newTile.GetComponent<Tile>().generateTile(pos, (TileType)Enum.Parse(typeof(TileType), newTile.name.Split("_")[0]));
tiles.Add(pos, newTile);
currentTile = newTile;
if (!tiles.ContainsKey(new Vector3(0, 0, 0)))
{
Vector3 pos = new Vector3(0, 0, 0);
Vector3 mapPos = new Vector3(pos.x * 100, 0, pos.z * 100);
GameObject newTile = Instantiate(tile, mapPos, Quaternion.identity);
noise.applyNoise(newTile, tiles, pos);
newTile.GetComponent<Tile>().generateTile(pos, (TileType)Enum.Parse(typeof(TileType), newTile.name.Split("_")[0]));
tiles.Add(pos, newTile);
currentTile = newTile;
}
}
public void createTile(Vector3 requiredPosition)
@@ -92,7 +95,7 @@ public class WorldGenerator : MonoBehaviour
noise.applyNoise(newTile, tiles, pos);
newTile.GetComponent<Tile>().generateTile(pos, (TileType)Enum.Parse(typeof(TileType), newTile.name.Split("_")[0]));
tiles.Add(pos, newTile);
currentTile = newTile;
//currentTile = newTile;
GameObject.Find("QuestLog").GetComponent<QuestLog>().updateQuests("find", newTile, 1);
}
}
@@ -121,15 +124,8 @@ public class WorldGenerator : MonoBehaviour
savePath = "./save/tile" + counter + ".json";
result = result + "\"tile" + counter + "\": \"" + savePath + "\"";
tile.GetComponent<Tile>().saveTile(savePath);
if (tile.GetComponent<Tile>().getTileType() == TileType.CITY)
{
FileHandler.saveNoise("\r\n}", savePath);
}
else
{
noise.saveTile(tile, savePath);
}
if (counter < tiles.Count - 2)
noise.saveTile(tile, savePath);
if (counter < tiles.Count - 1)
{
result = result + ",\r\n";
}
@@ -155,16 +151,10 @@ public class WorldGenerator : MonoBehaviour
vectorParts = jsonData["position"].ToString().Split('/');
pos = new Vector3(float.Parse(vectorParts[0]), float.Parse(vectorParts[1]), float.Parse(vectorParts[2]));
mapPos = new Vector3(pos.x * 100, 0, pos.z * 100);
if (jsonData["tiletype"].ToString() == "CityTile")
{
loadedTile = Instantiate(tile, mapPos, Quaternion.identity);
}
else
{
loadedTile = Instantiate(tile, mapPos, Quaternion.identity);
loadedTile.GetComponent<Tile>().loadTile(jsonData, pos);
noise.loadTile(loadedTile, jsonData["vertices"], jsonData["colors"]);
}
loadedTile = Instantiate(tile, mapPos, Quaternion.identity);
loadedTile.GetComponent<Tile>().loadTile(jsonData, pos);
noise.loadTile(loadedTile, jsonData["vertices"], jsonData["colors"]);
loadedTile.name = jsonData["tilename"].ToString();
tiles.Add(pos, loadedTile);
}
currentTile = tiles[current];