Esempio n. 1
0
 void DoSet(T value)
 {
     if (operation != OperationMethod.Set)
     {
         if (typeof(T) == typeof(float))
         {
             targetVariable.value = (T)(object)OperationTools.Operate((float)(object)targetVariable.value, (float)(object)value, operation, perSecond ? Time.deltaTime : 1f);
         }
         else if (typeof(T) == typeof(int))
         {
             targetVariable.value = (T)(object)OperationTools.Operate((int)(object)targetVariable.value, (int)(object)value, operation);
         }
         else if (typeof(T) == typeof(Vector3))
         {
             targetVariable.value = (T)(object)OperationTools.Operate((Vector3)(object)targetVariable.value, (Vector3)(object)value, operation, perSecond ? Time.deltaTime : 1f);
         }
         else
         {
             targetVariable.value = value;
         }
     }
     else
     {
         targetVariable.value = value;
     }
 }
        void DoSet(Blackboard bb, string name, T value)
        {
            var targetVariable = bb.GetVariable <T>(name);

            if (targetVariable == null)
            {
                targetVariable = (Variable <T>)bb.AddVariable(varName.value, typeof(T));
            }
            if (operation != OperationMethod.Set)
            {
                if (typeof(T) == typeof(float))
                {
                    targetVariable.value = (T)(object)OperationTools.Operate((float)(object)targetVariable.value, (float)(object)value, operation);
                }
                else if (typeof(T) == typeof(int))
                {
                    targetVariable.value = (T)(object)OperationTools.Operate((int)(object)targetVariable.value, (int)(object)value, operation);
                }
                else if (typeof(T) == typeof(Vector3))
                {
                    targetVariable.value = (T)(object)OperationTools.Operate((Vector3)(object)targetVariable.value, (Vector3)(object)value, operation);
                }
                else
                {
                    targetVariable.value = value;
                }
            }
            else
            {
                targetVariable.value = value;
            }
        }
        protected override bool OnCheck()
        {
            var r    = false;
            var temp = new List <GameObject>();

            foreach (var o in targetObjects.value)
            {
                if (o == agent.gameObject)
                {
                    continue;
                }

                if (OperationTools.Compare(Vector3.Distance(agent.position, o.transform.position), distance.value, checkType, floatingPoint))
                {
                    temp.Add(o);
                    r = true;
                }
            }

            if (!allResults.isNone || !closerResult.isNone)
            {
                var ordered = temp.OrderBy(x => Vector3.Distance(agent.position, x.transform.position));
                if (!allResults.isNone)
                {
                    allResults.value = ordered.ToList();
                }
                if (!closerResult.isNone)
                {
                    closerResult.value = ordered.FirstOrDefault();
                }
            }

            return(r);
        }
Esempio n. 4
0
 public override bool OnCheck()
 {
     return(OperationTools.Compare(
                statCollection.GetStat <RPGVital> (GlobalSymbol.HP).StatValueCurrent /
                statCollection.GetStat <RPGVital> (GlobalSymbol.HP).StatValue, value,
                checkType, 0));
 }
        //do it by invoking method
        protected override bool OnCheck()
        {
            for (var i = 0; i < parameters.Count; i++)
            {
                args[i] = parameters[i].value;
            }

            var  instance = targetMethod.IsStatic ? null : agent;
            bool result;

            if (checkValue.varType == typeof(float))
            {
                result = OperationTools.Compare((float)targetMethod.Invoke(instance, args), (float)checkValue.value, comparison, 0.05f);
            }
            else if (checkValue.varType == typeof(int))
            {
                result = OperationTools.Compare((int)targetMethod.Invoke(instance, args), (int)checkValue.value, comparison);
            }
            else
            {
                result = ObjectUtils.TrueEquals(targetMethod.Invoke(instance, args), checkValue.value);
            }

            for (var i = 0; i < parameters.Count; i++)
            {
                if (parameterIsByRef[i])
                {
                    parameters[i].value = args[i];
                }
            }

            return(result);
        }
        protected override bool OnCheck()
        {
            AnimatorStateInfo _info = agent.GetCurrentAnimatorStateInfo(layerIndex.value);

            loopCount       = (int)System.Math.Truncate(_info.normalizedTime);
            LoopCount.value = loopCount;
            return(OperationTools.Compare(loopCount, value.value, comparison));
        }
Esempio n. 7
0
        protected override bool OnCheck()
        {
            bool compareResult   = OperationTools.Compare((int)valueA.value, (int)valueB.value, checkType);
            bool tempCheckResult = result; result = false;

            return
                (!checkResultChange?
                 compareResult:invert? !(tempCheckResult && !compareResult): tempCheckResult && compareResult);
        }
Esempio n. 8
0
        protected override bool OnCheck()
        {
            AnimatorStateInfo _info = agent.GetCurrentAnimatorStateInfo(layerIndex.value);

            loopCount            = (int)System.Math.Truncate(_info.normalizedTime);
            _currentLoopProgress = _info.normalizedTime - loopCount;
            LoopProgress.value   = _currentLoopProgress;
            return(OperationTools.Compare(_currentLoopProgress, (float)value.value, comparison, 0.1f));
        }
Esempio n. 9
0
        public override bool OnCheck()
        {
            if (statCollection == null || statCollection.ContainStat(key))
            {
                return(false);
            }

            return(OperationTools.Compare(statCollection.GetStatValue(key), value, checkType, 0));
        }
        protected override bool OnCheck()
        {
            var  d               = Vector3.Distance(vectorA.value, vectorB.value);
            bool compareResult   = OperationTools.Compare((float)d, (float)distance.value, comparison, 0f);
            bool tempCheckResult = result; result = false;

            return
                (!checkResultChange?
                 compareResult:invert? !(tempCheckResult && !compareResult): tempCheckResult && compareResult);
        }
Esempio n. 11
0
 protected override bool OnCheck()
 {
     if (OperationTools.Compare(valueA.value.r, valueB.value.r, CompareMethod.EqualTo, differenceThreshold) &&
         OperationTools.Compare(valueA.value.g, valueB.value.g, CompareMethod.EqualTo, differenceThreshold) &&
         OperationTools.Compare(valueA.value.b, valueB.value.b, CompareMethod.EqualTo, differenceThreshold) &&
         OperationTools.Compare(valueA.value.a, valueB.value.a, CompareMethod.EqualTo, differenceThreshold))
     {
         return(true);
     }
     return(false);
 }
 //do it by invoking method
 protected override bool OnCheck()
 {
     if (checkValue.varType == typeof(float))
     {
         return(OperationTools.Compare((float)targetMethod.Invoke(agent, null), (float)checkValue.value, comparison, 0.05f));
     }
     if (checkValue.varType == typeof(int))
     {
         return(OperationTools.Compare((int)targetMethod.Invoke(agent, null), (int)checkValue.value, comparison));
     }
     return(object.Equals(targetMethod.Invoke(agent, null), checkValue.value));
 }
 protected override bool OnCheck()
 {
     if (incomingDingMessage == "/num" + matchDingMessage)
     {
         incomingDingMessage = "";
         return(OperationTools.Compare((float)value0, (float)valueB.value, checkType, differenceThreshold));
     }
     else
     {
         incomingDingMessage = "";
         return(false);
     }
 }
Esempio n. 14
0
        public override bool OnCheck()
        {
            var hit = Physics2D.Raycast(gameObject.transform.position, Vector2.down, float.MaxValue, LayerMask.GetMask("terrain"));

            if (!hit)
            {
                return(false);
            }

            var distance = Mathf.Abs(hit.point.y - gameObject.transform.position.y);

            return(OperationTools.Compare(distance, value, checkType, 0));
        }
        //do it by invoking field
        protected override bool OnCheck()
        {
            if (checkValue.varType == typeof(float))
            {
                return(OperationTools.Compare((float)field.GetValue(agent), (float)checkValue.value, comparison, 0.05f));
            }

            if (checkValue.varType == typeof(int))
            {
                return(OperationTools.Compare((int)field.GetValue(agent), (int)checkValue.value, comparison));
            }

            return(object.Equals(field.GetValue(agent), checkValue.value));
        }
Esempio n. 16
0
        //do it by invoking method
        protected override bool OnCheck()
        {
            var instance = targetMethod.IsStatic ? null : agent;

            if (checkValue.varType == typeof(float))
            {
                return(OperationTools.Compare((float)targetMethod.Invoke(instance, null), (float)checkValue.value, comparison, 0.05f));
            }
            if (checkValue.varType == typeof(int))
            {
                return(OperationTools.Compare((int)targetMethod.Invoke(instance, null), (int)checkValue.value, comparison));
            }
            return(ObjectUtils.AnyEquals(targetMethod.Invoke(instance, null), checkValue.value));
        }
Esempio n. 17
0
        //do it by invoking method
        protected override bool OnCheck()
        {
            var args = parameters.Select(p => p.value).ToArray();

            if (checkValue.varType == typeof(float))
            {
                return(OperationTools.Compare((float)targetMethod.Invoke(agent, args), (float)checkValue.value, comparison, 0.05f));
            }
            if (checkValue.varType == typeof(int))
            {
                return(OperationTools.Compare((int)targetMethod.Invoke(agent, args), (int)checkValue.value, comparison));
            }
            return(object.Equals(targetMethod.Invoke(agent, args), checkValue.value));
        }
        //do it by invoking method
        protected override bool OnCheck()
        {
            for (var i = 0; i < parameters.Count; i++)
            {
                args[i] = parameters[i].value;
            }

            if (checkValue.varType == typeof(float))
            {
                return(OperationTools.Compare((float)targetMethod.Invoke(agent, args), (float)checkValue.value, comparison, 0.05f));
            }
            if (checkValue.varType == typeof(int))
            {
                return(OperationTools.Compare((int)targetMethod.Invoke(agent, args), (int)checkValue.value, comparison));
            }
            return(object.Equals(targetMethod.Invoke(agent, args), checkValue.value));
        }
Esempio n. 19
0
        //do it by invoking method
        protected override bool OnCheck()
        {
            if (functionWrapper == null)
            {
                return(true);
            }

            if (checkValue.varType == typeof(float))
            {
                return(OperationTools.Compare((float)functionWrapper.Call(), (float)checkValue.value, comparison, 0.05f));
            }
            if (checkValue.varType == typeof(int))
            {
                return(OperationTools.Compare((int)functionWrapper.Call(), (int)checkValue.value, comparison));
            }
            return(object.Equals(functionWrapper.Call(), checkValue.value));
        }
        protected override bool OnCheck()
        {
            if (perceptionTarget.value == null)
            {
                Logger.LogError($"<b>Distance To Target</b>: No {nameof(PerceptionTarget)} assigned!", "OnCheck", this);
                return(false);
            }

            if (perceptionTarget.value.Target == null)
            {
                return(false);
            }

            float distanceToTarget = Vector2.Distance(agent.transform.position, perceptionTarget.value.Target.transform.position);

            return(OperationTools.Compare(distanceToTarget, distance.value, comparison, 0f));
        }
        protected override bool OnCheck()
        {
            Vector3 _first  = first.value;
            Vector3 _second = second.value;

            if (ignoreX)
            {
                _first.x  = 0;
                _second.x = 0;
            }
            if (ignoreY)
            {
                _first.y  = 0;
                _second.y = 0;
            }
            if (ignoreZ)
            {
                _first.z  = 0;
                _second.z = 0;
            }
            return(OperationTools.Compare(Vector3.Distance(_first, _second), distance.value, checkType, floatingPoint));
        }
Esempio n. 22
0
		protected override void OnExecute(){
			valueA.value = OperationTools.Operate(valueA.value, valueB.value, operation, perSecond? Time.deltaTime : 1f );
			EndAction();
		}
 protected override bool OnCheck()
 {
     return(OperationTools.Compare(vectorA.value.sqrMagnitude, valueB.value, comparison, 0f));
 }
Esempio n. 24
0
        protected override bool OnCheck()
        {
            var speed = agent.velocity.magnitude;

            return(OperationTools.Compare((float)speed, (float)value.value, checkType, differenceThreshold));
        }
 protected override void OnExecute()
 {
     valueA.value = OperationTools.Operate(valueA.value, valueB.value, Operation);
     EndAction();
 }
Esempio n. 26
0
 protected override bool OnCheck()
 {
     return(OperationTools.Compare(agent.leftFeetBottomHeight, (float)value.value, comparison, 0.1f));
 }
        protected override bool OnCheck()
        {
            var d = Vector3.Distance(vectorA.value, vectorB.value);

            return(OperationTools.Compare((float)d, (float)distance.value, comparison, 0f));
        }
Esempio n. 28
0
 protected override bool OnCheck()
 {
     return(OperationTools.Compare((int)valueA.value, (int)valueB.value, checkType));
 }
Esempio n. 29
0
 public override bool OnCheck()
 {
     return(OperationTools.Compare(TimeManager.EnemyTime - blackboard.Get <float> (key), value,
                                   checkType, 0));
 }
Esempio n. 30
0
 protected override void OnExecute()
 {
     valueA.value = OperationTools.Operate(valueA.value, valueB.value, Operation, perSecond ? UnityEngine.Time.deltaTime : 1f);
     EndAction(true);
 }