From 45de7d0537d2caec7d0a7ede48e2b72301bc9da9 Mon Sep 17 00:00:00 2001 From: LaG1924 <12997935+LaG1924@users.noreply.github.com> Date: Sat, 12 Aug 2017 20:09:16 +0500 Subject: 2017-08-12 --- src/GameState.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'src/GameState.cpp') diff --git a/src/GameState.cpp b/src/GameState.cpp index 52b5f0f..18ea722 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -1,5 +1,6 @@ #include "GameState.hpp" #include "Event.hpp" +#include GameState::GameState(NetworkClient *networkClient) : nc(networkClient) { Front = glm::vec3(0.0f, 0.0f, -1.0f); @@ -51,6 +52,8 @@ void GameState::Update(float deltaTime) { vel += resistForce; g_PlayerVelocityX = vel.x; g_PlayerVelocityZ = vel.z; + + world.UpdatePhysics(deltaTime); } } @@ -60,8 +63,19 @@ void GameState::UpdatePacket() auto ptr = nc->ReceivePacket(); if (ptr) { switch ((PacketNamePlayCB)ptr->GetPacketId()) { - case SpawnObject: - break; + case SpawnObject: { + auto packet = std::static_pointer_cast(ptr); + Entity entity; + entity.entityId = packet->EntityId; + entity.pitch = packet->Pitch; + entity.pos = VectorF(packet->X, packet->Y, packet->Z); + entity.uuid = packet->ObjectUuid; + entity.vel = Entity::DecodeVelocity(packet->VelocityX, packet->VelocityY, packet->VelocityZ); + entity.yaw = packet->Yaw; + if (entity.vel != VectorF()) + world.entities.push_back(entity); + break; + } case SpawnExperienceOrb: break; case SpawnGlobalEntity: @@ -160,7 +174,7 @@ void GameState::UpdatePacket() break; case EntityLook: break; - case Entity: + case EntityCB: break; case VehicleMove: break; @@ -282,8 +296,7 @@ void GameState::UpdatePacket() case SpawnPosition: { auto packet = std::static_pointer_cast(ptr); g_SpawnPosition = packet->Location; - LOG(INFO) << "Spawn position is " << g_SpawnPosition.GetX() << "," << g_SpawnPosition.GetY() << "," - << g_SpawnPosition.GetZ(); + LOG(INFO) << "Spawn position is " << g_SpawnPosition.x << " " << g_SpawnPosition.y << " " << g_SpawnPosition.z; break; } case TimeUpdate: -- cgit v1.2.3