From fd9f9e2b96c36518b978f16d03025dd9a300d265 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 22 Mar 2019 11:10:03 +0800 Subject: [PATCH] 1 --- server/gameserver/obstacle.cc | 34 ++++++++++++++++++++++++++++++++++ server/gameserver/obstacle.h | 27 +++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/server/gameserver/obstacle.cc b/server/gameserver/obstacle.cc index e69de29..879bb1f 100644 --- a/server/gameserver/obstacle.cc +++ b/server/gameserver/obstacle.cc @@ -0,0 +1,34 @@ +#include "precompile.h" + +#include "obstacle.h" +#include "metamgr.h" +#include "movement.h" +#include "room.h" +#include "collider.h" + +Obstacle::Obstacle():Entity() +{ + entity_type = ET_Obstacle; +} + +Obstacle::~Obstacle() +{ +} + +void Obstacle::Initialize() +{ + RecalcSelfCollider(); +} + +void Obstacle::RecalcSelfCollider() +{ + #if 0 + if (!self_collider_) { + self_collider_ = new CircleCollider(); + self_collider_->owner = this; + colliders.push_back(self_collider_); + } + self_collider_->pos = Vector2D(); + self_collider_->rad = gun_meta->i->bullet_rad(); + #endif +} diff --git a/server/gameserver/obstacle.h b/server/gameserver/obstacle.h index e69de29..af19eca 100644 --- a/server/gameserver/obstacle.h +++ b/server/gameserver/obstacle.h @@ -0,0 +1,27 @@ +#pragma once + +#include "entity.h" + +namespace MetaData +{ + struct Player; + struct Equip; + struct MapThing; +} + +class Human; +class CircleCollider; +class Obstacle : public Entity +{ + public: + MetaData::MapThing* meta = nullptr; + + Obstacle(); + virtual ~Obstacle() override; + virtual void Initialize() override; + void RecalcSelfCollider(); + +private: + CircleCollider* self_collider_ = nullptr; + +};