diff --git a/server/gameserver/android.ai.cc b/server/gameserver/android.ai.cc index 43867c1..c0e59ad 100644 --- a/server/gameserver/android.ai.cc +++ b/server/gameserver/android.ai.cc @@ -2,7 +2,6 @@ #include "android.ai.h" #include "android.h" -#include "movement.h" #include "room.h" #include "metamgr.h" diff --git a/server/gameserver/android.cc b/server/gameserver/android.cc index 744dd2c..334e28f 100644 --- a/server/gameserver/android.cc +++ b/server/gameserver/android.cc @@ -2,7 +2,6 @@ #include "android.h" #include "metamgr.h" -#include "movement.h" #include "android.ai.h" Android::Android():Human() @@ -27,6 +26,5 @@ void Android::Initialize() void Android::Update(int delta_time) { - movement->Update(delta_time); ai->Update(delta_time); } diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index d65a0a3..fea9694 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -2,7 +2,6 @@ #include "bullet.h" #include "metamgr.h" -#include "movement.h" #include "room.h" #include "collider.h" #include "obstacle.h" @@ -11,14 +10,10 @@ Bullet::Bullet():Entity() { entity_type = ET_Bullet; - movement = new MovementComponent(); - movement->owner = this; } Bullet::~Bullet() { - delete movement; - movement = nullptr; } void Bullet::Initialize() @@ -28,7 +23,6 @@ void Bullet::Initialize() void Bullet::Update(int delta_time) { - movement->Update(delta_time); pos = pos + dir * gun_meta->i->bullet_speed() / 20.0f; float distance = (pos - born_pos).Norm(); if (meta->i->_inventory_slot() == 5 || diff --git a/server/gameserver/entity.h b/server/gameserver/entity.h index 259b6ea..f5f740d 100644 --- a/server/gameserver/entity.h +++ b/server/gameserver/entity.h @@ -34,7 +34,6 @@ enum EntitySubType_e class Room; class Obstacle; class ColliderComponent; -class MovementComponent; class Entity { public: @@ -44,7 +43,6 @@ class Entity Room* room = nullptr; Vector2D pos; int updated_times = 0; - MovementComponent* movement = nullptr; std::list colliders; bool deleted = false; diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 45a62dc..b6449f7 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -2,7 +2,6 @@ #include "human.h" #include "cs_proto.pb.h" -#include "movement.h" #include "metamgr.h" #include "room.h" #include "bullet.h" @@ -11,8 +10,6 @@ Human::Human() { - movement = new MovementComponent(); - movement->owner = this; default_weapon.weapon_idx = 0; default_weapon.weapon_id = 12101; default_weapon.weapon_lv = 1; @@ -37,8 +34,6 @@ Human::Human() Human::~Human() { - delete movement; - movement = nullptr; } void Human::Initialize() diff --git a/server/gameserver/loot.cc b/server/gameserver/loot.cc index 3678b02..7e946db 100644 --- a/server/gameserver/loot.cc +++ b/server/gameserver/loot.cc @@ -2,7 +2,6 @@ #include "loot.h" #include "metamgr.h" -#include "movement.h" #include "room.h" #include "collider.h" diff --git a/server/gameserver/movement.cc b/server/gameserver/movement.cc deleted file mode 100644 index f9797ce..0000000 --- a/server/gameserver/movement.cc +++ /dev/null @@ -1,57 +0,0 @@ -#include "precompile.h" - -#include "movement.h" -#include "entity.h" - -void MovementComponent::Update(int delta_time) -{ - if (path_index_ < paths_.size()) { - MovePathPoint& target_point = paths_[path_index_]; - if (owner->pos == target_point.pos) { - ++path_index_; - return; - } - #if 1 - assert(false); - #else - Vector2D dir = target_point.pos - owner->pos; - dir.Normalize(); - float distance = path.Norm(); - owner->pos = owner->pos + dir * std::min(move_speed_, distance); - if (owner->pos == target_point.pos) { - ++path_index_; - } - #endif - } -} - -bool MovementComponent::GetMovePosition(int delta_time, Vector2D& out_pos) -{ - if (path_index_ < paths_.size()) { - MovePathPoint& target_point = paths_[path_index_]; - out_pos = owner->pos + (target_point.pos - owner->pos) * delta_time * move_speed_; - } else { - out_pos = owner->pos; - } - return true; -} - -bool MovementComponent::Arrived() -{ - return path_index_ >= paths_.size(); -} - -void MovementComponent::AddPathPoint(Vector2D& pos, float distance, float speed) -{ - MovePathPoint& point = a8::FastAppend(paths_); - point.pos = pos; - point.distance = distance; - move_speed_ = speed; -} - -void MovementComponent::ClearPath() -{ - move_speed_ = 0.0f; - path_index_ = 0; - paths_.clear(); -} diff --git a/server/gameserver/movement.h b/server/gameserver/movement.h deleted file mode 100644 index f4fbe7d..0000000 --- a/server/gameserver/movement.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -struct MovePathPoint -{ - Vector2D pos; - float distance = 0.0; -}; - -class Entity; -class MovementComponent -{ - public: - Entity* owner = nullptr; - - virtual void Update(int delta_time); - bool GetMovePosition(int delta_time, Vector2D& out_pos); - bool Arrived(); - void AddPathPoint(Vector2D& pos, float distance, float speed); - void ClearPath(); - -private: - float move_speed_ = 0.0f; - size_t path_index_ = 0; - std::vector paths_; -}; diff --git a/server/gameserver/obstacle.cc b/server/gameserver/obstacle.cc index 419805a..c4fadf7 100644 --- a/server/gameserver/obstacle.cc +++ b/server/gameserver/obstacle.cc @@ -2,7 +2,6 @@ #include "obstacle.h" #include "metamgr.h" -#include "movement.h" #include "room.h" #include "collider.h" #include "building.h" diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 7917bac..3a6596e 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -7,7 +7,6 @@ #include "cs_proto.pb.h" #include "room.h" #include "metamgr.h" -#include "movement.h" #include "bullet.h" #include "obstacle.h" #include "building.h" @@ -37,7 +36,6 @@ void Player::Update(int delta_time) if (poisoning) { poisoning_time += delta_time; } - movement->Update(delta_time); if (moving) { UpdateMove(); } diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 4bcccca..387fb8e 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -10,7 +10,6 @@ #include "room.h" #include "android.h" #include "metamgr.h" -#include "movement.h" #include "bullet.h" #include "collider.h" #include "obstacle.h" diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 84ba269..f8aca2d 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -8,7 +8,6 @@ #include "playermgr.h" #include "app.h" #include "metamgr.h" -#include "movement.h" void RoomMgr::Init() { diff --git a/server/gameserver/smoke.cc b/server/gameserver/smoke.cc index 9b41bf6..a4a3cd3 100644 --- a/server/gameserver/smoke.cc +++ b/server/gameserver/smoke.cc @@ -2,7 +2,6 @@ #include "smoke.h" #include "metamgr.h" -#include "movement.h" #include "room.h" #include "collider.h" #include "obstacle.h"