本文整理汇总了C#中ME3Explorer.Unreal.PCCObject类的典型用法代码示例。如果您正苦于以下问题:C# PCCObject类的具体用法?C# PCCObject怎么用?C# PCCObject使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PCCObject类属于ME3Explorer.Unreal命名空间,在下文中一共展示了PCCObject类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: openGUIDCacheToolStripMenuItem_Click
private void openGUIDCacheToolStripMenuItem_Click(object sender, EventArgs e)
{
BitConverter.IsLittleEndian = true;
pcc = new PCCObject(ME3Directory.cookedPath + "GuidCache.pcc");
ReadGUIDs(pcc.Exports[0].Data);
RefreshLists();
}
示例2: AnimNodeSlot
public AnimNodeSlot(PCCObject Pcc, int Index)
{
pcc = Pcc;
MyIndex = Index;
if (pcc.isExport(Index))
data = pcc.Exports[Index].Data;
Props = PropertyReader.getPropList(pcc, data);
BitConverter.IsLittleEndian = true;
Children = new List<ChildrenEntry>();
foreach (PropertyReader.Property p in Props)
switch (pcc.getNameEntry(p.Name))
{
case "bSkipTickWhenZeroWeight":
if (p.raw[p.raw.Length - 1] == 1)
bSkipTickWhenZeroWeight = true;
break;
case "NodeName":
NodeName = p.Value.IntValue;
break;
case "NodeTotalWeight":
NodeTotalWeight = BitConverter.ToSingle(p.raw, p.raw.Length - 4);
break;
case "Children":
ReadChildren(p.raw);
break;
}
}
示例3: ToString
public string ToString(PCCObject p)
{
if (val == -1)
return enumName + ", " + values[0];
else
return p.getNameEntry(type) + ", " + p.getNameEntry(val);
}
示例4: startScanToolStripMenuItem_Click
private void startScanToolStripMenuItem_Click(object sender, EventArgs e)
{
string pathcook = ME3Directory.cookedPath;
DebugOutput.StartDebugger("ScriptDB");
string[] files = Directory.GetFiles(pathcook, "*.pcc");
int count = 1;
database = new List<ScriptEntry>();
foreach (string file in files)
{
DebugOutput.PrintLn(count + "\\" + files.Length + " : Scanning " + Path.GetFileName(file) + " ...");
PCCObject pcc = new PCCObject(file);
int count2 = 0;
foreach (PCCObject.ExportEntry ent in pcc.Exports)
{
if (ent.ClassName == "Function")
{
Function f = new Function(ent.Data, pcc);
ScriptEntry n = new ScriptEntry();
n.file = Path.GetFileName(file);
n.name = ent.PackageFullName + "." + ent.ObjectName;
n.script = f.ToRawText(false);
database.Add(n);
DebugOutput.PrintLn("\tFound \"" + n.name + "\"",false);
}
count2++;
}
{
pb1.Maximum = files.Length;
pb1.Value = count;
}
count++;
}
RefreshList();
}
示例5: Level
public Level(PCCObject Pcc, int index, bool SimpleRead = false)
{
memory = Pcc.Exports[index].Data;
memlength = memory.Length;
pcc = Pcc;
Deserialize(SimpleRead);
}
示例6: WwiseAmbientSound
public WwiseAmbientSound(PCCObject Pcc, int Index)
{
pcc = Pcc;
MyIndex = Index;
if (pcc.isExport(Index))
data = pcc.Exports[Index].Data;
Props = PropertyReader.getPropList(pcc, data);
BitConverter.IsLittleEndian = true;
foreach (PropertyReader.Property p in Props)
switch (pcc.getNameEntry(p.Name))
{
case "bAutoPlay":
if (p.raw[p.raw.Length - 1] == 1)
bAutoPlay = true;
break;
case "Tag":
Tag = p.Value.IntValue;
break;
case "UniqueTag":
UniqueTag = p.Value.IntValue;
break;
case "location":
location = new Vector3(BitConverter.ToSingle(p.raw, p.raw.Length - 12),
BitConverter.ToSingle(p.raw, p.raw.Length - 8),
BitConverter.ToSingle(p.raw, p.raw.Length - 4));
break;
}
MyMatrix = Matrix.Translation(location);
GenerateMesh();
}
示例7: StaticMeshCollectionActor
public StaticMeshCollectionActor(PCCObject Pcc, int Index)
{
pcc = Pcc;
MyIndex = Index;
if (pcc.isExport(Index))
data = pcc.Exports[Index].Data;
Props = PropertyReader.getPropList(pcc, data);
BitConverter.IsLittleEndian = true;
foreach (PropertyReader.Property p in Props)
switch (pcc.getNameEntry(p.Name))
{
case "bCanStepUpOn":
if (p.raw[p.raw.Length - 1] == 1)
bCanStepUpOn = true;
break;
case "Tag":
Tag = p.Value.IntValue;
break;
case "CreationTime":
CreationTime = BitConverter.ToSingle(p.raw, p.raw.Length - 4);
break;
}
ReadObjects();
ReadMatrices();
}
示例8: WwiseStream
public WwiseStream(PCCObject Pcc, byte[] Raw)
{
pcc = Pcc;
memory = Raw;
memsize = memory.Length;
Deserialize();
}
示例9: BioAnimSetData
public BioAnimSetData(PCCObject Pcc, int Index)
{
pcc = Pcc;
MyIndex = Index;
if (pcc.isExport(Index))
data = pcc.Exports[Index].Data;
Props = PropertyReader.getPropList(pcc, data);
BitConverter.IsLittleEndian = true;
TrackBoneNames = new List<string>();
UseTranslationBoneNames = new List<string>();
foreach (PropertyReader.Property p in Props)
switch (pcc.getNameEntry(p.Name))
{
case "bAnimRotationOnly":
if (p.raw[p.raw.Length - 1] == 1)
bAnimRotationOnly = true;
break;
case "TrackBoneNames":
ReadTBN(p.raw);
break;
case "UseTranslationBoneNames":
ReadUTBN(p.raw);
break;
}
}
示例10: DumpArray
public string DumpArray(PCCObject pcc,byte [] raw, int pos, string s, int depth)
{
string res = "";
List<PropertyReader.Property> p = PropertyReader.ReadProp(pcc, raw, pos);
for (int i = 0; i < p.Count; i++)
{
if (p[i].TypeVal == PropertyReader.Type.StringRefProperty)
{
for (int j = 0; j < depth; j++)
res += "\t";
res += i + " : " + PropertyReader.PropertyToText(p[i], pcc) + "\n";
}
if (p[i].TypeVal == PropertyReader.Type.ArrayProperty)
{
//for (int j = 0; j < depth; j++)
// res += "\t";
//res += "in Property #" + i + " : " + PropertyReader.PropertyToText(p[i], pcc) + "\n";
res += DumpArray(pcc, raw, p[i].offsetval + 4, res, depth + 1);
}
if (p[i].TypeVal == PropertyReader.Type.StructProperty)
{
//for (int j = 0; j < depth; j++)
// res += "\t";
//res += "in Property #" + i + " : " + PropertyReader.PropertyToText(p[i], pcc) + "\n";
res += DumpArray(pcc, raw, p[i].offsetval + 8, res, depth + 1);
}
}
return res;
}
示例11: AnimTree
public AnimTree(PCCObject Pcc, int Index)
{
pcc = Pcc;
MyIndex = Index;
if (pcc.isExport(Index))
data = pcc.Exports[Index].Data;
Props = PropertyReader.getPropList(pcc, data);
BitConverter.IsLittleEndian = true;
AnimGroups = new List<AnimGroupEntry>();
ComposePrePassBoneNames = new List<string>();
SkelControlLists = new List<SkelControlListEntry>();
Children = new List<ChildrenEntry>();
BitConverter.IsLittleEndian = true;
foreach (PropertyReader.Property p in Props)
switch (pcc.getNameEntry(p.Name))
{
case "NodeTotalWeight":
NodeTotalWeight = BitConverter.ToSingle(p.raw, p.raw.Length - 4);
break;
case "AnimGroups":
ReadAnimGroups(p.raw);
break;
case "ComposePrePassBoneNames":
ReadPrePassBoneNames(p.raw);
break;
case "SkelControlLists":
ReadSkelControlLists(p.raw);
break;
case "Children":
ReadChildren(p.raw);
break;
}
}
示例12: AnimSet
public AnimSet(PCCObject Pcc, int Index)
{
pcc = Pcc;
MyIndex = Index;
if (pcc.isExport(Index))
data = pcc.Exports[Index].Data;
Props = PropertyReader.getPropList(pcc, data);
BitConverter.IsLittleEndian = true;
Sequences = new List<int>();
foreach (PropertyReader.Property p in Props)
switch (pcc.getNameEntry(p.Name))
{
case "PreviewSkelMeshName":
PreviewSkelMeshName = p.Value.IntValue;
break;
case "m_pBioAnimSetData":
m_pBioAnimSetData = p.Value.IntValue;
if (pcc.isExport(m_pBioAnimSetData - 1) && pcc.Exports[m_pBioAnimSetData - 1].ClassName == "BioAnimSetData")
SetData = new BioAnimSetData(pcc, m_pBioAnimSetData - 1);
break;
case "Sequences":
ReadSequences(p.raw);
break;
}
}
示例13: MantleMarker
public MantleMarker(PCCObject Pcc, int Index)
{
pcc = Pcc;
MyIndex = Index;
if (pcc.isExport(Index))
data = pcc.Exports[Index].Data;
Props = PropertyReader.getPropList(pcc, data);
BitConverter.IsLittleEndian = true;
foreach (PropertyReader.Property p in Props)
switch (pcc.getNameEntry(p.Name))
{
#region
case "bHasCrossLevelPaths":
if (p.raw[p.raw.Length - 1] == 1)
bHasCrossLevelPaths = true;
break;
case "Tag":
Tag = p.Value.IntValue;
break;
case "nextNavigationPoint":
nextNavigationPoint = p.Value.IntValue;
break;
case "CylinderComponent":
CylinderComponent = p.Value.IntValue;
break;
case "Owner":
Owner = p.Value.IntValue;
break;
case "Base":
Base = p.Value.IntValue;
break;
case "CollisionComponent":
CollisionComponent = p.Value.IntValue;
break;
case "CreationTime":
CreationTime = BitConverter.ToSingle(p.raw, p.raw.Length - 4);
break;
case "visitedWeight":
visitedWeight = p.Value.IntValue;
break;
case "bestPathWeight":
bestPathWeight = p.Value.IntValue;
break;
case "NetworkID":
NetworkID = p.Value.IntValue;
break;
case "ApproximateLineOfFire":
ApproximateLineOfFire = p.Value.IntValue;
break;
case "location":
location = new Vector3(BitConverter.ToSingle(p.raw, p.raw.Length - 12),
BitConverter.ToSingle(p.raw, p.raw.Length - 8),
BitConverter.ToSingle(p.raw, p.raw.Length - 4));
break;
#endregion
}
MyMatrix = Matrix.Translation(location);
GenerateMesh();
}
示例14: SAction
public SAction(int idx, float x, float y, PCCObject p, GraphEditor grapheditor)
: base(idx, x, y, p, grapheditor)
{
GetVarLinks();
GetOutputLinks();
originalX = x;
originalY = y;
}
示例15: LoadFile
public void LoadFile(string path)
{
pcc = new PCCObject(path);
Objects = new List<int>();
for (int i = 0; i < pcc.Exports.Count; i++)
if (pcc.Exports[i].ClassName == "Function")
Objects.Add(i);
RefreshLists();
}