UGUI Test

Unity/수업내용 2019. 5. 24. 19:55

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.U2D;
 
public class TestUGUI : MonoBehaviour
{
    public SpriteAtlas atlas;
    public RectTransform contents;
    public GameObject listItemGO;
    
    void Start()
    {
        DataManager.Instance.LoadData("Datas/QuestData");
        var missionData = DataManager.Instance.dicData;
        
        for (int i = 0; i < missionData.Count; i++)
        {
            var data = (MissionData)missionData[i];
            var listItem = Instantiate(this.listItemGO, this.contents);
            listItem.transform.localScale = new Vector3(111);
 
            var missionListItem = listItem.GetComponent<MissionListItem>();
            missionListItem.Init(data.id, data.ico_name);
        }
    }
}
 
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
public class MissionListItem : MonoBehaviour
{
    public Image imgIco;
 
    internal void Init(int id, string ico_name)
    {
        var testUGUI = GameObject.FindObjectOfType<TestUGUI>();
        var spriteName =testUGUI.atlas.GetSprite(ico_name);
        this.imgIco.sprite = spriteName;
    }
}
 
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Newtonsoft.Json;
 
public class DataManager : MonoBehaviour
{
    public static DataManager Instance;
    public Dictionary<int, RawData> dicData;
    
    void Awake()
    {
        DataManager.Instance = this;
        this.dicData = new Dictionary<int, RawData>();
    }
 
    public void LoadData(string path)
    {
        var ta = Resources.Load<TextAsset>(path);
        var json = ta.text;
        var arrData = JsonConvert.DeserializeObject<MissionData[]>(json);
 
        foreach(var data in arrData)
        {
            this.dicData.Add(data.id, data);
        }
    }
}
 
cs


1
2
3
4
5
6
7
8
9
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class RawData
{
    public int id;
}
 
cs


1
2
3
4
5
6
7
8
9
10
11
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class MissionData : RawData
{
    public string ico_name;
    public string name;
    public int goal_value;
}
 
cs


: