스토리지

[3.16] 배열 및 클래스 복습 1 본문

Unity/수업내용(C#)

[3.16] 배열 및 클래스 복습 1

ljw4104 2021. 3. 16. 10:16
using System;

namespace Study07
{
    public class App
    {
        public App()
        {
            //Item배열 변수 선언
            Item[] items;

            //배열 인스턴스화
            items = new Item[3];

            //Item 객체 생성
            //ItemData 객체를 생성해서 인자로 넘김 (∵ 인자를 직접 적을시 길어질 수 있음)
            ItemData data1 = new ItemData("장검", 20, ItemData.eItemType.WEAPON);             //ItemData 객체 생성
            Item item1 = new Item(data1);                                                     //위에서 만든 ItemData 객체를 Item 클래스의 생성자 인자로 넘겨줌

            ItemData data2 = new ItemData("단검", 10, ItemData.eItemType.WEAPON);
            Item item2 = new Item(data2);

            ItemData data3 = new ItemData("창", 25, ItemData.eItemType.WEAPON);
            Item item3 = new Item(data3);

            //배열의 요소에 값 할당
            items[0] = item1;
            items[1] = item2;
            items[2] = item3;

            //배열의 요소 출력
            foreach (var i in items)
            {
                if (i != null)
                {
                    Console.WriteLine("{0}", i.data.name);
                }

            }
        }
    }
}
using System;

namespace Study07
{
    public class Item
    {
        public ItemData data;
        public Item(ItemData data)
        {
            this.data = data;
        }
    }
}
using System;

namespace Study07
{
    public class ItemData
    {
        public string name;
        public int damage;
        public eItemType itemType;

        public enum eItemType
        {
            WEAPON,
            ARMOR,
            ACCESSORY,
            POTION
        }

        public ItemData()
        {

        }

        public ItemData(string name, int damage, eItemType itemType)
        {
            this.name = name;
            this.damage = damage;
            this.itemType = itemType;
        }
    }
}

Comments