Cafu Engine
Corpse.hpp
1 /*
2 =================================================================================
3 This file is part of Cafu, the open-source game engine and graphics engine
4 for multiplayer, cross-platform, real-time 3D action.
5 Copyright (C) 2002-2013 Carsten Fuchs Software.
6 
7 Cafu is free software: you can redistribute it and/or modify it under the terms
8 of the GNU General Public License as published by the Free Software Foundation,
9 either version 3 of the License, or (at your option) any later version.
10 
11 Cafu is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 PURPOSE. See the GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with Cafu. If not, see <http://www.gnu.org/licenses/>.
17 
18 For support and more information about Cafu, visit us at <http://www.cafu.de>.
19 =================================================================================
20 */
21 
22 #ifndef CAFU_CORPSE_HPP_INCLUDED
23 #define CAFU_CORPSE_HPP_INCLUDED
24 
25 #include "BaseEntity.hpp"
26 
27 
28 namespace GAME_NAME
29 {
30  class EntHumanPlayerT;
31 
32 
33  class EntCorpseT : public BaseEntityT
34  {
35  public:
36 
37  EntCorpseT(const EntityCreateParamsT& Params);
38 
39  void AdoptState(const EntHumanPlayerT* Player);
40 
41  void Think(float FrameTime, unsigned long ServerFrameNr);
42  void Draw(bool FirstPersonView, float LodDist) const;
43 
44 
45  const cf::TypeSys::TypeInfoT* GetType() const;
46  static void* CreateInstance(const cf::TypeSys::CreateParamsT& Params);
47  static const cf::TypeSys::TypeInfoT TypeInfo;
48 
49 
50  private:
51 
52  // Override the base class methods.
53  void DoSerialize(cf::Network::OutStreamT& Stream) const;
54  void DoDeserialize(cf::Network::InStreamT& Stream);
55 
56  int32_t m_ModelIndex;
57  int32_t m_ModelSequNr;
58  float m_ModelFrameNr;
59  };
60 }
61 
62 #endif
Definition: Corpse.hpp:33
Definition: HumanPlayer.hpp:38
This class is used for reading data from a StateT instance (deserialization).
Definition: State.hpp:222
Definition: EntityCreateParams.hpp:38
Definition: BaseEntity.hpp:85
This class is used for writing data into a StateT instance (serialization).
Definition: State.hpp:96
Definition: TypeSys.hpp:67
This class keeps type information (about an entity class that occurs in the game).
Definition: TypeSys.hpp:94