begin raylib
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
#include <td/display/state/DebugWorldState.h>
|
||||
|
||||
#include <chrono>
|
||||
#include <iostream>
|
||||
|
||||
#include <td/display/Display.h>
|
||||
#include <td/display/state/DebugWorldState.h>
|
||||
#include <td/game/World.h>
|
||||
#include <td/protocol/packet/Packets.h>
|
||||
#include <td/render/renderer/EntityRenderer.h>
|
||||
@@ -20,8 +19,7 @@
|
||||
#include <client/state/GameState.h>
|
||||
#include <client/state/LoggingState.h>
|
||||
|
||||
#include <td/display/Display.h>
|
||||
#include <td/display/state/DebugWorldState.h>
|
||||
#include <raylib.h>
|
||||
|
||||
namespace td {
|
||||
|
||||
@@ -70,45 +68,51 @@ DebugWorldState::DebugWorldState(Display& a_Display) : DisplayState(a_Display) {
|
||||
m_Client->ChangeState<client::LoggingState>("Player0");
|
||||
|
||||
// camera
|
||||
m_Camera.SetCamPos({77, 7, 13});
|
||||
m_Camera.UpdatePerspective(m_StateMachine.GetAspectRatio());
|
||||
// m_Camera = Camera{{0}};
|
||||
m_Camera.position = (Vector3){77.0f, 7.0f, 13.0f}; // Camera position
|
||||
m_Camera.target = (Vector3){0.0f, 1.0f, -1.0f}; // Camera looking at point
|
||||
m_Camera.up = (Vector3){0.0f, 1.0f, 0.0f}; // Camera up vector (rotation towards target)
|
||||
m_Camera.fovy = 45.0f; // Camera field-of-view Y
|
||||
m_Camera.projection = CAMERA_PERSPECTIVE; // Camera projection type
|
||||
|
||||
// m_Camera.SetCamPos({77, 7, 13});
|
||||
// m_Camera.UpdatePerspective(m_StateMachine.GetAspectRatio());
|
||||
}
|
||||
|
||||
void DebugWorldState::Update(float a_Delta) {
|
||||
m_Server->Update(a_Delta * m_PlaySpeed);
|
||||
m_Client->Update(a_Delta * m_PlaySpeed);
|
||||
if (m_ClientState)
|
||||
UpdateCamera(&m_Camera, CAMERA_FREE);
|
||||
|
||||
if (m_ClientState) {
|
||||
BeginMode3D(m_Camera);
|
||||
m_Renderer.Render(m_ClientState->GetCurrentLerp());
|
||||
EndMode3D();
|
||||
}
|
||||
|
||||
constexpr int SECONDS = 10;
|
||||
if (IsKeyPressed(KEY_Q)) {
|
||||
m_Client->SendPacket(td::protocol::packets::SpawnTroopPacket(td::EntityType::Zombie, 1));
|
||||
}
|
||||
|
||||
if (IsKeyPressed(KEY_Z))
|
||||
m_Client->SendPacket(td::protocol::packets::PlaceTowerPacket(td::TowerType::Archer, td::TowerCoords(77, 13)));
|
||||
|
||||
if (IsKeyPressed(KEY_F)) {
|
||||
m_Server->Update(SECONDS);
|
||||
m_Client->Update(SECONDS);
|
||||
}
|
||||
|
||||
if (IsKeyPressed(KEY_P))
|
||||
m_PlaySpeed = 1 - m_PlaySpeed;
|
||||
}
|
||||
|
||||
void DebugWorldState::OnAspectRatioChange(float a_Ratio) {
|
||||
m_Camera.UpdatePerspective(a_Ratio);
|
||||
// m_Camera.UpdatePerspective(a_Ratio);
|
||||
}
|
||||
|
||||
void DebugWorldState::OnKeyDown(SDL_Keycode a_Key) {
|
||||
void DebugWorldState::OnKeyDown(int a_Key) {
|
||||
// temporary tests
|
||||
constexpr int SECONDS = 10;
|
||||
switch (a_Key) {
|
||||
case SDLK_A:
|
||||
m_Client->SendPacket(td::protocol::packets::SpawnTroopPacket(td::EntityType::Zombie, 1));
|
||||
break;
|
||||
|
||||
case SDLK_Z:
|
||||
m_Client->SendPacket(td::protocol::packets::PlaceTowerPacket(td::TowerType::Archer, td::TowerCoords(77, 13)));
|
||||
break;
|
||||
|
||||
case SDLK_F:
|
||||
m_Server->Update(SECONDS);
|
||||
m_Client->Update(SECONDS);
|
||||
break;
|
||||
|
||||
case SDLK_P:
|
||||
m_PlaySpeed = 1 - m_PlaySpeed;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
DebugWorldState::~DebugWorldState() {}
|
||||
|
||||
Reference in New Issue
Block a user