From a6ff08b61980029a25253a54e60c46909523f8cd Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 24 Jun 2021 09:26:21 +0000 Subject: [PATCH] 1 --- server/gameserver/creature.h | 4 ++++ server/gameserver/trigger.cc | 41 ++++++++++++++++++++++++++++++++++++ server/gameserver/trigger.h | 22 +++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 server/gameserver/trigger.cc create mode 100644 server/gameserver/trigger.h diff --git a/server/gameserver/creature.h b/server/gameserver/creature.h index 16dd2cf..3aae162 100644 --- a/server/gameserver/creature.h +++ b/server/gameserver/creature.h @@ -4,6 +4,7 @@ #include "moveableentity.h" #include "buff.h" #include "weakptr.h" +#include "trigger.h" #include "cs_proto.pb.h" @@ -40,6 +41,7 @@ class RoomObstacle; class Hero; class Team; class Car; +class Trigger; class Creature : public MoveableEntity { public: @@ -196,6 +198,7 @@ class Creature : public MoveableEntity Entity* GetLastCollisionDoor() { return last_collision_door_; } void SetLastCollisionDoor(Entity* door) { last_collision_door_ = door; } bool CheckCollision(); + Trigger* GetTrigger() { return trigger_; }; protected: @@ -231,6 +234,7 @@ protected: private: CreatureWeakPtr weak_ptr_; + Trigger* trigger_ = nullptr; Team* team_ = nullptr; Weapon* curr_weapon_ = nullptr; CreatureWeakPtrChunk weak_ptr_chunk_; diff --git a/server/gameserver/trigger.cc b/server/gameserver/trigger.cc new file mode 100644 index 0000000..67eb97b --- /dev/null +++ b/server/gameserver/trigger.cc @@ -0,0 +1,41 @@ +#include "precompile.h" + +#include "trigger.h" + +void Trigger::Init() +{ + +} + +void Trigger::UnInit() +{ + +} + +void Trigger::TakeonWeapon(Weapon* old_weapon, Weapon* new_weapon) +{ +} + +void Trigger::Shot(Weapon* weapon) +{ + +} + +void Trigger::Kill(Creature* target) +{ + +} + +void Trigger::UseItemAction() +{ +} + +void Trigger::UseSkill(Skill* skill) +{ + +} + +void Trigger::HpChg(float old_hp, float new_hp) +{ + +} diff --git a/server/gameserver/trigger.h b/server/gameserver/trigger.h new file mode 100644 index 0000000..1d52586 --- /dev/null +++ b/server/gameserver/trigger.h @@ -0,0 +1,22 @@ +#pragma once + +class Weapon; +class Creature; +class Skill; +class Trigger +{ +public: + + void Init(); + void UnInit(); + Creature* GetOwner() { return owner_; }; + void TakeonWeapon(Weapon* old_weapon, Weapon* new_weapon); + void Shot(Weapon* weapon); + void Kill(Creature* target); + void UseItemAction(); + void UseSkill(Skill* skill); + void HpChg(float old_hp, float new_hp); + + private: + Creature* owner_ = nullptr; +};