コード例 #1
0
ファイル: Ruleset.cs プロジェクト: jimj10/Dialogue-Manager
        public bool ChangeRule(int ruleNumber, DeviceRule newRule)
        {
            var ruleToChange = Rules.Where((x) => x.RuleNumber == ruleNumber).FirstOrDefault();

            if (newRule != null && ruleToChange != null)
            {
                newRule.RuleNumber = ruleNumber;
                int indx = Rules.IndexOf(ruleToChange);
                Rules[indx] = newRule;
                UpdateListRulesAudioClip();
                UpdateWhichRuleAudioClip();
                return(RulesTableMgr.UpdateRules(RulesetId, Rules));
            }
            return(false);
        }
コード例 #2
0
ファイル: Ruleset.cs プロジェクト: jimj10/Dialogue-Manager
 public int CheckForConflicts(DeviceRule deviceRule)
 {
     foreach (var rule in Rules)
     {
         if (rule.TriggerClip.StateText.Equals(deviceRule.TriggerClip.StateText) &&
             !rule.ActionClip.StateText.Equals(deviceRule.ActionClip.StateText))
         {
             var audioClip = AudioClips.Where((x) => x.Label.Equals("Rule conflicts with another rule")).FirstOrDefault();
             if (audioClip != null)
             {
                 RuleClipGenerator.UpdateConflictWarning(audioClip, rule.RuleNumber);
             }
             return(rule.RuleNumber);
         }
     }
     return(-1);
 }
コード例 #3
0
ファイル: Ruleset.cs プロジェクト: jimj10/Dialogue-Manager
 public bool AddRule(DeviceRule rule)
 {
     if (rule.TriggerClip != null && rule.ActionClip != null)
     {
         var existingRule = Rules.Where((x) =>
                                        x.TriggerClip.StateText.Equals(rule.TriggerClip.StateText) &&
                                        x.ActionClip.StateText.Equals(rule.ActionClip.StateText)
                                        ).FirstOrDefault();
         if (rule != null && existingRule == null)
         {
             Rules.Add(rule);
             rule.RuleNumber = Rules.Count;
             UpdateListRulesAudioClip();
             UpdateWhichRuleAudioClip();
             return(RulesTableMgr.AddRule(RulesetId, rule));
         }
     }
     return(false);
 }