C#/실습
10.15 Dictionary 활용해 업적 보상 UIPanel 만들기
미고렝
2019. 10. 15. 16:44
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _10._15_step4
{
class App
{
public App()
{
Dictionary<int, RewardData> rewardDatas = new Dictionary<int, RewardData>();
rewardDatas.Add(1, new RewardData("코인", 1000));
rewardDatas.Add(2, new RewardData("보호구1", 1));
rewardDatas.Add(3, new RewardData("랜덤박스", 10));
rewardDatas.Add(4, new RewardData("코인", 1500));
Dictionary<int, AcheivementData> acheivementDatas = new Dictionary<int, AcheivementData>();
acheivementDatas.Add(1, new AcheivementData("업적1", "업적1설명", 1));
acheivementDatas.Add(2, new AcheivementData("업적2", "업적2설명", 2));
acheivementDatas.Add(3, new AcheivementData("업적3", "업적3설명", 3));
acheivementDatas.Add(4, new AcheivementData("업적4", "업적4설명", 4));
UIPanel panel1 = new UIPanel(rewardDatas, acheivementDatas);
panel1.ShowAchDataByKey(3);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _10._15_step4
{
class UIPanel
{
public Dictionary<int, AcheivementData> dicAchData;
public Dictionary<int, RewardData> dicRewData;
public UIPanel(Dictionary<int, RewardData> rewardDatas, Dictionary<int, AcheivementData> achDatas)
{
this.dicAchData = achDatas;
this.dicRewData = rewardDatas;
}
public RewardData SearchRewardDataByKey(int id)
{
return dicRewData[id];
}
public void ShowAchDataByKey(int id)
{
Console.WriteLine($"ID 번호{id}를 가진 업적데이터를 출력합니다.");
Console.WriteLine(dicAchData[id].achName);
Console.WriteLine(dicAchData[id].achDesc);
Console.WriteLine(SearchRewardDataByKey(dicAchData[id].rewardDataId).name);
Console.WriteLine(SearchRewardDataByKey(dicAchData[id].rewardDataId).amount);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _10._15_step4
{
class AcheivementData
{
public string achName;
public string achDesc;
public int rewardDataId;
public AcheivementData( string name, string desc, int rewardData)
{
this.achName = name;
this.achDesc = desc;
this.rewardDataId = rewardData;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _10._15_step4
{
class RewardData
{
public string name;
public int amount;
public RewardData( string name, int amount)
{
this.name = name;
this.amount = amount;
}
}
}