Example #1
0
 /// <summary>Compares two <see cref="bool"/> values.</summary>
 public static bool Check(bool leftTerm, BoolComparison comparison, bool rightTerm)
 {
     return(comparison switch
     {
         BoolComparison.Is => leftTerm == rightTerm,
         BoolComparison.IsNot => leftTerm != rightTerm,
         _ => throw new ArgumentException("Comparison not supported", nameof(comparison))
     });
Example #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="valueA"></param>
 /// <param name="valueB"></param>
 /// <returns></returns>
 private bool CompareBoolean(bool valueA, bool valueB, BoolComparison boolComparison)
 {
     switch (boolComparison)
     {
     default:
         return(valueA == valueB);
     }
 }
Example #3
0
        public static bool CheckCondition(BotData data, bool leftTerm, BoolComparison comparison, bool rightTerm)
        {
            var result = RuriLib.Functions.Conditions.Conditions.Check(leftTerm, comparison, rightTerm);

            if (result)
            {
                data.Logger.LogHeader();
                data.Logger.Log($"Matched key {leftTerm} {comparison} {rightTerm}");
            }

            return(result);
        }
Example #4
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="blackboard"></param>
            /// <param name="key"></param>
            /// <param name="value"></param>
            /// <returns></returns>
            public bool EvaluateBlackboardVsValue(Blackboard blackboard, string key, bool value, BoolComparison boolComparison)
            {
                Blackboard sceneBlackboard = FindBlackboard(blackboard);
                Value      valueA          = sceneBlackboard.GetValue(key);

                return(CompareBoolean(valueA.m_boolean, value, boolComparison));
            }
Example #5
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="blackboardA"></param>
            /// <param name="keyA"></param>
            /// <param name="blackboardB"></param>
            /// <param name="keyB"></param>
            /// <param name="boolComparison"></param>
            /// <returns></returns>
            public bool EvaluateBlackboardVsBlackboard(Blackboard blackboardA, string keyA, Blackboard blackboardB, string keyB, BoolComparison boolComparison)
            {
                Blackboard sceneBlackboardA = FindBlackboard(blackboardA);
                Value      valueA           = sceneBlackboardA.GetValue(keyA);
                Blackboard sceneBlackboardB = FindBlackboard(blackboardB);
                Value      valueB           = sceneBlackboardB.GetValue(keyB);

                return(CompareBoolean(valueA.m_boolean, valueB.m_boolean, boolComparison));
            }