EasyCastleUNITY

DataManager 본문

C#프로그래밍

DataManager

EasyCastleT 2023. 7. 26. 17:27

싱글톤 패턴을 응용한 DataManager 클래스 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LearnDotnet
{
    public class DataManager
    {
        public static readonly DataManager instance = new DataManager();
        Dictionary<int, ItemData> itemDic = new Dictionary<int, ItemData>(); 
        Dictionary<int, MonsterData> monsterDic = new Dictionary<int, MonsterData>();
        private DataManager()
        {

        }

        public void LoadItemDatas()
        {
            itemDic.Add(100, new ItemData(100, "장검", 0, 8));
            itemDic.Add(101, new ItemData(101, "단검", 0, 5));
            itemDic.Add(102, new ItemData(102, "활", 0, 6));
            itemDic.Add(103, new ItemData(103, "도끼", 0, 10));
            itemDic.Add(104, new ItemData(104, "사슬 갑옷", 0, 0));
            itemDic.Add(105, new ItemData(105, "체력 물약", 0, 0));

            monsterDic.Add(1000, new MonsterData(1000, "고블린", 15, 100));
            monsterDic.Add(1001, new MonsterData(1001, "트롤", 20, 101));
            monsterDic.Add(1002, new MonsterData(1002, "오우거", 30, 102));

        }
        // ItemData 클래스의 접근제한자가 public 이어야한다.
        public ItemData GetItemData(int id) 
        {
            return itemDic[id];
        }
        // MonsterData 클래스의 접근제한자가 public 이어야한다.
        public MonsterData GetMonsterData(int id)
        {
            return monsterDic[id];
        }
    }
}

'C#프로그래밍' 카테고리의 다른 글

2023/07/26 복습  (0) 2023.07.26
디자인 패턴  (0) 2023.07.26
컬렉션을 활용한 아이템 및 인벤토리  (0) 2023.07.26
2048 (이동 까지만 구현)  (0) 2023.07.25
2차원 배열을 통한 맵 이동 (워프 히어로)  (0) 2023.07.25