public void RegisterLoadIDReadFromXml(string targetLoadID, Type targetType, string pathRelToParent, IExposable parent) { for (int i = 0; i < idsRead.Count; i++) { IdRecord idRecord = idsRead[i]; if (idRecord.parent == parent) { IdRecord idRecord2 = idsRead[i]; if (idRecord2.pathRelToParent == pathRelToParent) { Log.Error("Tried to register the same load ID twice: " + targetLoadID + ", pathRelToParent=" + pathRelToParent + ", parent=" + parent.ToStringSafe()); return; } } } idsRead.Add(new IdRecord(targetLoadID, targetType, pathRelToParent, parent)); }
public string Take <T>(string pathRelToParent, IExposable parent) { for (int i = 0; i < idsRead.Count; i++) { IdRecord idRecord = idsRead[i]; if (idRecord.parent == parent) { IdRecord idRecord2 = idsRead[i]; if (idRecord2.pathRelToParent == pathRelToParent) { IdRecord idRecord3 = idsRead[i]; string targetLoadID = idRecord3.targetLoadID; Type typeFromHandle = typeof(T); IdRecord idRecord4 = idsRead[i]; if (typeFromHandle != idRecord4.targetType) { object[] obj = new object[8] { "Trying to get load ID of object of type ", typeof(T), ", but it was registered as ", null, null, null, null, null }; IdRecord idRecord5 = idsRead[i]; obj[3] = idRecord5.targetType; obj[4] = ". pathRelToParent="; obj[5] = pathRelToParent; obj[6] = ", parent="; obj[7] = parent.ToStringSafe(); Log.Error(string.Concat(obj)); } idsRead.RemoveAt(i); return(targetLoadID); } } } Log.Error("Could not get load ID. We're asking for something which was never added during LoadingVars. pathRelToParent=" + pathRelToParent + ", parent=" + parent.ToStringSafe()); return(null); }
public void ConfirmClear() { if (idsRead.Count > 0 || idListsRead.Count > 0) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("Not all loadIDs which were read were consumed."); if (idsRead.Count > 0) { stringBuilder.AppendLine("Singles:"); for (int i = 0; i < idsRead.Count; i++) { StringBuilder stringBuilder2 = stringBuilder; object[] obj = new object[8] { " ", null, null, null, null, null, null, null }; IdRecord idRecord = idsRead[i]; obj[1] = idRecord.targetLoadID.ToStringSafe(); obj[2] = " of type "; IdRecord idRecord2 = idsRead[i]; obj[3] = idRecord2.targetType; obj[4] = ". pathRelToParent="; IdRecord idRecord3 = idsRead[i]; obj[5] = idRecord3.pathRelToParent; obj[6] = ", parent="; IdRecord idRecord4 = idsRead[i]; obj[7] = idRecord4.parent.ToStringSafe(); stringBuilder2.AppendLine(string.Concat(obj)); } } if (idListsRead.Count > 0) { stringBuilder.AppendLine("Lists:"); for (int j = 0; j < idListsRead.Count; j++) { StringBuilder stringBuilder3 = stringBuilder; object[] obj2 = new object[6] { " List with ", null, null, null, null, null }; IdListRecord idListRecord = idListsRead[j]; int num; if (idListRecord.targetLoadIDs != null) { IdListRecord idListRecord2 = idListsRead[j]; num = idListRecord2.targetLoadIDs.Count; } else { num = 0; } obj2[1] = num; obj2[2] = " elements. pathRelToParent="; IdListRecord idListRecord3 = idListsRead[j]; obj2[3] = idListRecord3.pathRelToParent; obj2[4] = ", parent="; IdListRecord idListRecord4 = idListsRead[j]; obj2[5] = idListRecord4.parent.ToStringSafe(); stringBuilder3.AppendLine(string.Concat(obj2)); } } Log.Warning(stringBuilder.ToString().TrimEndNewlines()); } Clear(); }