Ejemplo n.º 1
0
    public override void Load(SHLoadData pInfo, Action <string, SHLoadStartInfo> pStart,
                              Action <string, SHLoadEndInfo> pDone)
    {
        SHBaseTable pTable = GetTable(pInfo.m_strName);

        if (null == pTable)
        {
            Debug.LogError(string.Format("[TableData] 등록된 테이블이 아닙니다.!!({0})", pInfo.m_strName));
            pDone(pInfo.m_strName, new SHLoadEndInfo(false, eLoadErrorCode.Load_Table));
            return;
        }

        SHUtils.ForToList(GetLoadOrder(pTable), (pLambda) =>
        {
            bool?bIsSuccess = pLambda();
            if (null != bIsSuccess)
            {
                if (true == bIsSuccess.Value)
                {
                    pDone(pInfo.m_strName, new SHLoadEndInfo(true, eLoadErrorCode.None));
                }
                else
                {
                    pDone(pInfo.m_strName, new SHLoadEndInfo(true, eLoadErrorCode.Load_Table));
                }
                return;
            }
        });

        pDone(pInfo.m_strName, new SHLoadEndInfo(false, eLoadErrorCode.Load_Table));
    }
Ejemplo n.º 2
0
 public SHLoadData CreateLoadInfo(SHBaseTable pTable)
 {
     return(new SHLoadData()
     {
         m_eDataType = pTable.m_eDataType,
         m_strName = pTable.m_strIdentity,
         m_pLoadFunc = Load
     });
 }
Ejemplo n.º 3
0
    public ICollection GetData(Type pType)
    {
        SHBaseTable pTable = GetTable(pType);

        if (null == pTable)
        {
            return(null);
        }

        return(pTable.GetData());
    }
Ejemplo n.º 4
0
    // 인터페이스 : 바이트파일 컨버터 ( 파일 하나 )
    public void ConvertByteFile(SHBaseTable pTable, string strSavePath)
    {
        if (null == pTable)
        {
            return;
        }

        byte[] pBytes = pTable.GetBytesTable();
        if (null == pBytes)
        {
            return;
        }

        SHUtils.SaveByte(pBytes, string.Format("{0}/{1}{2}", strSavePath, pTable.m_strByteFileName, ".bytes"));

        Debug.Log(string.Format("{0} To Convert Byte Files : {1}",
                                (true == pTable.IsLoadTable() ? "<color=yellow>Success</color>" : "<color=red>Fail!!</color>"),
                                pTable.m_strFileName));
    }
Ejemplo n.º 5
0
    // 인터페이스 : 바이트파일 컨버터 ( 파일 하나 )
    public bool ConverterByteFile(SHBaseTable pTable, string strSavePath)
    {
        if (null == pTable)
        {
            return(false);
        }

        byte[] pBytes = pTable.GetBytesTable();
        if (null == pBytes)
        {
            return(false);
        }

        SHUtils.SaveByte(pBytes, string.Format("{0}/{1}{2}", strSavePath, pTable.GetFileName(eTableLoadType.Byte), ".bytes"));

        Debug.Log(string.Format("[LSH] {0} To Converter Byte Files : {1}",
                                (true == pTable.IsLoadTable() ? "<color=yellow>Success</color>" : "<color=red>Fail!!</color>"),
                                pTable.GetFileName(eTableLoadType.Byte)));

        return(true);
    }
Ejemplo n.º 6
0
    // 유틸 : 테이블 타입별 로드 순서 ( 앞선 타입의 로드에 성공하면 뒤 타입들은 로드명령 하지 않는다 )
    List <Func <bool?> > GetLoadOrder(SHBaseTable pTable)
    {
        var pLoadOrder = new List <Func <bool?> >();

        //if (true == Single.AppInfo.IsEditorMode())
        //{
        //    pLoadOrder.Add(() => { return pTable.LoadStatic();                        });
        //    pLoadOrder.Add(() => { return pTable.LoadXML(pTable.m_strFileName);       });
        //    pLoadOrder.Add(() => { return pTable.LoadBytes(pTable.m_strByteFileName); });
        //    pLoadOrder.Add(() => { return pTable.LoadJson(pTable.m_strFileName);      });
        //    pLoadOrder.Add(() => { return pTable.LoadDB(pTable.m_strFileName);        });
        //}
        //else
        {
            pLoadOrder.Add(() => { return(pTable.LoadStatic()); });
            pLoadOrder.Add(() => { return(pTable.LoadBytes(pTable.m_strByteFileName)); });
            pLoadOrder.Add(() => { return(pTable.LoadXML(pTable.m_strFileName)); });
            pLoadOrder.Add(() => { return(pTable.LoadJson(pTable.m_strFileName)); });
            pLoadOrder.Add(() => { return(pTable.LoadDB(pTable.m_strFileName)); });
        }

        return(pLoadOrder);
    }