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 |