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)); }
public SHLoadData CreateLoadInfo(SHBaseTable pTable) { return(new SHLoadData() { m_eDataType = pTable.m_eDataType, m_strName = pTable.m_strIdentity, m_pLoadFunc = Load }); }
public ICollection GetData(Type pType) { SHBaseTable pTable = GetTable(pType); if (null == pTable) { return(null); } return(pTable.GetData()); }
// 인터페이스 : 바이트파일 컨버터 ( 파일 하나 ) 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)); }
// 인터페이스 : 바이트파일 컨버터 ( 파일 하나 ) 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); }
// 유틸 : 테이블 타입별 로드 순서 ( 앞선 타입의 로드에 성공하면 뒤 타입들은 로드명령 하지 않는다 ) 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); }