コード例 #1
0
        private static IPixelPatch getPatchType(FixtureTemplate fixTemplate)
        {
            var pp = RectaglePixelPatch.InstantiatePixelPatchByName(
                fixTemplate.PixelPatch.Name,
                fixTemplate.PixelPatch.Columns,
                fixTemplate.PixelPatch.Rows,
                0,
                fixTemplate.PixelPatch.PixelLength
                );

            if (pp == null)
            {
                throw new KeyNotFoundException(
                          "Fixture Factory failed to load a Pixel patch with name '" +
                          fixTemplate.PixelPatch.Name + "'");
            }
            return(pp);
        }
コード例 #2
0
        public static Fixture createFixture(FixtureTemplate fixTemplate)
        {
            var modes = new List <IMode>();

            foreach (var mt in fixTemplate.Modes)
            {
                modes.Add(getMode(mt));
            }

            var fix = new Fixture(modes, getPatchType(fixTemplate))
            {
                Name    = fixTemplate.Name,
                Address = fixTemplate.Address,
            };

            fix.SwitchMode(fixTemplate.CurrentModeIndex);
            fix.UtilAddress       = fixTemplate.UtilAddress;
            fix.IsDmxUtilsEnabled = fixTemplate.UtilsEnabled;

            return(fix);
        }