public static bool cb(CSVReader csv_reader, PortalTableData data, ref uint key) { data.portalID = key; csv_reader.Pop(ref data.linkPortalId); csv_reader.Pop(ref data.srcMapID); csv_reader.Pop(ref data.srcX); csv_reader.Pop(ref data.srcZ); csv_reader.Pop(ref data.dstMapID); csv_reader.Pop(ref data.dstX); csv_reader.Pop(ref data.dstZ); csv_reader.Pop(ref data.dstDir); csv_reader.Pop(ref data.mapX); csv_reader.Pop(ref data.mapY); csv_reader.Pop(ref data.dstQuestID); csv_reader.Pop(ref data.showDeliveryId); csv_reader.Pop(ref data.hideQuestId); csv_reader.Pop(ref data.appearQuestId); csv_reader.Pop(ref data.appearDeliveryId); csv_reader.Pop(ref data.travelMapId); csv_reader.Pop(ref data.openPriority); csv_reader.Pop(ref data.portalPoint); csv_reader.Pop(ref data.notAppearText); csv_reader.Pop(ref data.placeText); string value = string.Empty; csv_reader.Pop(ref value); if (!string.IsNullOrEmpty(value)) { DateTime.TryParse(value, out data.startAt); } csv_reader.Pop(ref data.banEnemy); csv_reader.Pop(ref data.appearRegionId); return(true); }
public List <PortalTableData> GetDeliveryRelationPortalData(uint delivery_id) { if (!Singleton <FieldMapTable> .IsValid()) { return(null); } List <PortalTableData> ret = new List <PortalTableData>(); portalTable.ForEach(delegate(PortalTableData data) { if (data.appearDeliveryId == delivery_id) { ret.Add(data); } }); List <PortalTableData> remove_list = new List <PortalTableData>(); ret.ForEach(delegate(PortalTableData data) { if (MonoBehaviourSingleton <WorldMapManager> .I.IsTraveledMap((int)data.srcMapID)) { if (data.linkPortalId != 0) { PortalTableData portalTableData = portalTable.Get(data.linkPortalId); if (portalTableData != null) { remove_list.Add(portalTableData); } } } else { remove_list.Add(data); } }); remove_list.ForEach(delegate(PortalTableData remove_portal) { ret.RemoveAll((PortalTableData data) => data.portalID == remove_portal.portalID); }); return(ret); }