public bool CalculateCondition(MotionMatching motionMatchingComponent) { bool condition = false; switch (type) { case ConditionType.EQUAL: condition = motionMatchingComponent.GetFloat(checkingValueName) == conditionValue; break; case ConditionType.LESS: condition = motionMatchingComponent.GetFloat(checkingValueName) < conditionValue; break; case ConditionType.GREATER: condition = motionMatchingComponent.GetFloat(checkingValueName) > conditionValue; break; case ConditionType.GREATER_EQUAL: condition = motionMatchingComponent.GetFloat(checkingValueName) >= conditionValue; break; case ConditionType.LESS_EQUAL: condition = motionMatchingComponent.GetFloat(checkingValueName) <= conditionValue; break; case ConditionType.DIFFRENT: condition = motionMatchingComponent.GetFloat(checkingValueName) != conditionValue; break; } return(condition); }
public int ShouldTransitionBegin( float currentAnimLocalTime, float currentAnimGlobalTime, int animationIndex, MotionMatching motionMatchingComponent, MotionMatchingStateType currentStateType, MotionMatchingData data ) { for (int i = 0; i < options.Count; i++) { if (options[i].ShouldTranistionFromThisOption( currentAnimLocalTime, currentAnimGlobalTime, animationIndex, motionMatchingComponent, currentStateType, data )) { return(i); } } return(-1); }
public bool Result(MotionMatching motionMatchingComponent) { for (int conditionIndex = 0; conditionIndex < floatConditions.Count; conditionIndex++) { if (!floatConditions[conditionIndex].CalculateCondition(motionMatchingComponent)) { return(false); } } for (int conditionIndex = 0; conditionIndex < intConditions.Count; conditionIndex++) { if (!intConditions[conditionIndex].CalculateCondition(motionMatchingComponent)) { return(false); } } for (int conditionIndex = 0; conditionIndex < boolConditions.Count; conditionIndex++) { if (!boolConditions[conditionIndex].CalculateCondition(motionMatchingComponent)) { return(false); } } return(true); }
private BasicMotionMatchingJob[] mmJobs; // motion matching job public LogicMotionMatchingState( MotionMatchingState state, MotionMatching component, MotionMatchingPlayableGraph playableGraph, LogicMotionMatchingLayer logicLayer, Transform gameObject, int framesForJob ) : base(state, component, playableGraph, logicLayer, gameObject, framesForJob) { OnCreate(); }
public bool ShouldTranistionFromThisOption( float currentAnimLocalTime, float currentAnimGlobalTime, int animationIndex, MotionMatching motionMatchingComponent, MotionMatchingStateType currentStateType, MotionMatchingData data ) { if (currentStateType != MotionMatchingStateType.MotionMatching) { if ( (currentAnimLocalTime < this.whenCanCheckingTransition[animationIndex].x || currentAnimLocalTime > this.whenCanCheckingTransition[animationIndex].y) ) { if ( (startOnExitTime && currentAnimGlobalTime < (data.animationLength - (blendTime))) || !startOnExitTime ) { return(false); } } } for (int conditionIndex = 0; conditionIndex < floatConditions.Count; conditionIndex++) { if (!floatConditions[conditionIndex].CalculateCondition(motionMatchingComponent)) { return(false); } } for (int conditionIndex = 0; conditionIndex < intConditions.Count; conditionIndex++) { if (!intConditions[conditionIndex].CalculateCondition(motionMatchingComponent)) { return(false); } } for (int conditionIndex = 0; conditionIndex < boolConditions.Count; conditionIndex++) { if (!boolConditions[conditionIndex].CalculateCondition(motionMatchingComponent)) { return(false); } } return(true); }
public bool CalculateCondition(MotionMatching motionMatchingComponent) { bool condition = false; switch (type) { case BoolConditionType.IS_FALSE: condition = !motionMatchingComponent.GetBool(checkingValueName); break; case BoolConditionType.IS_TRUE: condition = motionMatchingComponent.GetBool(checkingValueName); break; } return(condition); }
public void SetBasic(LogicState logicState, MotionMatching mmAnimator, Transform transform) { this.logicState = logicState; this.mmAnimator = mmAnimator; this.transform = transform; }