/// <summary> /// Gets all <see cref="DanmakU.DanmakuSet"/>s associated with a prefab. /// </summary> /// <param name="prefab">the original prefab.</param> /// <returns>an enumeration of all associated sets.</returns> public IEnumerable <DanmakuSet> GetAllSets(DanmakuPrefab prefab) { var config = prefab.GetRendererConfig(); RendererGroup group; if (RendererGroups.TryGetValue(config, out group)) { return(group.Sets); } return(Enumerable.Empty <DanmakuSet> ()); }
/// <summary> /// Create a <see cref="DanmakU.DanmakuSet"/> from a prefab. /// </summary> /// <param name="prefab">the base prefab to create a set from.</param> /// <returns>the created DanmakuSet.</returns> protected DanmakuSet CreateSet(DanmakuPrefab prefab) { var pool = new DanmakuPool(prefab.DefaultPoolSize); pool.ColliderRadius = prefab.ColliderRadius; var set = DanmakuManager.Instance.CreateDanmakuSet(prefab.GetRendererConfig(), pool); (OwnedDanmakuSets ?? (OwnedDanmakuSets = new List <DanmakuSet> ())).Add(set); set.AddModifiers(prefab.GetModifiers()); return(set); }