개발일지/Unity 개인 포트폴리오 개발일지

개인포폴 12일차 / 스텟창 UI 와 대화 데이터 & 기능 구축

데브준우 2022. 6. 28. 03:07

 

가장 첫번째로는 스텟창을 구현했다.

레벨업을 하면 스텟포인트 3이 주어지며,

올린 스텟은 바로 적용되도록 했다. 

스텟 초기화 기능도 다 구현해놨다.

 

 

 

두번째로는 대화데이터를 불러와서 대화창에 띄워주는 시스템을 구축했다.

 

 

엑셀로 강아지 NPC의 진행인덱스와 대화 내용 데이터를 적어주고 CSV파일로 저장했다.

 

    public Dictionary<int, string[]> ConversationDic = new Dictionary<int, string[]>();

    private void Awake()
    {
        TextAsset myConversation = Resources.Load("DogConverseindex") as TextAsset;
        string[] splitData = myConversation.text.Split('\n');

        for(int i=1;i< splitData.Length-1;i++)
        {
            string[] SplitConversation = splitData[i].Split(',');
            ConversationDic.Add(int.Parse(SplitConversation[0]), SplitConversation);
        }
    
    }

Awake단계에서 CSV파일을 불러와서 행과 열로 잘라주며 for문에서 딕셔너리에 저장한다.

 

팀 프로젝트때 해본거라서 오래 걸리진 않았다.

 

    public void chat()
    {
        mychat = ConversationDic[GameData.Instance.DogProgress];
     
        if(myco == null)
        myco = StartCoroutine(Chatgo());
        else
        {
            StopCoroutine(myco);
            myco = StartCoroutine(Chatgo());
        }
    }

 

채팅 버튼을 누르면 NPC마다 저장 될 게임 진행 값을 키로 넣어서 텍스트를 꺼내게했다.

(퀘스트를 깨면 DogProgress 변수가 늘어나게 해서 다른 텍스트를 나오게 함)

 

원하는대로 아주 잘 나온다.

 

변수 값만 바꿔주면 다른 텍스트가 나오게 구축 해놓으니 아주 편하다.

 

다른 NPC들도 대화 내용만 적어서 만든다음에 

만든 클래스를 상속받아서 구현하기만 하면 될 것 같다.

 

 

내일은 아이템 데이터 구축과 인벤토리, 그리고 땅에 떨어진 아이템을 획득하는 것을 진행 할 예정이다.

데이터 구축 때문에 시간이 좀 오래 걸리지 않을까 싶다.

개인포폴 12일차 끝