private void FixedUpdate()
    {
        if (_isSpawnEnd)
        {
            return;
        }
        if (_stageData == null)
        {
            _isSpawnEnd = true; return;
        }

        spawnTime -= Time.fixedDeltaTime;
        if (spawnTime <= 0)
        {
            _spawnMgr.SetSpawnPoint(_curUnitData.IsDown ? _bottomLineTrn.position : _topLineTrn.position);
            _spawnMgr.SetSpawnIndex(_curUnitData.Index - 1);
            _spawnMgr.Spawn();

            if (_stageData._spawnUnitData.Count <= _curUnitDataNum + 1)
            {
                _isSpawnEnd = true;
            }

            _curUnitData = _stageData._spawnUnitData[++_curUnitDataNum];
            spawnTime    = _curUnitData.SpawnSec - prevSpawnSec;
            prevSpawnSec = _curUnitData.SpawnSec;
        }
    }
Exemple #2
0
        private void InitStage(string fileName)
        {
            List <string> stageDatas = CSVParser.Read(fileName);

            if (stageDatas == null)
            {
                return;
            }

            int lineCount = 0;

            string[] splitDatas;

            StageData newData = new StageData();

            newData.Init();

            // 유닛 갯수는 최대 6개
            for (; lineCount < 6; ++lineCount)
            {
                splitDatas = stageDatas[lineCount].Split(',');

                for (int j = 0; j < 4; ++j)
                {
                    int.TryParse(splitDatas[j], out newData.Team.GetUnit(lineCount)._equipedItems[j]);
                }
            }
            ++lineCount;

            splitDatas = stageDatas[lineCount++].Split(',');

            while (!string.IsNullOrWhiteSpace(splitDatas[0]) && stageDatas.Count > lineCount)
            {
                SpawnUnit newUnit = new SpawnUnit();
                int.TryParse(splitDatas[0], out newUnit.SpawnSec);
                int.TryParse(splitDatas[1], out newUnit.Index);
                int updownNum; int.TryParse(splitDatas[2], out updownNum);
                newUnit.IsDown = updownNum == 0 ? false : true;

                newData._spawnUnitData.Add(newUnit);

                splitDatas = stageDatas[lineCount++].Split(',');
            }

            _stageDataList.Add(newData);
        }