[4Idle - Gazzlers] GameScene test 빌드 문제 해결 2

-이전에 작성한 포스팅을 바탕으로 생성되지않는 오브젝트들 문제를 해결해보려고 한다.

-오른손의 ui 오브젝트가 나타나지 않는 문제를 확인해보려 했다.

=> 프리팹이 아니라 오브젝트를 넣어주어도 생성이 잘 안되어서 코드를 다시 살펴보았다. 

=> 앞 부분에 있는 코드에 문제가 있어서 뒷부분에 있는 코드가 실행되지 않는 것인지 확인하기 위해서 수정한 부분을 맨 앞으로 끌어왔더니 ui 오브젝트가 생성되었다.

=> 하지만 데이터는 불러오지 못했기에, 앞부분에 문제있던 부분이 데이터 부분이라고 추측하였다.

=> 그렇다면 데이터 부분을 주석처리하면 다른 부분은 생성될수도 있지않을까 싶어 테스트해보았더니 맵은 잘 생성되는 것을 확인하였다.

-로그캣을 통해 로그를 찍어보니 파일을 못찾고 있는 것을 확인했다.

DataManager.cs 수정

-데이터 매니저의 경로 문제였다. 로드하는 부분을 전부 수정해주었다.

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();
        }
    }

오큘러스 실행화면(quest link X, build한 결과)

 

 

 

myoskin