Exemplo n.º 1
0
        public List <StoryResource> GetResources()
        {
            Logger("Collecting resources...");
            List <StoryResource> resources    = new List <StoryResource>();
            StoryResource        enUSResource = new StoryResource("en-US")
            {
                SkillName        = @"AlexaSkill",
                Landing          = @"<speak>Welcome to AlexaSkill! Say play a AlexaSkill, what can I say, or exit</speak>",
                Options          = @"<speak>Saying tell me a AlexaSkill will play a random story. Saying choose a story followed by the name of a story will play a specific story. 
                            If you play a random story, AlexaSkill will not play the same story twice this session. Saying what is AlexaSkill will tell you about the app. What do you want to do?</speak>",
                WhatIsAlexaSkill = @"<speak>AlexaSkill is a story time skill.
                    Daddy always told his daughter crazy exaggerated Once Upon A Time stories. When she was about 2 and a half years old, she asked Daddy to tell her a AlexaSkill. 
                    She couldn't say once upon a time right. Even though she's 8 years old today, she still says AlexaSkill. 
                    And Daddy still tells her his crazy stories. Now the whole family loves AlexaSkill, and Daddy hopes your family will too.</speak>",

                Unknown       = "We're sorry. AlexaSkill was unable to understand your request. You can say play AlexaSkill, help, what is AlexaSkill, or exit",
                HelpMessage   = "You can say play AlexaSkill, help, what is AlexaSkill, or exit... What can I help you with?",
                HelpReprompt  = "You can say play AlexaSkill, help, what is AlexaSkill, or exit",
                CancelMessage = "Okay. You can say play AlexaSkill, help, what is AlexaSkill, or exit",
                StopMessage   = "Fare thee well friends!"
            };

            resources.Add(enUSResource);
            return(resources);
        }
Exemplo n.º 2
0
    StoryResource parseResource(string line)
    {
        string[]      lines    = line.Split(' ');
        string        name     = lines[0];
        int           amount   = Int32.Parse(lines[1]);
        StoryResource resource = new StoryResource(name, amount);

        return(resource);
    }
Exemplo n.º 3
0
        //Actual meat of construction is done here. This ctor is also used for testing
        internal ClubHouseClient(HttpMessageHandler messageHandler)
        {
            if (messageHandler == null)
            {
                throw new ArgumentNullException(nameof(messageHandler));
            }

            HttpClient = new ClubHouseHttpClient(EndPoint, messageHandler);

            Epics       = new EpicResource(HttpClient);
            Files       = new FileResource(HttpClient);
            Labels      = new LabelResource(HttpClient);
            LinkedFiles = new LinkedFileResource(HttpClient);
            Projects    = new ProjectResource(HttpClient);
            StoryLinks  = new StoryLinkResource(HttpClient);
            Stories     = new StoryResource(HttpClient);
            Users       = new UserResource(HttpClient);
            Workflows   = new WorkflowResource(HttpClient);
        }
Exemplo n.º 4
0
        private static Task <int> Main(string[] args)
        {
            var configJsonOption = new Option <FileInfo?>("--config", "The config.json file.");

            configJsonOption.AddAlias("-c");

            var input = new Argument <FileInfo>("Input file", "File to be extracted.");

            var outFile = new Option <FileInfo>("--output", "Path to write output file.");

            outFile.AddAlias("-o");

            var outDirectory = new Option <DirectoryInfo>("--outdir",
                                                          () => new DirectoryInfo("."), "Directory to write output.");

            outDirectory.AddAlias("--output");
            outDirectory.AddAlias("-o");

            var outJson    = new Option <FileInfo?>("--json", "Path to write json file.");
            var outYaml    = new Option <FileInfo?>("--yaml", "Path to write yaml file.");
            var outBinary  = new Option <FileInfo?>("--binary", "Path to write binary file.");
            var outLipsync = new Option <FileInfo?>("--lipsync", "Path to write lipsync file.");

            var outVtt = new Option <FileInfo>("--vtt", "Path to write vtt file.");

            outVtt.AddAlias("--output");
            outVtt.AddAlias("-o");

            var imageType = new Option <Unity3dResource.ImageFormat>("--type", () => Unity3dResource.ImageFormat.Webp,
                                                                     "The image type to extract.");

            imageType.AddAlias("-t");

            var intermediateFiles =
                new Option <bool>("--keep-intermediate", () => false, "Keep intermediate wav files.");

            intermediateFiles.AddAlias("-k");

            var stepOption =
                new Option <bool>("--step", () => false, "Only check next version.");

            stepOption.AddAlias("-s");

            var proxyOption = new Option <string?>("--proxy", "Proxy server to use.");

            var resourceVersion = new Command("resver", "Fetch latest resource version.")
            {
                configJsonOption, stepOption, proxyOption
            };

            resourceVersion.SetHandler(
                (FileInfo? config, bool step, string?proxy) => GuessTruthVersion(config, step, proxy),
                configJsonOption, stepOption, proxyOption);

            var bundleVersion = new Command("bdlver", "Fetch latest bundle version.")
            {
                configJsonOption, stepOption, proxyOption
            };

            bundleVersion.SetHandler(
                (FileInfo? config, bool step, string?proxy) => GuessBundleVersion(config, step, proxy),
                configJsonOption, stepOption, proxyOption);

            var fetch = new Command("fetch", "Fetch latest assets files.")
            {
                configJsonOption, outDirectory, stepOption, proxyOption, resourceVersion, bundleVersion
            };

            fetch.SetHandler(
                (FileInfo? config, DirectoryInfo output, bool step, string?proxy) =>
                DownloadManifests(config, output.FullName, step, proxy),
                configJsonOption, outDirectory, stepOption, proxyOption);

            var database = new Command("database", "Extract database file from unity3d.")
            {
                input, outFile
            };

            database.SetHandler((FileInfo source, FileInfo dest) => DatabaseResource.ExtractMasterData(source, dest),
                                input, outFile);

            var storyData = new Command("storydata", "Extract story data from unity3d.")
            {
                input, outJson, outYaml, outBinary, outLipsync
            };

            storyData.SetHandler(
                (FileInfo source, FileInfo? json, FileInfo? yaml, FileInfo? binary, FileInfo? lipsync) =>
                StoryResource.ExtractStoryData(source, json, yaml, binary, lipsync),
                input, outJson, outYaml, outBinary, outLipsync);

            var constText = new Command("consttext", "Extract const text from unity3d.")
            {
                input, outJson, outYaml
            };

            constText.SetHandler((FileInfo source, FileInfo? json, FileInfo? yaml) =>
                                 ConstTextResource.ExtractConstText(source, json, yaml),
                                 input, outJson, outYaml);

            var usm = new Command("usm", "Extract videos from usm.")
            {
                input, outDirectory, intermediateFiles
            };

            usm.SetHandler(
                (FileInfo source, DirectoryInfo output, bool keepWav) =>
                CriResource.ExtractUsmFinal(source, output, keepWav),
                input, outDirectory, intermediateFiles);

            var hca = new Command("hca", "Extract musics from hca.")
            {
                input, outFile
            };

            hca.SetHandler((FileInfo source, FileInfo dest) => Audio.HcaToWav(source, dest),
                           input, outFile);

            var adx = new Command("adx", "Extract musics from adx.")
            {
                input, outFile
            };

            adx.SetHandler((FileInfo source, FileInfo dest) => Audio.AdxToWav(source, dest),
                           input, outFile);

            var acb = new Command("acb", "Extract musics from acb.")
            {
                input, outDirectory
            };

            acb.SetHandler((FileInfo source, DirectoryInfo output) => Audio.ExtractAcbCommand(source, output),
                           input, outDirectory);

            var u3d = new Command("unity3d", "Extract all things in unity3d file.")
            {
                input, outDirectory, imageType
            };

            u3d.SetHandler((FileInfo source, DirectoryInfo output, Unity3dResource.ImageFormat type) =>
                           Unity3dResource.ExtractUnity3dCommand(source, output, type),
                           input, outDirectory, imageType);

            // TODO: do extract vtt according to MonoBehaviour
            var vtt = new Command("vtt", "Extract vtt from unity3d asset.")
            {
                input, outVtt
            };

            vtt.SetHandler((FileInfo source, FileInfo dest) => VttResource.ExtractVtt(source, dest),
                           input, outVtt);

            var extract = new Command("extract")
            {
                database,
                storyData,
                constText,
                usm,
                hca,
                adx,
                acb,
                u3d,
                vtt
            };

            var rootCommand = new RootCommand("Redive Extractor\n" +
                                              "Download and extract assets from game Princess Connect! Re:Dive.")
            {
                fetch,
                extract
            };

            return(rootCommand.InvokeAsync(args));
        }
Exemplo n.º 5
0
    StoryEvent readEvent(StreamReader reader)
    {
        StoryEvent       story  = new StoryEvent();
        StoryEventResult result = null;

        string line;

        //next line is name of event
        line       = reader.ReadLine();
        story.name = line;
        Debug.Log("title: " + line);

        while ((line = reader.ReadLine()) != null)
        {
            line = line.Trim();
            if (line.Equals("</event>") || line.Equals("</choise>"))
            {
                Debug.Log("returning: " + story.name);
                return(story);
            }

            story.addLocation(line);
            Debug.Log("location " + line);

            if (line.Equals("<required>"))
            {
                result = new StoryEventResult();

                // story
                line             = reader.ReadLine();
                line             = line.Trim();
                result.eventText = line;
                Debug.Log("new result: " + result.eventText);

                // to do: fault tolerance
                while (!(line = reader.ReadLine()).Equals("</required>"))
                {
                    result.requirements.Add(parseResource(line));
                }



                story.addResult(result);
            }

            if (line.Equals("<result>"))
            {
                while (!(line = reader.ReadLine().Trim()).Equals("</result>"))
                {
                    StoryResource temp = parseResource(line);
                    Debug.Log("adding result component " + temp.name + " " + temp.amount);
                    result.results.Add(temp);
                    //result.results.Add(parseResource(line));
                }
            }

            if (line.Equals("<choises>"))
            {
                while (!(line = reader.ReadLine().Trim()).Equals("</choises>"))
                {
                    Debug.Log("adding choise event " + line);
                    result.choises.Add(line);
                }
            }
        }


        Debug.Log("file ended prematurely, event not properly terminated.");
        return(story);
    }
Exemplo n.º 6
0
        private static void Main(string[] args)
        {
            var rootCommand = new RootCommand("Redive Extractor\n" +
                                              "Download and extract assets from game Princess Connect! Re:Dive.");

            var configJsonOption = new Option <FileInfo>("--config", "The config.json file.");

            configJsonOption.AddAlias("-c");

            var input = new Argument <FileInfo>("Input file", "File to be extracted.");

            var outFile = new Option <FileInfo>("--output", "Path to write output file.");

            outFile.AddAlias("-o");

            var outDirectory = new Option <DirectoryInfo>("--outdir",
                                                          () => new DirectoryInfo("."), "Directory to write output.");

            outDirectory.AddAlias("--output");
            outDirectory.AddAlias("-o");

            var outJson    = new Option <FileInfo?>("--json", "Path to write json file.");
            var outYaml    = new Option <FileInfo?>("--yaml", "Path to write yaml file.");
            var outBinary  = new Option <FileInfo?>("--binary", "Path to write binary file.");
            var outLipsync = new Option <FileInfo?>("--lipsync", "Path to write lipsync file.");

            var outVtt = new Option <FileInfo>("--vtt", "Path to write vtt file.");

            outVtt.AddAlias("--output");
            outVtt.AddAlias("-o");

            var imageType = new Option <Unity3dResource.ImageFormat>("--type", () => Unity3dResource.ImageFormat.Webp,
                                                                     "The image type to extract.");

            imageType.AddAlias("-t");

            var intermediateFiles =
                new Option <bool>("--keep-intermediate", () => false, "Keep intermediate wav files.");

            intermediateFiles.AddAlias("-k");

            var fetch = new Command("fetch", "Fetch latest assets files.")
            {
                configJsonOption, outDirectory,
            };

            fetch.SetHandler((FileInfo config, DirectoryInfo output) => DownloadManifests(config, output.FullName),
                             configJsonOption, outDirectory);
            rootCommand.Add(fetch);

            var extract = new Command("extract");

            var database = new Command("database", "Extract database file from unity3d.")
            {
                input, outFile
            };

            database.SetHandler((FileInfo source, FileInfo dest) => DatabaseResource.ExtractMasterData(source, dest),
                                input, outFile);
            extract.Add(database);

            var storyData = new Command("storydata", "Extract story data from unity3d.")
            {
                input, outJson, outYaml, outBinary, outLipsync
            };

            storyData.SetHandler(
                (FileInfo source, FileInfo? json, FileInfo? yaml, FileInfo? binary, FileInfo? lipsync) =>
                StoryResource.ExtractStoryData(source, json, yaml, binary, lipsync),
                input, outJson, outYaml, outBinary, outLipsync);
            extract.Add(storyData);

            var constText = new Command("consttext", "Extract const text from unity3d.")
            {
                input, outJson, outYaml
            };

            constText.SetHandler((FileInfo source, FileInfo? json, FileInfo? yaml) =>
                                 ConstTextResource.ExtractConstText(source, json, yaml),
                                 input, outJson, outYaml);
            extract.Add(constText);

            var usm = new Command("usm", "Extract videos from usm.")
            {
                input, outDirectory, intermediateFiles
            };

            usm.SetHandler(
                (FileInfo source, DirectoryInfo output, bool keepWav) => CriResource.ExtractUsmFinal(source, output, keepWav),
                input, outDirectory, intermediateFiles);
            extract.Add(usm);

            var hca = new Command("hca", "Extract musics from hca.")
            {
                input, outFile
            };

            hca.SetHandler((FileInfo source, FileInfo dest) => Audio.HcaToWav(source, dest),
                           input, outFile);
            extract.Add(hca);

            var adx = new Command("adx", "Extract musics from adx.")
            {
                input, outFile
            };

            adx.SetHandler((FileInfo source, FileInfo dest) => Audio.AdxToWav(source, dest),
                           input, outFile);
            extract.Add(adx);

            var acb = new Command("acb", "Extract musics from acb.")
            {
                input, outDirectory
            };

            acb.SetHandler((FileInfo source, DirectoryInfo output) => Audio.ExtractAcbCommand(source, output),
                           input, outDirectory);
            extract.Add(acb);

            var u3d = new Command("unity3d", "Extract all things in unity3d file.")
            {
                input, outDirectory, imageType
            };

            u3d.SetHandler((FileInfo source, DirectoryInfo output, Unity3dResource.ImageFormat type) =>
                           Unity3dResource.ExtractUnity3dCommand(source, output, type),
                           input, outDirectory, imageType);

            extract.Add(u3d);

            // TODO: do extract vtt according to MonoBehaviour
            var vtt = new Command("vtt", "Extract vtt from unity3d asset.")
            {
                input, outVtt
            };

            // vtt.Handler =
            //     CommandHandler.Create<FileInfo, FileInfo>(Vtt.ExtractVtt);
            vtt.SetHandler((FileInfo source, FileInfo dest) => VttResource.ExtractVtt(source, dest),
                           input, outVtt);
            extract.Add(vtt);

            rootCommand.Add(extract);
            rootCommand.InvokeAsync(args).Wait();
        }