public void ParseAll(SR1_Reader reader) { if (reader.Events == null) { return; } unsafe { foreach (Event scriptEvent in reader.Events.events) { SR1_StructureArray <ScriptPCode> conditionals = scriptEvent.conditionals; SR1_StructureArray <ScriptPCode> actions = scriptEvent.actions; SR1_PointerArray <ScriptPCode> conditionalPointers = scriptEvent.conditionalPointers; SR1_PointerArray <ScriptPCode> actionPointers = scriptEvent.actionPointers; reader.LogScript("// Event " + scriptEvent.eventNumber + " \r\n"); int c = 0; int a = 0; for (int b = 0; b < scriptEvent.numActions.Value; b++) { reader.LogScript("\t// Event " + scriptEvent.eventNumber + ", Action " + b.ToString() + " \r\n"); if (conditionalPointers[c].Offset != 0) { Parse(reader, scriptEvent, ScriptType.Condition, ((ScriptPCode)conditionals[c]).dataBuf); c++; } if (actionPointers[a].Offset != 0) { Parse(reader, scriptEvent, ScriptType.Action, ((ScriptPCode)actions[a]).dataBuf); a++; } } } } }
public Events(int numEvents) : base() { events = new SR1_StructureArray <Event>(numEvents); }