Example #1
0
    void Init_MissionDailyData()
    {
        _mission_daily_data = new List <GameData_MissionDaily>();

        string text = _mission_daily_csv.text;

        // StringReader는 1줄 씩 읽기 위해서 쓰이는 기능
        using (StringReader reader = new StringReader(text))
        {
            // 밑의 RaadLine이 실행되면 자동으로 다음줄로 넘어감
            string line = reader.ReadLine();

            // 두번째줄 부터 불러올때는 이렇게 한줄을 강제로 읽고 시작
            // while문으로 인해 파일의 끝행에 이를때까지 한줄씩 찍어옴
            while ((line = reader.ReadLine()) != null)
            {
                // csv 값이므로 ',' seperator 로 데이터를 분리해서 저장
                string[] record = line.Split(',');

                Debug.Assert(record.Length == 6);

                GameData_MissionDaily temp = new GameData_MissionDaily();
                temp.id          = int.Parse(record[0]);
                temp.name        = record[1];
                temp.clearCount  = int.Parse(record[2]);
                temp.gem_reward  = int.Parse(record[3]);
                temp.reward_icon = record[4];
                temp.desc        = record[5];

                // 스프라이트 전체를 가져올 때
                Sprite[] spList = Resources.LoadAll <Sprite>("spritesheet_32x32");
                // 스프라이트 전체의 크기 만큼 반복
                for (int i = 0; i < spList.Length; i++)
                {
                    Sprite sp = spList[i];           // 현재의 아이템만 sp 변수에 넣어준 후
                    if (sp.name == temp.reward_icon) // sp의 이름이 gem_yellow 라면
                    {
                        // 유니티에서 GameData 객체의 GameData_MissionDailly_data에 추가 해줌
                        temp.reward_icon_sp = sp;
                        break;
                    }
                }



                _mission_daily_data.Add(temp);
            }
        }
    }
Example #2
0
        void Start()
        {
            MissionItem[] array = GetComponentsInChildren <MissionItem>();
            // List에 하나를 집어넣을때는 Add, 많이 넣을때는 AddRange
            _itemList.AddRange(array);

            List <GameData_MissionDaily> missionDataList = _gameData._mission_daily_data;

            for (int i = 0; i < _itemList.Count; i++)
            {
                GameData_MissionDaily data = missionDataList[i];
                MissionItem           item = _itemList[i];
                item.SetData(data);                 // 일일 미션 데이터를 각 항목에 넣어준다.
            }
        }
Example #3
0
        public void SetData(GameData_MissionDaily data)
        {
            // 데이터를 받아서 실제 그 데이터로 내용들을 표시를 한다.
            // 미션이름
            _nameTxt.text = data.name;

            // 진행횟수, 총 완료 횟수(ClearCount)
            int currentCount = 0;
            int totalCount   = data.clearCount;

            //_clearCountTxt.text = string.Format("{0}/{1}", currentCount,totalCount);
            _clearCountTxt.text = string.Format($"{currentCount}/{totalCount}");

            // 보상
            _rewardTxt.text = data.gem_reward.ToString();

            // 보상 아이콘
            _rewardIcon.sprite = data.reward_icon_sp;
        }