Example #1
0
        internal DanmakuSet CreateDanmakuSet(DanmakuRendererConfig config, DanmakuPool pool)
        {
            var set   = new DanmakuSet(pool);
            var group = GetOrCreateRendererGroup(config);

            group.AddSet(set);
            return(set);
        }
Example #2
0
        RendererGroup GetOrCreateRendererGroup(DanmakuRendererConfig config)
        {
            RendererGroup group = null;

            if (!RendererGroups.TryGetValue(config, out group))
            {
                group = CreateRendererGroup(config);
                RendererGroups[config] = group;
            }
            return(group);
        }
Example #3
0
        RendererGroup CreateRendererGroup(DanmakuRendererConfig config)
        {
            DanmakuRenderer renderer;

            if (config.Sprite != null)
            {
                renderer = new SpriteDanmakuRenderer(config.Material, config.Sprite);
            }
            else if (config.Mesh != null)
            {
                renderer = new DanmakuRenderer(config.Material, config.Mesh);
            }
            else
            {
                throw new Exception("Attempted to create a DanmakuSet without valid renderer.");
            }
            return(new RendererGroup(renderer));
        }