[VR] GroundZero 개발
[4Idle - Gazzlers] GameScene test 빌드 문제 해결 2
meltingmelvin
2023. 12. 22. 16:59
-이전에 작성한 포스팅을 바탕으로 생성되지않는 오브젝트들 문제를 해결해보려고 한다.
-오른손의 ui 오브젝트가 나타나지 않는 문제를 확인해보려 했다.
=> 프리팹이 아니라 오브젝트를 넣어주어도 생성이 잘 안되어서 코드를 다시 살펴보았다.
=> 앞 부분에 있는 코드에 문제가 있어서 뒷부분에 있는 코드가 실행되지 않는 것인지 확인하기 위해서 수정한 부분을 맨 앞으로 끌어왔더니 ui 오브젝트가 생성되었다.
=> 하지만 데이터는 불러오지 못했기에, 앞부분에 문제있던 부분이 데이터 부분이라고 추측하였다.
=> 그렇다면 데이터 부분을 주석처리하면 다른 부분은 생성될수도 있지않을까 싶어 테스트해보았더니 맵은 잘 생성되는 것을 확인하였다.
-로그캣을 통해 로그를 찍어보니 파일을 못찾고 있는 것을 확인했다.
-데이터 매니저의 경로 문제였다. 로드하는 부분을 전부 수정해주었다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class DataManager
{//DataManager.cs manage Datas
public static readonly DataManager Instance = new DataManager();
//Dictionaries To save Data
private Dictionary<string, PlayerData> dicPlayerDatas = new Dictionary<string, PlayerData>();
private Dictionary<int, GunData> dicGunDatas = new Dictionary<int, GunData>();
private Dictionary<string, EnemyData> dicEnemyDatas = new Dictionary<string, EnemyData>();
//method
public void LoadPlayerDatas()
{
// if (File.Exists("./Assets/Resources/Data/playerData.json"))
{
//read file
// string json = File.ReadAllText("./Assets/Resources/Data/playerData.json");
TextAsset asset = Resources.Load<TextAsset>("playerData");
string json = asset.text;
// Debug.Log(json);
var playerDatas = JsonConvert.DeserializeObject<PlayerData[]>(json);
this.dicPlayerDatas = playerDatas.ToDictionary(x => x.playerUserName);
}
//else
//{
// Debug.Log("File doesn't exist!");
// return;
//}
Debug.LogFormat("Loaded Player Data: {0}", this.dicPlayerDatas.Count);
}
public void LoadGunrDatas()
{
//if (File.Exists("./Assets/Resources/Data/gunData.json"))
{ //read file
TextAsset asset = Resources.Load<TextAsset>("gunData");
string json = asset.text;
// string json = File.ReadAllText("./Assets/Resources/Data/gunData.json");
var gunDatas = JsonConvert.DeserializeObject<GunData[]>(json);
this.dicGunDatas = gunDatas.ToDictionary(x => x.gunId);
}
//else
//{
// Debug.Log("File doesn't exist!");
// return;
//}
Debug.LogFormat("Loaded Gun Data: {0}", this.dicGunDatas.Count);
}
public void LoadEnemyDatas()
{
// if (File.Exists("./Assets/Resources/Data/enemyData.json"))
{ //read file
TextAsset asset = Resources.Load<TextAsset>("enemyData");
string json = asset.text;
//string json = File.ReadAllText("./Assets/Resources/Data/enemyData.json");
var enemyDatas = JsonConvert.DeserializeObject<EnemyData[]>(json);
this.dicEnemyDatas = enemyDatas.ToDictionary(x => x.enemyType);
}
//else
//{
// Debug.Log("File doesn't exist!");
// return;
//}
Debug.LogFormat("Loaded Enemy Data: {0}", this.dicGunDatas.Count);
}
public List<PlayerData> GetPlayerDatas()
{
return this.dicPlayerDatas.Values.ToList();
}
public List<GunData> GetGunDatas()
{
return this.dicGunDatas.Values.ToList();
}
public List<EnemyData> GetEnemyDatas()
{
return this.dicEnemyDatas.Values.ToList();
}
}