2019-10-14 UIPanel 과 Data 클래스 만들기

Console Programming/C# Console 2019. 10. 14. 15:20

 

Program.cs


namespace Syntax02
{
    class Program
    {
        static void Main(string[] args)
        {
            new App();
        }
    }
}

App.cs


namespace Syntax02
{
    public class App
    {
        public App()
        {
            var achievement1 = new Achievements("[탐험] 남부 평원", "남부 평원 지도를 모두 밝힙니다.", "완료", 100, "Gold", 1000, "trophyImg");
            var achievement2 = new Achievements("[탐험] 리트바르 마굴 지하 1층", "리트바르 마굴 지하 1층 지도를 모두 밝힙니다.", "진행중", 87, "Gold", 1500, "emptyTrophyImg");
            var achievement3 = new Achievements("[탐험] 황무지", "황무지 지도를 모두 밝힙니다.", "완료", 100, "Gold", 1000 ,"trophyImg");
            var achievement4 = new Achievements("[탐험] 칭호 10개 수집", "칭호를 10회 수집합니다.", "진행중", 80, "Gold", 2000, "emptyTrophyImg");

            var panel1 = new UIPanel(achievement1);
            var panel2 = new UIPanel(achievement2);
            var panel3 = new UIPanel(achievement3);
            var panel4 = new UIPanel(achievement4);

        }
    }
}

UIPanel.cs


namespace Syntax02
{
    public class UIPanel
    {
        public TextField textFieledName;
        public TextField textFieledDescription;
        public TextField textFieledProgress;
        public TextField textFieldprogressPercentage;
        public Sprite rewardImgPath;
        public TextField textFieldGoldAmount;
        public Sprite trophyImgPath;        
        public UIPanel(Achievements achievements)
        {
            var textFieledName = new TextField();
            var textFieledDescription = new TextField();
            var textFieledProgress = new TextField();
            var textFieldprogressPercentage = new TextField();
            var rewardImgPath = new Sprite();
            var textFieldGoldAmount = new TextField();
            var trophyImgPath = new Sprite();

            textFieledName.Show(achievements.name);
            textFieledDescription.Show(achievements.description);
            textFieledProgress.Show(achievements.progress);
            textFieldprogressPercentage.Show($"{achievements.progressPercentage} %");
            rewardImgPath.Show(achievements.rewardImgPath);
            textFieldGoldAmount.Show(achievements.goldAmount.ToString());
            trophyImgPath.Show(achievements.trophyImgPath);
            Console.WriteLine();
        }
    }
}

Sprite.cs

using System;

namespace Syntax02
{
    public class Sprite
    {
        public Sprite()
        {

        }
        public void Show(string imgPath)
        {
            Console.WriteLine($"{imgPath}의 이미지를 불러와 보여줍니다");            
        }
    }
}

TextField.cs

using System;

namespace Syntax02
{
    public class TextField
    {
        public TextField()
        {

        }
        public void Show(string str)
        {
            Console.WriteLine($"{str}");           
        }
    }
}

 

: