// Update is called once per frame void Update() { steeringUpdate = new SteeringOutput(); //GetComponent<Kinematic>().kRotation = myRotateType.GetSteering().angular; //steeringUpdate.angular = myRotateType.GetSteering().angular; //GetComponent<Kinematic>().kVelocity = myMoveType.GetSteering().linear; steeringUpdate.linear = myMoveType.GetSteering().linear; kinematic.GetData(steeringUpdate); }
void Update() { SteeringOutput steering; //Update position and rotation transform.position += linearVelocity * Time.deltaTime; Vector3 angularIncrement = new Vector3(0, angularVelocity * Time.deltaTime, 0); transform.eulerAngles += angularIncrement; switch (type) { case SteeringType.Pursue: steering = pursueAI.GetSteering(); break; case SteeringType.Evade: steering = evadeAI.GetSteering(); break; case SteeringType.FollowPath: steering = followAI.GetSteering(); break; case SteeringType.Seek: steering = seekAI.GetSteering(); break; case SteeringType.Flee: steering = fleeAI.GetSteering(); break; case SteeringType.Seperation: steering = seperationAI.GetSteering(); break; default: steering = seekAI.GetSteering(); break; } linearVelocity += steering.linear * Time.deltaTime; angularVelocity += steering.angular * Time.deltaTime; //Update kinematic reference with complex data it can't get by itself kinematic.GetData(steering); }
private void Update() { if (Input.GetKeyDown(KeyCode.Return)) { door.Begin(); Behave(); } //Steering stuff SteeringOutput movementSteering; //Update position and rotation transform.position += linearVelocity * Time.deltaTime; Vector3 angularIncrement = new Vector3(0, angularVelocity * Time.deltaTime, 0); transform.eulerAngles += angularIncrement; movementSteering = arrive.GetSteering(); if (movementSteering != null) { linearVelocity += movementSteering.linear * Time.deltaTime; } kinematic.GetData(movementSteering); }
void Update() { SteeringOutput movementSteering; //SteeringOutput lookSteering; //Update position and rotation transform.position += linearVelocity * Time.deltaTime; Vector3 angularIncrement = new Vector3(0, angularVelocity * Time.deltaTime, 0); transform.eulerAngles += angularIncrement; switch (moveType) { case SteeringType.Pursue: movementSteering = pursueAI.GetSteering(); break; case SteeringType.Evade: movementSteering = evadeAI.GetSteering(); break; case SteeringType.FollowPath: movementSteering = followAI.GetSteering(); break; case SteeringType.Seek: movementSteering = seekAI.GetSteering(); break; case SteeringType.Flee: movementSteering = fleeAI.GetSteering(); break; case SteeringType.Seperation: movementSteering = seperationAI.GetSteering(); break; case SteeringType.Arrive: movementSteering = arriveAI.GetSteering(); break; case SteeringType.CollisionAvoidance: movementSteering = avoidAI.GetSteering(); break; case SteeringType.ObstacleAvoidance: movementSteering = obstacleAI.GetSteering(); break; default: movementSteering = new SteeringOutput(); break; } if (movementSteering != null) { linearVelocity += movementSteering.linear * Time.deltaTime; //angularVelocity += movementSteering.angular * Time.deltaTime; } switch (lookType) { case LookType.None: break; case LookType.Align: lookSteering = alignAI.GetSteering(); break; case LookType.Face: lookSteering = faceAI.GetSteering(); break; case LookType.LookWhereGoing: lookSteering = lookAI.GetSteering(); break; default: lookSteering = alignAI.GetSteering(); break; } if (lookSteering != null) { angularVelocity += lookSteering.angular * Time.deltaTime; } //Update kinematic reference with complex data it can't get by itself kinematic.GetData(movementSteering); kinematic.GetData(lookSteering); }