コード例 #1
0
        public MainWindow()
        {
            InitializeComponent();
            ICharacterImporter    cimport = new CharacterImporter();
            ICharacterInformation ci      = cimport.Import("character.json");
            ISpellsImporter       simport = new SpellsImporter();
            IEnumerable <ISpell>  spells  = simport.Import("spells.json");
            var vm = new MainWindowViewModel(spells, ci, new SpellTemplate());

            DataContext = vm;
            //Preview.Render(vm.Renderable);
        }
コード例 #2
0
        public void TestImport()
        {
            string                path = TestContext.CurrentContext.TestDirectory + "/TestFiles/character.json";
            ICharacterImporter    sut  = new CharacterImporter();
            ICharacterInformation info = sut.Import(path);

            Assert.NotNull(info);
            Assert.AreEqual("Husein", info.Name);
            Assert.AreEqual(14, info.Mut);
            Assert.AreEqual(13, info.Klugheit);
            Assert.AreEqual(12, info.Charisma);
            Assert.AreEqual(11, info.Intuition);
            Assert.AreEqual(10, info.Konstitution);
            Assert.AreEqual(9, info.Körperkraft);
            Assert.AreEqual(8, info.Gewandheit);
            Assert.AreEqual(15, info.Fingerfertigkeit);
            Assert.AreEqual(52, info.Astralenergie);
            Assert.AreEqual(9, info.Magieresistenz);
            Assert.AreEqual(4, info.Selbstbeherrschung);
        }
コード例 #3
0
    private void Run(string[] args)
    {
        ImportSettings settings;

        if (args.Length > 0 && args[0] == "release")
        {
            settings = ImportSettings.MakeReleaseSettings();
        }
        else
        {
            settings = ImportSettings.MakeFromViewerInitialSettings();
        }

        var contentDestDir = CommonPaths.WorkDir.Subdirectory("content");

        var contentPackConfs = ContentPackImportConfiguration.LoadAll(CommonPaths.ConfDir);
        var pathManager      = ImporterPathManager.Make(contentPackConfs);

        var figureDumperLoader = new FigureDumperLoader(fileLocator, objectLocator, pathManager, device, shaderCache);

        foreach (var contentPackConf in contentPackConfs)
        {
            var destDir = contentDestDir.Subdirectory(contentPackConf.Name);

            if (contentPackConf.IsCore)
            {
                new UiImporter(destDir).Run();
                new EnvironmentCubeGenerator().Run(settings, destDir);
            }

            var texturesDir      = destDir.Subdirectory("textures").Subdirectory(contentPackConf.Name);
            var textureProcessor = new TextureProcessor(device, shaderCache, texturesDir, contentPackConf.Name, settings.CompressTextures);

            bool shouldImportAnything = false;

            foreach (var figureConf in contentPackConf.Figures)
            {
                string figureName = figureConf.Name;

                if (!settings.FiguresToImport.Contains(figureName))
                {
                    continue;
                }

                var figureDumper = figureDumperLoader.LoadDumper(figureName);

                MaterialSetImportConfiguration[] materialSetConfigurations = MaterialSetImportConfiguration.Load(figureConf.Directory);
                ShapeImportConfiguration[]       shapeImportConfigurations = ShapeImportConfiguration.Load(figureConf.Directory);

                var figureDestDir = destDir.Subdirectory("figures").Subdirectory(figureName);

                if (figureConf.IsPrimary)
                {
                    shouldImportAnything = true;
                    figureDumper.DumpFigure(shapeImportConfigurations, figureDestDir);
                }

                foreach (var materialSetConf in materialSetConfigurations)
                {
                    if (!settings.ShouldImportMaterialSet(figureConf.Name, materialSetConf.name))
                    {
                        continue;
                    }

                    shouldImportAnything = true;
                    figureDumper.DumpMaterialSet(settings, textureProcessor, figureDestDir, materialSetConf);
                }

                if (figureConf.IsPrimary)
                {
                    shouldImportAnything = true;
                    figureDumper.DumpBaseShape(figureDestDir);
                }

                foreach (var shapeConf in shapeImportConfigurations)
                {
                    if (!settings.ShouldImportShape(figureConf.Name, shapeConf.name))
                    {
                        continue;
                    }

                    shouldImportAnything = true;
                    figureDumper.DumpShape(textureProcessor, figureDestDir, shapeConf);
                }
            }

            if (shouldImportAnything)
            {
                foreach (var characterConf in contentPackConf.Characters)
                {
                    CharacterImporter.Import(pathManager, characterConf.File, destDir);
                }

                foreach (var outfitConf in contentPackConf.Outfits)
                {
                    OutfitImporter.Import(pathManager, outfitConf.File, destDir);
                }
            }

            textureProcessor.ImportAll();
        }
    }