MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / Move

Method Move

Source/Engine/Physics/Colliders/CharacterController.cpp:180–203  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

178}
179
180CharacterController::CollisionFlags CharacterController::Move(const Vector3& displacement)
181{
182 PROFILE_CPU();
183 CollisionFlags result = CollisionFlags::None;
184 if (_controller && !_isUpdatingTransform)
185 {
186 // Perform move
187 const float deltaTime = Time::GetCurrentSafe()->DeltaTime.GetTotalSeconds();
188 result = (CollisionFlags)PhysicsBackend::MoveController(_controller, _shape, displacement, _minMoveDistance, deltaTime);
189 _lastFlags = result;
190
191 // Update position
192 Vector3 position;
193 if (_originMode == OriginModes::Base)
194 position = PhysicsBackend::GetControllerBasePosition(_controller);
195 else
196 position = PhysicsBackend::GetControllerPosition(_controller);
197 position -= _center;
198 _isUpdatingTransform = true;
199 SetPosition(position);
200 _isUpdatingTransform = false;
201 }
202 return result;
203}
204
205void CharacterController::Resize(float height, float radius)
206{

Callers

nothing calls this directly

Calls 1

SetPositionFunction · 0.85

Tested by

no test coverage detected