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

public class CardData
{
    public int id;
    public string name;
    public string sprite_name;
}

 

 

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

public class CardInfo
{
    public int id;

    public CardInfo(int id)
    {
        this.id = id;
    }
}

 

 

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

public class Card : MonoBehaviour
{
    private CardInfo cardInfo;

    [SerializeField] private SpriteRenderer spriteRenderer;

    public void SetCardInfo(CardInfo cardInfo)
    {
        this.cardInfo = cardInfo;
    }

    public void SetSprite(Sprite sp)
    {
        spriteRenderer.sprite = sp;
    }
}

 

using Newtonsoft.Json;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.U2D;

public class Main : MonoBehaviour
{
    [SerializeField] private GameObject cardPrefab;
    [SerializeField] private SpriteAtlas cardAtlas;

    void Start()
    {
        TextAsset ts = Resources.Load<TextAsset>("Data/card_data");
        string json = ts.text;
        Debug.Log(json);

        Dictionary<int, CardData> dicCardDatas = JsonConvert.DeserializeObject<List<CardData>>(json).ToDictionary(x => x.id);

        GameObject cardGo = Instantiate(cardPrefab);
        Card card = cardGo.GetComponent<Card>(); //생성된 프리팹에
        CardInfo cardInfo = new CardInfo(100);

        card.SetCardInfo(cardInfo);
        CardData cardData = dicCardDatas[101];
        Sprite sp = cardAtlas.GetSprite(cardData.sprite_name);
        card.SetSprite(sp);
        

    }

}

'Study > ' 카테고리의 다른 글

[Tip] Object.FindObjectOfType  (0) 2024.06.11
[Tip] RenderSettings  (0) 2024.06.05
[팁] Slider.onValueChanged  (0) 2024.06.05
[Tip] 패키지에서 프리팹찾기  (0) 2024.04.18
[Tip] CameraShaker  (0) 2024.03.29

+ Recent posts