[TIL] 75์ผ์ฐจ - Excel to Json

๊น€์œ ์›ยท2024๋…„ 4์›” 11์ผ
0

๐Ÿ“ 24.04.11

์—‘์…€ ํŒŒ์ผ์„ JSON ํŒŒ์ผ๋กœ ๋ฐ”๊พธ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

๐Ÿ”— Excel2Json

ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์šด ๋ฐ›๊ณ  ํ•ด๋‹น ํด๋”์— output ํด๋”๋ฅผ ๋งŒ๋“ ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๊ทธ๋žจ js ํด๋”์™€ ๊ฐ™์€ ์œ„์น˜์— ์–‘์‹์— ๋งž์ถฐ ์ž‘์„ฑํ•œ ์—‘์…€ ํŒŒ์ผ์„ ๋„ฃ๊ณ  ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๋ฉด, output ํด๋”์— json ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.

ํ•ด๋‹น json ํŒŒ์ผ์€ Resource ํŒŒ์ผ์— ๋„ฃ๊ณ  ์Šคํฌ๋ฆฝํŠธ๋กœ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LevelDatas
{
    public int level;
    public int requiredExp;
    public int atk;
    public int def;
    public int maxHp;
}

public class PlayerLevelDatabase
{
    public List<LevelDatas> levelDatas;
    public Dictionary<int, LevelDatas> levelDic = new();

    public void Initialize()
    {
        foreach (LevelDatas data in levelDatas)
        {
            levelDic.Add(data.level, data);
        }
    }

    public LevelDatas GetLevelDataByKey(int level)
    {
        if (levelDic.ContainsKey(level))
            return levelDic[level];

        return null;
    }
}

public class PlayerDataManager : MonoBehaviour
{
    public PlayerLevelDatabase playerLevelDatabase;

    private void Awake()
    {
        TextAsset LevelJson = Resources.Load<TextAsset>("JSON/LevelDatas");

        if (LevelJson != null)
        {
            string json = LevelJson.text;

            playerLevelDatabase = JsonUtility.FromJson<PlayerLevelDatabase>(json);
            playerLevelDatabase.Initialize();
        }
        else
        {
            Debug.Log("Level JSON NULL");
        }
    }

    public void SetPlayerLevel()
    {
        Player player = GameManager.Instance.player;

        if (player != null)
        {
            int level = player.Data.StatusData.Level;

            LevelDatas data = playerLevelDatabase.GetLevelDataByKey(level);
            player.Data.StatusData.LoadLevelData(data);
        }

    }
}

ํ˜•์‹์„ ์œ ์ง€ํ•˜๊ณ  ์ปฌ๋Ÿผ๋ช…๋งŒ ๋‹ค๋ฅด๊ฒŒ ์ œ์ž‘ํ•˜๋ฉด ๋œ๋‹ค.

profile
๊ฐœ๋ฐœ ๊ณต๋ถ€ ๋ธ”๋กœ๊ทธ

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด