void DoMove() { mCP.Move(mSpeed); if (!mSeeGround || mBlocked) { mCP.Turn(mRotateSpeed); } }
void MoveGene(int vGene) { switch (mDNA.GetGene(vGene)) { case DNA.Gene.Forward: mCP.Move(Speed); mDistanceCovered += 1.0f; break; case DNA.Gene.TurnLeft: mCP.Turn(Angle); break; case DNA.Gene.TurnRight: mCP.Turn(-Angle); break; default: break; } }
private void Update() { Vector3 targetDirection; //read input: float forward = input.Forward; float strafe = input.Strafe; bool run = input.Run; bool jump = input.Jump; bool seat = input.Seat; bool use = input.Use; //read physics bool grounded = physics.IsGrounded; //read camera targetDirection = view.LookDirection; //camera update: //animate: actor.lookDirection = targetDirection; actor.strafe = strafe; actor.forward = forward; actor.grounded = grounded; actor.seat = seat; actor.run = run; actor.jump = jump; actor.Update(); //move & steer: Quaternion steering = actor.GetSteering(); Vector3 movement = actor.GetMovement(); physics.Move(movement, steering); if (use) { interaction.Use(); } }