示例#1
0
    // 엑셀 파일 로드 [4/29/2012 JK]
    public void LoadExcel()
    {
        CLoadExcel excelFarser = new CLoadExcel();
        excelFarser.LoadExcel("CharacterDB.xlsx");
        excelFarser.ActiveSheet("CharInfo");

        int iRow = 0;
        int iCol;

        while (true)
        {
            iCol = 0;

            string str = excelFarser.GetData(iCol++, iRow);
            if (str.Length <= 0)
            {
                break;
            }
            CCharInfo charInfo = new CCharInfo();

            charInfo.m_nCode = CConvert.ToInt32(str);                                           // 캐릭터 코드
            charInfo.m_strName = excelFarser.GetData(iCol++, iRow);                             // 캐릭터 이름
            charInfo.m_strPrefab = excelFarser.GetData(iCol++, iRow);                           // Assets 안에 있는 Prefab 텍스트명
            charInfo.m_nCharType = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));         // 캐릭터 타입 0:플레이어 1:몬스터
            charInfo.m_nMaxHP = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));            // 최대 체력
            charInfo.m_nNowHP = charInfo.m_nMaxHP;                                              // 현재 체력
            charInfo.m_nCharWidth = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));          // 캐릭터 넓이
            charInfo.m_fMoveSpeed = CConvert.ToFloat(excelFarser.GetData(iCol++, iRow));          // 이동 속도(s) 목표지점까지 몇초만에 도착하는지
            charInfo.m_nAttackDamage = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));       // 공격 데미지
            charInfo.m_nAttackRange = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));      // 캐릭터 기본 사거리
            charInfo.m_fAttackSpeed = CConvert.ToFloat(excelFarser.GetData(iCol++, iRow));      // 캐릭터 공격 속도 1: 1초에 한번
            charInfo.m_nExp = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));              // 캐릭터가 죽었을시 제공되는 경험치
            charInfo.m_fAfterAttackIdleTermTime = CConvert.ToFloat(excelFarser.GetData(iCol++, iRow)); // 공격후 Idle 유지 시간
            charInfo.m_nPay = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));  // 보상 (돈)

            iRow++;
            if (!m_mapCharacter.ContainsKey(charInfo.m_nCode))
            {
                m_mapCharacter.Add(charInfo.m_nCode, charInfo);
            }
            else
            {
                MessageBox.Show("중복된 인덱스값[" + Convert.ToString(charInfo.m_nCode) + "]");
                m_mapCharacter.Clear();
                break;
            }
        }

        excelFarser.CleanUp();
    }
示例#2
0
    // 엑셀 파일 로드 [6/302012 JK]
    public void LoadExcel()
    {
        CLoadExcel excelFarser = new CLoadExcel();
        excelFarser.LoadExcel("SkillDB.xlsx");
        excelFarser.ActiveSheet("SkillInfo");

        int iRow = 0;
        char[] strTemp = new char[1024];

        while (true)
        {
            int iCol = 0;

            string str = excelFarser.GetData(iCol++, iRow);
            if (str.Length <= 0)
            {
                break; ;
            }

            CSkillInfo Info = new CSkillInfo();
            // 스킬 고유 코드
            Info.m_nSkillCode = CConvert.ToInt32(str);                                  // 스킬 고유 코드
            Info.m_strName = excelFarser.GetData(iCol++, iRow);                         // 스킬 이름
            Info.m_fRange = CConvert.ToFloat(excelFarser.GetData(iCol++, iRow));        // 스킬 적용 범위
            Info.m_fRange *= 0.01f;
            Info.m_nDamage = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));       // 스킬 데미지량
            Info.m_nHeal = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));          // 스킬 힐량
            Info.m_fContinueTime = CConvert.ToFloat(excelFarser.GetData(iCol++, iRow));  // 스킬 적용되는 시간
            Info.m_strPrefab = excelFarser.GetData(iCol++, iRow);                        // 스킬 사용시 사용할 Prefab

            iRow++;
            if (!m_tmSkill.ContainsKey(Info.m_nSkillCode))
            {
                m_tmSkill.Add(Info.m_nSkillCode, Info);
            }
            else
            {
                MessageBox.Show("중복된 인덱스값[" + Convert.ToInt32(Info.m_nSkillCode) + "]");
                m_tmSkill.Clear();
                break;
            }
        }

        excelFarser.CleanUp();
    }
示例#3
0
    // 엑셀 파일 로드 [4/29/2012 JK]
    public void LoadExcel()
    {
        CLoadExcel excelFarser = new CLoadExcel();
        excelFarser.LoadExcel("StageDB.xlsx");
        excelFarser.ActiveSheet("StageInfo");

        int iRow = 0;
        int iCol;

        while (true)
        {
            iCol = 0;

            string str = excelFarser.GetData(iCol++, iRow);
            if (str.Length <= 0)
            {
                break;
            }
            CStateInfo Info = new CStateInfo();

            Info.m_nStageIndex = CConvert.ToInt32(str);                                           // 몇번째 스테이지 인지
            for (int i = 0; i < 3; ++i)
            {
                Info.m_anCharCode[i] = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));         // 스테이지 별로 나오는 캐릭터
            }
            Info.m_fTermTime = CConvert.ToFloat(excelFarser.GetData(iCol++, iRow));                 // 보스 나오기 전 텀 시간
            Info.m_anCharCode[3] = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));

            iRow++;

            if (!m_tmStage.ContainsKey(Info.m_nStageIndex))
            {
                m_tmStage.Add(Info.m_nStageIndex, Info);
            }
            else
            {
                MessageBox.Show("중복된 인덱스값[" + Convert.ToString(Info.m_nStageIndex) + "]");
                break;
            }
        }

        excelFarser.CleanUp();
    }
示例#4
0
    // 엑셀 파일 로드 [4/29/2012 JK]
    public void LoadExcel()
    {
        CLoadExcel excelFarser = new CLoadExcel();
        excelFarser.LoadExcel("ItemDB.xlsx");
        excelFarser.ActiveSheet("ItemInfo");

        int iRow = 0;
        string strTemp;

        while (true)
        {
            int iCol = 0;

            string str = excelFarser.GetData(iCol++, iRow);
            if (str.Length <= 0)
            {
                break; ;
            }
            CItemInfo info = new CItemInfo();
            int nIndex = CConvert.ToInt32(str);
            info.m_nIndex = nIndex;
            info.m_strName = excelFarser.GetData(iCol++, iRow);
            info.m_nMainType = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));
            info.m_nDetailType = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));
            info.m_fDamage = CConvert.ToFloat(excelFarser.GetData(iCol++, iRow));
            info.m_fRange = CConvert.ToFloat(excelFarser.GetData(iCol++, iRow));
            info.m_fAttackSpeed = CConvert.ToFloat(excelFarser.GetData(iCol++, iRow));
            info.m_fAngle = CConvert.ToFloat(excelFarser.GetData(iCol++, iRow));
            info.m_fCharMoveSpeed = CConvert.ToFloat(excelFarser.GetData(iCol++, iRow));
            info.m_nWeaponSkillIndex = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));
            info.m_nUseableLevel = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));
            info.m_nPrice = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));
            info.m_strModel = excelFarser.GetData(iCol++, iRow);
            info.m_strSound = excelFarser.GetData(iCol++, iRow);
            info.m_strIcon = excelFarser.GetData(iCol++, iRow);

            // 아이템 기능
            int iTemp = 0, nCharCount = 0;
            char[] cTemp = new char[128];
            strTemp = excelFarser.GetData(iCol++, iRow);
            while (iTemp < strTemp.Length)
            {
                if (strTemp[iTemp] != ';')
                {
                    cTemp[nCharCount++] = strTemp[iTemp++];
                }
                else
                {
                    cTemp[nCharCount] = '0';
                    nCharCount = 0;
                    switch (Convert.ToInt32(cTemp))
                    {
                        case 1:
                            info.m_nFuntion |= 0x0000000000000001;
                            break;
                        case 2:
                            info.m_nFuntion |= 0x0000000000000001;
                            break;
                    }
                }
            }
            info.m_nHP = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));
            info.m_nMP = CConvert.ToInt32(excelFarser.GetData(iCol++, iRow));

            iRow++;
            if (!m_mapItem.ContainsKey(nIndex))
            {
                m_mapItem.Add(nIndex, info);
            }
            else
            {
                MessageBox.Show("중복된 인덱스값[" + Convert.ToInt32(nIndex) + "]");
                m_mapItem.Clear();
                break;
            }
        }

        excelFarser.CleanUp();
    }