Example #1
0
    // 바이너리 로드
    public void Load()
    {
        FileStream fs = new FileStream("SkillDB.bin", FileMode.Open);
        BinaryReader br = new BinaryReader(fs);

        // *주의
        // 바이너리 세이브 순서와 로드 순서가 같아야된다. [5/13/2012 JK]
        // 바이너리 리드
        int iCount = br.ReadInt32();        // 갯수 읽기
        for (int i = 0; i < iCount; ++i)
        {
            CSkillInfo Info = new CSkillInfo();

            Info.m_nSkillCode = br.ReadInt32();               // 스킬 고유 코드
            Info.m_strName = br.ReadString();                // 스킬 이름
            Info.m_fRange = br.ReadSingle();                 // 스킬 적용 범위
            Info.m_nDamage = br.ReadInt32();            // 스킬 데미지량
            Info.m_nHeal = br.ReadInt32();              // 스킬 힐량
            Info.m_fContinueTime = br.ReadSingle();          // 스킬 적용되는 시간
            Info.m_strPrefab = br.ReadString();             // 스킬 사용시 사용할 Prefab

            m_tmSkill.Add(Info.m_nSkillCode, Info);
        }

        fs.Close();
        br.Close();
    }
Example #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();
    }