Ejemplo n.º 1
0
        /// <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> ());
        }
Ejemplo n.º 2
0
        /// <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);
        }