부트캠프/Unity [ 스파르타 ]

[TIL] 유니티 스파르타 7기 12일차 - 팀프로젝트 마을클래스 및 이동

맏난거 2025. 2. 6. 21:05

Town.cs

마을을 생성해주는 클래스

이름, 마을 설명, 입장레벨

namespace TeamRPG_17._03_etc
{
    internal class Town
    {
        public string name { get; private set; }
        public string townDescription { get; private set; }
        public int entryLevel { get; private set; }


        public Town(string _name, string _townDescription, int _entryLevel)
        {
            name = _name;
            townDescription = _townDescription;
            entryLevel = _entryLevel;
        }
        
        public bool CanEnterTown()
        {
            return (GameManager.Instance.player.level >= EntryLevel);
        }
    }
}

 

TownMoveScene.cs

namespace TeamRPG_17._02_Scene
{
    internal class TownMoveScene : Scene
    {
        public override void Update()
        {
            int length = Enum.GetValues(typeof(ItemName)).Length;

            Console.Clear();
            Console.WriteLine("도시 이름들어갈 곳");
            Console.WriteLine("이동해주실 도시를 선택해주세요\n");
            Console.WriteLine("─────────────────────────");
            for ( int i = 0; i < length; i++)
            {
                Console.WriteLine($"{i + 1}. 마을 이름");
            }    
            Console.WriteLine("─────────────────────────");
            if (!GameManager.Instance.SceneInputCommand(out int intCommand))
                return;

            if(intCommand >= 0 && intCommand < length)
            {
                if (GameManager.Instance.towns[GameManager.Instance.currentTown].CanEnterTown() == false)
                    return;

                GameManager.Instance.currentTown = intCommand -1;
                GameManager.Instance.ChangeScene(SceneName.LobbyScene);
            }
        }
    }
}

일단 TownMoveScene.cs는 게임매니저에 접근을 해야되서

틀만 잡아놓은상태 입니다.

나중에 팀원들이랑 상의해서 게임매니저에 towns배열을 추가해야될 것 같네요.