示例#1
0
        public ArenaLightSource(RGB[] opponentColors, RGB[] playerColors)
        {
            var radius = 2D;

            compositeLightSource = new CompositeLightSource(
                PlayerLightSource.Build(1, opponentColors, radius),
                PlayerLightSource.Build(-1, playerColors, radius));
        }
示例#2
0
            public static PlayerLightSource Build(double y, RGB[] colors, double playerRadius)
            {
                var step = 2D / (colors.Length + 1);

                var areaLightSourceRadius = 2D / colors.Length;

                var areaLightSources =
                    colors.Select((color, i) =>
                {
                    var position = -1D + step * (i + 1);
                    return(new AreaLightSource(colors[i], position, y, areaLightSourceRadius));
                }).ToArray();

                var composite = new CompositeLightSource(areaLightSources);

                return(new PlayerLightSource(composite, y, playerRadius));
            }