| 163 | } |
| 164 | |
| 165 | CharacterController::CollisionFlags CharacterController::SimpleMove(const Vector3& speed) |
| 166 | { |
| 167 | const float deltaTime = Time::GetCurrentSafe()->DeltaTime.GetTotalSeconds(); |
| 168 | Vector3 displacement = speed + _gravityDisplacement; |
| 169 | CollisionFlags result = Move(displacement * deltaTime); |
| 170 | if ((static_cast<int>(result) & static_cast<int>(CollisionFlags::Below)) != 0) |
| 171 | { |
| 172 | // Reset accumulated gravity acceleration when we touch the ground |
| 173 | _gravityDisplacement = Vector3::Zero; |
| 174 | } |
| 175 | else |
| 176 | _gravityDisplacement += GetPhysicsScene()->GetGravity() * deltaTime; |
| 177 | return result; |
| 178 | } |
| 179 | |
| 180 | CharacterController::CollisionFlags CharacterController::Move(const Vector3& displacement) |
| 181 | { |
nothing calls this directly
no test coverage detected