Пример #1
0
    public CharaTextData(ExcelData _ed)
    {
        if (_ed.IsInvalid)
        {
            isInvalid = true;
            return;
        }
        nowCount = 0;
        maxCount = _ed.GetColumnCount() - 1;
        if (0 == maxCount)
        {
            isInvalid = true;
            return;
        }
        dataList = new List <TextDataSet>();

        icon = MyFunctions.CreateSprite(_ed.GetCell(0, 0));
        for (int col = 1; col < _ed.GetColumnCount(); ++col)
        {
            TextDataSet tds   = new TextDataSet(_ed.GetCell(0, col));
            int         count = (_ed.GetRowCount(col) - 1) / 3;
            for (int row = 1; row < _ed.GetRowCount(col); row += 3)
            {
                if (_ed.GetCell(row, col) != "" ||
                    _ed.GetCell(row + 1, col) != "")
                {
                    continue;
                }
                count = (row - 1) / 3;
                break;
            }
            tds.SetReplyCount(count);
            for (int i = 0; i < count; ++i)
            {
                tds.SetReply(i, _ed.GetCell(i * 3 + 1, col), _ed.GetCell(i * 3 + 3, col));
                if (_ed.GetCell(i * 3 + 2, col) != "")
                {
                    tds.SetJump(i, _ed.GetCell(i * 3 + 2, col));
                }
            }
            dataList.Add(tds);
        }

        for (int i = 0; i < dataList.Count; ++i)
        {
            MyFunctions.LineFeed(ref dataList[i].question);
            for (int j = 0; j < dataList[i].replyCount; ++j)
            {
                MyFunctions.LineFeed(ref dataList[i].reply[j]);
            }
        }

        isInvalid = false;
    }