// ---------------------------------------------------------------- // From Game Programming in C++ by Sanjay Madhav // Copyright (C) 2017 Sanjay Madhav. All rights reserved. // // Released under the BSD License // See LICENSE in root directory for full details. // ---------------------------------------------------------------- #include "MoveComponent.h" #include "Actor.h" MoveComponent::MoveComponent(class Actor* owner, int updateOrder) :Component(owner, updateOrder) ,mAngularSpeed(0.0f) ,mForwardSpeed(0.0f) { } void MoveComponent::Update(float deltaTime) { if (!Math::NearZero(mAngularSpeed)) { float rot = mOwner->GetRotation(); rot += mAngularSpeed * deltaTime; mOwner->SetRotation(rot); } if (!Math::NearZero(mForwardSpeed)) { Vector2 pos = mOwner->GetPosition(); pos += mOwner->GetForward() * mForwardSpeed * deltaTime; mOwner->SetPosition(pos); } }