public override bool Evaluate(uint frame, uint endFrame, CAF.Entities.EntityManager controller, AttackEventVariables variables) { TUF.Entities.EntityPhysicsManager physicsManager = (TUF.Entities.EntityPhysicsManager)controller.PhysicsManager; Vector3 f = Vector3.zero; if (xzForce) { f.x = variables.floatVars[0]; f.z = variables.floatVars[1]; } if (yForce) { f.y = variables.floatVars[2]; } f = controller.GetVisualBasedDirection(f); if (yForce) { physicsManager.forceGravity.y += f.y; } if (xzForce) { f.y = 0; physicsManager.forceMovement += f; } return(false); }
public override bool Evaluate(uint frame, uint endFrame, CAF.Entities.EntityManager controller, AttackEventVariables variables) { TUF.Entities.EntityPhysicsManager physicsManager = (TUF.Entities.EntityPhysicsManager)controller.PhysicsManager; Vector3 f = Vector3.zero; float percent = (float)frame / (float)endFrame; if (xForce) { f.x = variables.curveVars[0].Evaluate(percent) * variables.floatVars[0]; } if (yForce) { f.y = variables.curveVars[1].Evaluate(percent) * variables.floatVars[1]; } if (zForce) { f.z = variables.curveVars[2].Evaluate(percent) * variables.floatVars[2]; } float tempY = f.y; f = controller.GetVisualBasedDirection(f); // Set Mode if (variables.intVars[0] == 0) { if (yForce) { physicsManager.forceGravity.y = tempY; } if (xForce || zForce) { f.y = 0; physicsManager.forceMovement = f; } } else { if (yForce) { physicsManager.forceGravity.y += f.y; } if (xForce || zForce) { f.y = 0; physicsManager.forceMovement += f; } } return(false); }