| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // ----------------------------------------------------------------
- // 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 "SplineActor.h"
- #include "MeshComponent.h"
- #include "Game.h"
- #include "Renderer.h"
- #include "SplineCamera.h"
- #include "MoveComponent.h"
- SplineActor::SplineActor(Game* game)
- :Actor(game)
- {
- //MeshComponent* mc = new MeshComponent(this);
- //mc->SetMesh(game->GetRenderer()->GetMesh("Assets/RacingCar.gpmesh"));
- //SetPosition(Vector3(0.0f, 0.0f, -100.0f));
- mCameraComp = new SplineCamera(this);
- // Create a spline
- Spline path;
- path.mControlPoints.emplace_back(Vector3::Zero);
- for (int i = 0; i < 5; i++)
- {
- if (i % 2 == 0)
- {
- path.mControlPoints.emplace_back(Vector3(300.0f * (i + 1), 300.0f, 300.0f));
- }
- else
- {
- path.mControlPoints.emplace_back(Vector3(300.0f * (i + 1), 0.0f, 0.0f));
- }
- }
- mCameraComp->SetSpline(path);
- mCameraComp->SetPaused(false);
- }
- void SplineActor::ActorInput(const uint8_t* keys)
- {
-
- }
- void SplineActor::RestartSpline()
- {
- mCameraComp->Restart();
- }
|