daily update on 20240610 by nitload youmu

This commit is contained in:
Nitload
2024-06-10 15:11:01 +08:00
parent c0093f7b5c
commit f6963b8e00
96 changed files with 2927 additions and 2290 deletions
+2 -64
View File
@@ -13,70 +13,8 @@ namespace StgSharp.Data
/// Contains several <see cref="SSD"/> files reference as virtual disc.
/// Data is actually stored in <see cref="SSD"/>s in certain RAID mode.
/// </summary>
public partial class Area:SSDFolder
public partial class Area
{
private byte _id;
private List<SSD> discList;
public Area()
{
_id = StgSharp.NewArea();
}
public SSDSegment FindSegment(int id, byte SSD)
{
return discList[SSD].FindSegment(id);
}
/// <summary>
///
/// </summary>
/// <param name="head"></param>
/// <returns></returns>
public static SSDraw AnalyzeHead(SSDrawHead head)
{
if (head._head.globalID == 0)
{
return null;
}
SSDraw ret = new SSDraw();
foreach ((int, int) item in head)
{
}
return ret;
}
public SSDraw FindFile(string route, SerializableTypeCode typeCode)
{
int id = 0;
if (route.Contains('/'))
{
if (route.Contains(Serializer.GetNameTail(typeCode)))
{
route += Serializer.GetNameTail(typeCode);
}
id = idIndex[route];
return this.files[id];
}
if (route.Contains(Serializer.GetNameTail(typeCode)))
{
route += Serializer.GetNameTail(typeCode);
}
string[] folderRoute = route.Split('/');
int index = 0;
if (folderRoute[0] != ".")
{
index = 1;
}
SSDFolder temp = this;
for (; index < folderRoute.Length - 1; index++)
{
id = temp.idIndex[folderRoute[index]];
temp = temp.folders[id];
}
id = idIndex[folderRoute[folderRoute.Length-1]];
return temp.files[id];
}
}
}