2019-10-15 17일차 팝업패널 제작
Console Programming/C# Console 2019. 10. 15. 18:07
Program.cs
namespace Syntax01
{
class Program
{
static void Main(string[] args)
{
new App();
}
}
}
App.cs
using System.Collections.Generic;
namespace Syntax01
{
public class App
{
List rewardDataList;
public App()
{
//보상 데이터를 10개를 만들었다.
var data1 = new RewardData("지도", 1);
var data2 = new RewardData("장비상자", 1);
var data3 = new RewardData("약초", 10);
rewardDataList = new List();
rewardDataList.Add(data1);
rewardDataList.Add(data2);
rewardDataList.Add(data3);
//이벤트버튼 생성
Button btn = new Button("이벤트버튼");
//이벤트팝업 생성
UIPopupEvent popup = new UIPopupEvent(this.rewardDataList);
btn.Click(popup);
}
}
}
UIPopupEvent.cs
using System;
using System.Collections.Generic;
namespace Syntax01
{
public class UIPopupEvent
{
public UIPopupEvent(List list)
{
Console.WriteLine("팝업이 생성되었습니다.");
for(int i =0; i<list.Count; i++)
{
RewardData data = list[i];
new RewardPanel(i+1, data);
}
}
public void OpenPopup()
{
Console.WriteLine("팝업이 열렸습니다");
}
public void Close()
{
Console.WriteLine("팝업이 닫혔습니다");
}
}
}
Button.cs
using System;
namespace Syntax01
{
public class Button
{
public string name;
public Button(string name)
{
Console.WriteLine("버튼이 생성되었습니다.");
this.name = name;
}
public void Click(UIPopupEvent popup)
{
Console.WriteLine("버튼이 클릭되었습니다.");
popup.OpenPopup();
}
}
}
RewardPanel.cs
namespace Syntax01
{
public class RewardPanel
{
public TextField tfDay;
public TextField tfName;
public TextField tfAmount;
public RewardPanel(int day, RewardData data)
{
tfDay = new TextField(day + "일차");
tfName = new TextField(data.name);
tfAmount = new TextField(data.amount.ToString());
}
}
}
TextField.cs
using System;
namespace Syntax01
{
public class TextField
{
public TextField(string text)
{
Console.WriteLine($"{text} 를 화면에 보여줍니다");
}
}
}
RewardData.cs
namespace Syntax01
{
public class RewardData
{
public string name;
public int amount;
public RewardData(string name, int amount)
{
this.name = name;
this.amount = amount;
}
}
}
'Console Programming > C# Console' 카테고리의 다른 글
2019-10-16 18일차 Dictionary 컬렉션에 데이터추가하기 (수동으로) (0) | 2019.10.16 |
---|---|
Json Object를 파일에 저장하기 (0) | 2019.10.15 |
백준 10818 최소 최대 (0) | 2019.10.15 |
백준 1546 평균 (0) | 2019.10.15 |
백준 2577 숫자의 개수 (0) | 2019.10.15 |