Example #1
0
        // This dialogue greets the user (as a result of face recognition input
        // from the vision process.
        private void GenerateGreetingDialogue()
        {
            Boolean isAlwaysAvailable           = true;
            double  inputTimeoutInterval        = double.MaxValue; // No reason to have a timeout here, since the dialogue is _activated_ upon receiving matching input.
            int     inputMaximumRepetitionCount = 1;               // Greet the user only once.

            Dialogue greetingDialogue = new Dialogue("GreetingDialogue", isAlwaysAvailable);

            // The agent checks if a face has just been detected.
            // NOTE: This requires, of course, that the Vision process should send the
            // appropriate message, in this case "FaceDetected".
            InputItem itemGD1 = new InputItem("GD1", null, inputTimeoutInterval, inputMaximumRepetitionCount, "", "");

            itemGD1.AllowVisionInput = true; // Default value = false. Must set to true for this dialogue item.
            //itemGD1.DoReset = false; // Make sure that the greeting runs only once.
            InputAction inputActionGD1 = new InputAction(greetingDialogue.Context, "GD2");

            inputActionGD1.RequiredSource = AgentConstants.VISION_INPUT_TAG;
            inputActionGD1.PatternList.Add(new Pattern("FaceDetected"));
            itemGD1.InputActionList.Add(inputActionGD1);
            greetingDialogue.DialogueItemList.Add(itemGD1);
            OutputItem   itemGD2         = new OutputItem("GD2", AgentConstants.SPEECH_OUTPUT_TAG, null, false, 1);
            OutputAction outputActionGD2 = new OutputAction("", "");

            outputActionGD2.PatternList.Add(new Pattern("Hello user"));
            itemGD2.OutputAction = outputActionGD2;
            greetingDialogue.DialogueItemList.Add(itemGD2);

            agent.DialogueList.Add(greetingDialogue);
        }
Example #2
0
    public List <Descriptor> EffectDescriptors(BuildingDef def)
    {
        List <Descriptor> list = new List <Descriptor>();

        if (formula.outputs == null || formula.outputs.Length == 0)
        {
            return(list);
        }
        for (int i = 0; i < formula.outputs.Length; i++)
        {
            OutputItem outputItem = formula.outputs[i];
            Element    element    = ElementLoader.FindElementByHash(outputItem.element);
            string     arg        = element.tag.ProperName();
            Descriptor item       = default(Descriptor);
            if (outputItem.minTemperature > 0f)
            {
                item.SetupDescriptor(string.Format(UI.BUILDINGEFFECTS.ELEMENTEMITTED_MINORENTITYTEMP, arg, GameUtil.GetFormattedMass(outputItem.creationRate, GameUtil.TimeSlice.PerSecond, GameUtil.MetricMassFormat.UseThreshold, true, "{0:0.#}"), GameUtil.GetFormattedTemperature(outputItem.minTemperature, GameUtil.TimeSlice.None, GameUtil.TemperatureInterpretation.Absolute, true, false)), string.Format(UI.BUILDINGEFFECTS.TOOLTIPS.ELEMENTEMITTED_MINORENTITYTEMP, arg, GameUtil.GetFormattedMass(outputItem.creationRate, GameUtil.TimeSlice.PerSecond, GameUtil.MetricMassFormat.UseThreshold, true, "{0:0.#}"), GameUtil.GetFormattedTemperature(outputItem.minTemperature, GameUtil.TimeSlice.None, GameUtil.TemperatureInterpretation.Absolute, true, false)), Descriptor.DescriptorType.Effect);
            }
            else
            {
                item.SetupDescriptor(string.Format(UI.BUILDINGEFFECTS.ELEMENTEMITTED_ENTITYTEMP, arg, GameUtil.GetFormattedMass(outputItem.creationRate, GameUtil.TimeSlice.PerSecond, GameUtil.MetricMassFormat.UseThreshold, true, "{0:0.#}")), string.Format(UI.BUILDINGEFFECTS.TOOLTIPS.ELEMENTEMITTED_ENTITYTEMP, arg, GameUtil.GetFormattedMass(outputItem.creationRate, GameUtil.TimeSlice.PerSecond, GameUtil.MetricMassFormat.UseThreshold, true, "{0:0.#}")), Descriptor.DescriptorType.Effect);
            }
            list.Add(item);
        }
        return(list);
    }
Example #3
0
        public void WriteCombinesFileReferences()
        {
            OutputFile[] outputFiles = null;

            using (var transformation = new FakeTransformation())
                using (var context = new TransformationContext(transformation, transformation.GenerationEnvironment))
                {
                    transformation.Host.UpdatedOutputFiles = (input, outputs) => outputFiles = outputs;

                    var outputInfo = new OutputItem {
                        File = TestFile
                    };
                    outputInfo.References.Add("System");
                    context.Write(outputInfo, string.Empty);

                    outputInfo.Metadata.Clear();
                    outputInfo.References.Add("System.Xml");
                    context.Write(outputInfo, string.Empty);
                }

            OutputFile outputFile = outputFiles.Single(output => output.File == TestFile);

            Assert.IsTrue(outputFile.References.Contains("System"));
            Assert.IsTrue(outputFile.References.Contains("System.Xml"));
        }
Example #4
0
        // This dialogue simply serves to show that the agent is attentive
        private void GenerateAttentionDialogue()
        {
            Boolean isAlwaysAvailable           = true;
            double  inputTimeoutInterval        = double.MaxValue; // No reason to have a timeout here, since the dialogue is _activated_ upon receiving matching input.
            int     inputMaximumRepetitionCount = int.MaxValue;    // No reason to have a repetition count here, for the reason just mentioned.

            Dialogue attentionDialogue = new Dialogue("AttentionDialogue", isAlwaysAvailable);
            // Item AD1: The user requests the agent's attention
            InputItem   itemAD1        = new InputItem("AD1", null, inputTimeoutInterval, inputMaximumRepetitionCount, "", "");
            InputAction inputActionAD1 = new InputAction(attentionDialogue.Context, "AD2");

            inputActionAD1.PatternList.Add(new Pattern("Hazel"));
            itemAD1.InputActionList.Add(inputActionAD1);
            attentionDialogue.DialogueItemList.Add(itemAD1);

            // Item TR2: The agent responds
            Boolean    useVerbatimString = false;
            OutputItem itemAD2           = new OutputItem("AD2", AgentConstants.SPEECH_OUTPUT_TAG, null, useVerbatimString, 1);

            itemAD2.OutputAction = new OutputAction("", ""); // Abandon this context after completing the wu1 item
            itemAD2.OutputAction.PatternList.Add(new Pattern("How can I be of service?"));
            itemAD2.OutputAction.PatternList.Add(new Pattern("Yes?"));
            attentionDialogue.DialogueItemList.Add(itemAD2);

            agent.DialogueList.Add(attentionDialogue);
        }
Example #5
0
        public void MetadataIsNotCaseSensitive()
        {
            var output = new OutputItem();

            output.Metadata["TEST"] = "value";
            Assert.AreEqual("value", output.Metadata["test"]);
        }
Example #6
0
        public void Delete(string path)
        {
            path = path.Replace("/", @"\");
            var item = DBContext.Instance.All <OutputItem>().Where(x => x.OutputPath == path).FirstOrDefault();

            DBContext.LocalInstance.Write(() =>
            {
                var ot = new OutputItem()
                {
                    AfterPause   = item.AfterPause,
                    BeforePause  = item.BeforePause,
                    EndTime      = item.EndTime,
                    Lines        = item.Lines,
                    Name         = item.Name,
                    OutputPath   = item.OutputPath,
                    SpeakingTime = item.SpeakingTime,
                    StartTime    = item.StartTime,
                    SynthRate    = item.SynthRate
                };
                DBContext.LocalInstance.Add(ot);
            });
            // Log the shit item
            DBContext.Instance.Write(() =>
            {
                DBContext.Instance.Remove(item);
            });
        }
Example #7
0
        public string GetItemHtml(OutputItem item)
        {
            var sb   = new StringBuilder();
            var link = GetItemLink(item);

            if (!string.IsNullOrEmpty(link))
            {
                sb.AppendFormat("<a href=\"{0}\">{1}</a>", link, item.Title);
            }
            else
            {
                sb.Append(item.Title);
            }

            AppendNotEmptyWithComma(sb, item.Authors);
            AppendNotEmptyWithComma(sb, item.Publisher);
            AppendNotEmptyWithComma(sb, item.Date == null ? null : item.Date.Value.ToShortDateString());
            AppendNotEmptyWithComma(sb, item.Notes);
            if (sb[sb.Length - 1] != '.')
            {
                sb.Append('.');
            }

            return(sb.ToString());
        }
Example #8
0
        public void WriteCombinesFileMetadata()
        {
            OutputFile[] outputFiles = null;

            using (var transformation = new FakeTransformation())
                using (var context = new TransformationContext(transformation, transformation.GenerationEnvironment))
                {
                    transformation.Host.UpdatedOutputFiles = (input, outputs) => outputFiles = outputs;

                    var outputInfo = new OutputItem {
                        File = TestFile
                    };
                    outputInfo.Metadata["Generator"] = "TextTemplatingFileGenerator";
                    context.Write(outputInfo, string.Empty);

                    outputInfo.Metadata.Clear();
                    outputInfo.Metadata["LastGenOutput"] = "Test.txt";
                    context.Write(outputInfo, string.Empty);
                }

            OutputFile outputFile = outputFiles.Single(output => output.File == TestFile);

            Assert.AreEqual("TextTemplatingFileGenerator", outputFile.Metadata["Generator"]);
            Assert.AreEqual("Test.txt", outputFile.Metadata["LastGenOutput"]);
        }
Example #9
0
        protected virtual int?GetOutputPrice(OutputItem outputItem, Object dropInItem)
        {
            var priceExpression = outputItem?.Price ?? Output.Price;
            var calculatePrice  = ExpressionCompiler.CompileExpression <PriceExpression>(priceExpression);

            return(calculatePrice?.Invoke(dropInItem.price, dropInItem.quality));
        }
Example #10
0
        public void CustomToolIsStoredAsMetadata()
        {
            var output = new OutputItem {
                CustomTool = "TextTemplatingFileGenerator"
            };

            Assert.AreEqual("TextTemplatingFileGenerator", output.Metadata[ItemMetadata.Generator]);
        }
Example #11
0
        public void CustomToolCanBeSet()
        {
            var output = new OutputItem {
                CustomTool = "TextTemplatingFileGenerator"
            };

            Assert.AreEqual("TextTemplatingFileGenerator", output.CustomTool);
        }
Example #12
0
        public void ProjectCanBeSet()
        {
            var output = new OutputItem {
                Project = "Test.proj"
            };

            Assert.AreEqual("Test.proj", output.Project);
        }
Example #13
0
        public void PathReturnsIgnoresProjectWhenDirectoryIsRooted()
        {
            var output = new OutputItem {
                File = @"C:\Folder\Test.cs", Project = @"Project\Test.proj"
            };

            Assert.AreEqual(@"C:\Folder\Test.cs", output.Path);
        }
Example #14
0
        public void PathCombinesDirectoryAndProjectDirectory()
        {
            var output = new OutputItem {
                File = "Test.cs", Directory = "Folder", Project = @"Project\Test.proj"
            };

            Assert.AreEqual(@"Project\Folder\Test.cs", output.Path);
        }
Example #15
0
        public void CustomToolNamespaceCanBeSet()
        {
            var output = new OutputItem {
                CustomToolNamespace = "T4Toolbox"
            };

            Assert.AreEqual("T4Toolbox", output.CustomToolNamespace);
        }
Example #16
0
        public void PathCombinesDirectoryAndFileName()
        {
            var output = new OutputItem {
                File = "Test.cs", Directory = "Folder"
            };

            Assert.AreEqual(@"Folder\Test.cs", output.Path);
        }
Example #17
0
        public void ItemTypeCanBeSet()
        {
            var output = new OutputItem {
                ItemType = ItemType.Compile
            };

            Assert.AreEqual(ItemType.Compile, output.ItemType);
        }
Example #18
0
        public void FilePreservesDirectoryPropertyWhenItDoesNotIncludeDirectoryName()
        {
            var output = new OutputItem {
                Directory = "Folder", File = "NewTest.cs"
            };

            Assert.AreEqual("Folder", output.Directory);
        }
Example #19
0
        public void FileCanBeSet()
        {
            var output = new OutputItem {
                File = "Test.cs"
            };

            Assert.AreEqual("Test.cs", output.File);
        }
Example #20
0
        public void EncodingCanBeSet()
        {
            var output = new OutputItem {
                Encoding = Encoding.ASCII
            };

            Assert.AreEqual(Encoding.ASCII, output.Encoding);
        }
Example #21
0
        public void CustomToolNamespaceIsStoredAsMetadata()
        {
            var output = new OutputItem {
                CustomToolNamespace = "T4Toolbox"
            };

            Assert.AreEqual("T4Toolbox", output.Metadata[ItemMetadata.CustomToolNamespace]);
        }
Example #22
0
 static string GetItemLink(OutputItem item)
 {
     if (string.IsNullOrEmpty(item.ISBN))
     {
         return(item.Link);
     }
     return(AmazonHelper.GetAmazonLink(item.ISBN));
 }
Example #23
0
        public void PathCombinesProjectDirectoryAndFileName()
        {
            var output = new OutputItem {
                File = "Test.cs", Project = @"Project\Test.proj"
            };

            Assert.AreEqual(@"Project\Test.cs", output.Path);
        }
Example #24
0
        public void PathReturnsFileName()
        {
            var output = new OutputItem {
                File = "Test.cs"
            };

            Assert.AreEqual("Test.cs", output.Path);
        }
Example #25
0
 void SetItem(OutputItem itm)
 {
     mediaPlyr.Source = MediaSource.CreateFromUri(itm.GetDownloadLink());
     subtitle.Text    = itm.Lines;
     thisItem         = itm;
     crntindx.Text    = items.IndexOf(thisItem).ToString();
     localSettings.Values["LastIndex"] = items.IndexOf(thisItem);
 }
Example #26
0
        public void FileUpdatesDirectoryPropertyWhenItIncludesDirectoryName()
        {
            var output = new OutputItem {
                File = @"Folder\Test.cs"
            };

            Assert.AreEqual("Test.cs", output.File);
            Assert.AreEqual("Folder", output.Directory);
        }
Example #27
0
        public object GetCurrentData()
        {
            if (_listBox.SelectedItems.Count == 0)
            {
                return(null);
            }
            OutputItem item = (OutputItem)_listBox.SelectedItems[0];

            return(item?.Data);
        }
Example #28
0
        public string GetCurrentText()
        {
            if (_listBox.SelectedItems.Count == 0)
            {
                return(null);
            }
            OutputItem item = (OutputItem)_listBox.SelectedItems[0];

            return(item?.Text);
        }
        public async Task RemoveItemAsync(Output output, OutputItem item)
        {
            output.RemoveItem(item);

            _repository.Update(output);

            if (await _repository.UnitOfWork.CommitAsync())
            {
                await _bus.PublishDomainEvent(new OutputItemRemoved(item.Id));
            }
        }
Example #30
0
        public void WriteThrowsInvalidOperationExceptionWhenMetadataIsInconsistent()
        {
            var first = new OutputItem();

            first.Metadata["Generator"] = "TextTemplatingFileGenerator";

            var second = new OutputItem();

            second.Metadata["Generator"] = "TextTemplatingFilePreprocessor";

            WriteThrowsInvalidOperationException(first, second, new[] { "Metadata", "Generator", "TextTemplatingFileGenerator", "TextTemplatingFilePreprocessor" });
        }
Example #31
0
        public void CopyToOutputDirectoryIsStoredAsMetadata()
        {
            var output = new OutputItem();
            
            output.CopyToOutputDirectory = CopyToOutputDirectory.DoNotCopy;
            Assert.AreEqual(string.Empty, output.Metadata[ItemMetadata.CopyToOutputDirectory]);

            output.CopyToOutputDirectory = CopyToOutputDirectory.CopyAlways;
            Assert.AreEqual("Always", output.Metadata[ItemMetadata.CopyToOutputDirectory]);

            output.CopyToOutputDirectory = CopyToOutputDirectory.CopyIfNewer;
            Assert.AreEqual("PreserveNewest", output.Metadata[ItemMetadata.CopyToOutputDirectory]);
        }
Example #32
0
        public void CopyToOutputDirectoryCanBeSet()
        {
            var output = new OutputItem();
            
            output.CopyToOutputDirectory = CopyToOutputDirectory.CopyAlways;
            Assert.AreEqual(CopyToOutputDirectory.CopyAlways, output.CopyToOutputDirectory);

            output.CopyToOutputDirectory = CopyToOutputDirectory.CopyIfNewer;
            Assert.AreEqual(CopyToOutputDirectory.CopyIfNewer, output.CopyToOutputDirectory);

            output.CopyToOutputDirectory = CopyToOutputDirectory.DoNotCopy;
            Assert.AreEqual(CopyToOutputDirectory.DoNotCopy, output.CopyToOutputDirectory);
        }
Example #33
0
 public void CustomToolIsStoredAsMetadata()
 {
     var output = new OutputItem { CustomTool = "TextTemplatingFileGenerator" };
     Assert.AreEqual("TextTemplatingFileGenerator", output.Metadata[ItemMetadata.Generator]);
 }
Example #34
0
 public void ProjectThrowsArgumentNullExceptionWhenNewValueIsNull()
 {
     var output = new OutputItem();
     output.Project = null;
 }
Example #35
0
 public void ProjectIsEmptyStringByDefault()
 {
     var output = new OutputItem();
     Assert.AreEqual(string.Empty, output.Project);
 }
Example #36
0
 public void PathCombinesDirectoryAndProjectDirectory()
 {
     var output = new OutputItem { File = "Test.cs", Directory = "Folder", Project = @"Project\Test.proj" };
     Assert.AreEqual(@"Project\Folder\Test.cs", output.Path);
 }
Example #37
0
 public void PathCombinesDirectoryAndFileName()
 {
     var output = new OutputItem { File = "Test.cs", Directory = "Folder" };
     Assert.AreEqual(@"Folder\Test.cs", output.Path);
 }
Example #38
0
 public void FileCanBeSet()
 {
     var output = new OutputItem { File = "Test.cs" };
     Assert.AreEqual("Test.cs", output.File);
 }
Example #39
0
 public void EncodingThrowsArgumentNullExceptionWhenNewValueIsNull()
 {
     var output = new OutputItem();
     output.Encoding = null;
 }
Example #40
0
 public void EncodingCanBeSet()
 {
     var output = new OutputItem { Encoding = Encoding.ASCII };
     Assert.AreEqual(Encoding.ASCII, output.Encoding);
 }
Example #41
0
 public void EncodingIsUtf8ByDefault()
 {
     var output = new OutputItem();
     Assert.AreEqual(Encoding.UTF8, output.Encoding);
 }
Example #42
0
 public void CustomToolNamespaceIsEmptyStringByDefault()
 {
     var output = new OutputItem();
     Assert.AreEqual(string.Empty, output.CustomToolNamespace);
 }
Example #43
0
 public void PathReturnsEmptyStringByDefault()
 {
     var output = new OutputItem();
     Assert.AreEqual(string.Empty, output.Path);
 }
Example #44
0
 public void FileUpdatesDirectoryPropertyWhenItIncludesDirectoryName()
 {
     var output = new OutputItem { File = @"Folder\Test.cs" };
     Assert.AreEqual("Test.cs", output.File);
     Assert.AreEqual("Folder", output.Directory);
 }
Example #45
0
 public void PathReturnsFileName()
 {
     var output = new OutputItem { File = "Test.cs" };
     Assert.AreEqual("Test.cs", output.Path);
 }
Example #46
0
 public void CopyToOutputDirectoryIsDoNotCopyByDefault()
 {
     var output = new OutputItem();
     Assert.AreEqual(CopyToOutputDirectory.DoNotCopy, output.CopyToOutputDirectory);
 }
Example #47
0
 public void PathCombinesProjectDirectoryAndFileName()
 {
     var output = new OutputItem { File = "Test.cs", Project = @"Project\Test.proj" };
     Assert.AreEqual(@"Project\Test.cs", output.Path);           
 }
Example #48
0
 public void FilePreservesDirectoryPropertyWhenItDoesNotIncludeDirectoryName()
 {
     var output = new OutputItem { Directory = "Folder", File = "NewTest.cs" };
     Assert.AreEqual("Folder", output.Directory);
 }
Example #49
0
 public void PathReturnsIgnoresProjectWhenDirectoryIsRooted()
 {
     var output = new OutputItem { File = @"C:\Folder\Test.cs", Project = @"Project\Test.proj" };
     Assert.AreEqual(@"C:\Folder\Test.cs", output.Path);
 }
Example #50
0
 public void ItemTypeIsEmptyStringByDefault()
 {
     var output = new OutputItem();
     Assert.AreEqual(string.Empty, output.ItemType);
 }
Example #51
0
 public void ProjectCanBeSet()
 {
     var output = new OutputItem { Project = "Test.proj" };
     Assert.AreEqual("Test.proj", output.Project);
 }
Example #52
0
 public void ItemTypeCanBeSet()
 {
     var output = new OutputItem { ItemType = ItemType.Compile };
     Assert.AreEqual(ItemType.Compile, output.ItemType);
 }
Example #53
0
 public void ReferencesIsEmptyByDefault()
 {
     var output = new OutputItem();
     Assert.AreEqual(0, output.References.Count);
 }
Example #54
0
 public void ItemTypeThrowsArgumentNullExceptionWhenNewValueIsNull()
 {
     var output = new OutputItem();
     output.ItemType = null;
 }
Example #55
0
 public void CustomToolCanBeSet()
 {
     var output = new OutputItem { CustomTool = "TextTemplatingFileGenerator" };
     Assert.AreEqual("TextTemplatingFileGenerator", output.CustomTool);
 }
Example #56
0
 public void MetadataIsEmptyByDefault()
 {
     var output = new OutputItem();
     Assert.AreEqual(0, output.Metadata.Count);
 }
Example #57
0
 public void CustomToolThrowsArgumentNullExceptionWhenNewValueIsNull()
 {
     var output = new OutputItem();
     output.CustomTool = null;
 }
Example #58
0
 public void MetadataIsNotCaseSensitive()
 {
     var output = new OutputItem();
     output.Metadata["TEST"] = "value";
     Assert.AreEqual("value", output.Metadata["test"]);
 }
Example #59
0
 public void CustomToolNamespaceCanBeSet()
 {
     var output = new OutputItem { CustomToolNamespace = "T4Toolbox" };
     Assert.AreEqual("T4Toolbox", output.CustomToolNamespace);
 }
Example #60
0
 public void DirectoryThrowsArgumentNullExceptionWhenNewValueIsNull()
 {
     var output = new OutputItem();
     output.Directory = null;
 }