game2001/server/gameserver/frameevent.h
2019-04-30 16:47:23 +08:00

29 lines
978 B
C++

#pragma once
#include "cs_proto.pb.h"
class Bullet;
class Human;
struct FrameEvent
{
public:
void AddAirDrop(int appear_time, int box_id, Vector2D box_pos);
void AddEmote(Human* hum, int emote_id);
void AddShot(Human* hum);
void AddBullet(Human* hum, Vector2D born_pos, Vector2D dir, float fly_distance);
void AddExplosion(Bullet* bullet, int item_id, Vector2D bomb_pos);
void AddSmoke(Bullet* bullet, int item_id, Vector2D pos);
void AddExplosionEx(Human* sender, int item_id, Vector2D bomb_pos, int effect);
void Clear();
private:
::google::protobuf::RepeatedPtrField<::cs::MFAirDrop> airdrops_;
std::vector<std::tuple<Human*, ::cs::MFShot>> shots_;
std::vector<std::tuple<Human*, ::cs::MFBullet>> bullets_;
std::vector<std::tuple<Human*, ::cs::MFExplosion>> explosions_;
std::vector<std::tuple<Human*, ::cs::MFSmoke>> smokes_;
std::vector<std::tuple<Human*, ::cs::MFEmote>> emotes_;
friend class FrameMaker;
};