add entity events: on_spawn, on_despawn

This commit is contained in:
MihailRis
2024-06-28 12:16:31 +03:00
parent e1eb652ef4
commit eb2be5e8b6
13 changed files with 116 additions and 22 deletions
+1 -1
View File
@@ -4,5 +4,5 @@ Hitbox::Hitbox(glm::vec3 position, glm::vec3 halfsize)
: position(position),
halfsize(halfsize),
velocity(0.0f,0.0f,0.0f),
linear_damping(0.1f)
linearDamping(0.1f)
{}
+2 -3
View File
@@ -3,12 +3,11 @@
#include <glm/glm.hpp>
class Hitbox {
public:
struct Hitbox {
glm::vec3 position;
glm::vec3 halfsize;
glm::vec3 velocity;
float linear_damping;
float linearDamping;
bool grounded = false;
Hitbox(glm::vec3 position, glm::vec3 halfsize);
+3 -3
View File
@@ -22,7 +22,7 @@ void PhysicsSolver::step(
bool collisions
) {
float dt = delta / static_cast<float>(substeps);
float linear_damping = hitbox->linear_damping;
float linearDamping = hitbox->linearDamping;
float s = 2.0f/BLOCK_AABB_GRID;
const glm::vec3& half = hitbox->halfsize;
@@ -41,8 +41,8 @@ void PhysicsSolver::step(
colisionCalc(chunks, hitbox, vel, pos, half,
(prevGrounded && gravityScale > 0.0f) ? 0.5f : 0.0f);
}
vel.x *= glm::max(0.0f, 1.0f - dt * linear_damping);
vel.z *= glm::max(0.0f, 1.0f - dt * linear_damping);
vel.x *= glm::max(0.0f, 1.0f - dt * linearDamping);
vel.z *= glm::max(0.0f, 1.0f - dt * linearDamping);
pos += vel * dt + gravity * gravityScale * dt * dt * 0.5f;
if (hitbox->grounded && pos.y < py) {
+1 -1
View File
@@ -7,8 +7,8 @@
#include <glm/glm.hpp>
class Block;
class Hitbox;
class Chunks;
struct Hitbox;
class PhysicsSolver {
glm::vec3 gravity;