public static List <DropTemplate> Filter(DropSourceTemplateLink context, List <DropTemplate> templates) { return(templates.Where(template => { try { if ((template?.Conditions?.Count ?? 0) == 0) { return true; } return !template.Conditions.Any(x => { try { return x?.ShouldFilter(context, template) ?? true; } catch (Exception e) { Log.LogError($"Error while attempting to check condition '{x?.GetType()?.Name}' for '{template.Config.PrefabName}'. Condition will be ignored", e); return true; } }); } catch (Exception e) { Log.LogError($"Error while attempting to check conditions for '{template?.Config?.PrefabName}'. Conditions will be ignored", e); return true; } }) .ToList()); }
public bool ShouldFilter(DropSourceTemplateLink context, DropTemplate template) { if (IsValid(context.Source.transform.position, template?.Config)) { return(false); } Log.LogTrace($"Filtered drop '{template.Drop.m_item.name}' due being outside required altitude."); return(true); }
public bool ShouldFilter(DropSourceTemplateLink context, DropTemplate template) { if (IsValid(template.Config)) { return(false); } Log.LogTrace($"Filtered drop '{template.Drop.m_item.name}' due to not finding required global key."); return(true); }
public bool ShouldFilter(DropSourceTemplateLink context, DropTemplate template) { if (IsValid(template?.Config)) { return(false); } Log.LogTrace($"Filtered drop '{template.Drop.m_item.name}' due being outside allowed time of day."); return(true); }
public bool ShouldFilter(DropSourceTemplateLink context, DropTemplate template) { if (IsValid(context.Source.transform.position, template?.Config)) { return(false); } Log.LogTrace($"Filtered drop '{template.Drop.m_item.name}' due not being within required distance to center of map."); return(true); }
public bool ShouldFilter(DropSourceTemplateLink context, DropTemplate template) { if (IsValid(template.Config)) { return(false); } Log.LogTrace($"Filtered drop '{template.Drop.m_item.name}' due to current environment."); return(true); }
public bool ShouldFilter(DropSourceTemplateLink context, DropTemplate template) { if (IsValid(template?.Config)) { return(false); } Log.LogTrace($"Filtered drop '{template.Drop.m_item.name}' due to not being within required CLLC world level."); return(true); }