public BundleItem(string virtualPath, IEnumerable <IItemTransform> transforms) { VirtualPath = virtualPath; if (transforms != null) { Transforms.AddRange(transforms); } }
// TODO: Call this every x secs in order to find new Transforms private void LookupTransforms() { Transforms.AddRange(FindObjectsOfType <Transform>().Where(t => t.gameObject.GetComponent <ContinuousFloatingOriginBehaviour>() == null && t.parent == null)); foreach (var t in Transforms) { t.parent = RootTransform; } Debug.Log($"Lookup {Transforms.Count} transforms without parent and without the {nameof(ContinuousFloatingOriginBehaviour)} component!"); }
public PatternSet(XElement node) : this() { // Migrate old versions #region Upgrade PatternSet { // Add a null version if not found if (node.Element(XmlTag.Version) == null) { node.Add(new XElement(XmlTag.Version, string.Empty)); } for (string version; (version = node.Element(XmlTag.Version).Value) != Constants.PatternSetVersion;) { switch (version) { default: throw new Exception($"Version {version} Pattern Set is not supported"); case "v1.0": // Latest break; } } } #endregion var highlights_node = node.Element(XmlTag.Highlights); if (highlights_node != null) { Highlights.AddRange(highlights_node.Elements(XmlTag.Highlight).Select(x => x.As <Highlight>())); } var filters_node = node.Element(XmlTag.Filters); if (filters_node != null) { Filters.AddRange(filters_node.Elements(XmlTag.Filter).Select(x => x.As <Filter>())); } var transforms_node = node.Element(XmlTag.Transforms); if (transforms_node != null) { Transforms.AddRange(transforms_node.Elements(XmlTag.Transform).Select(x => x.As <Transform>())); } var actions_node = node.Element(XmlTag.ClkActions); if (actions_node != null) { Actions.AddRange(actions_node.Elements(XmlTag.ClkAction).Select(x => x.As <ClkAction>())); } }