Colobot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
motionant.h
1 // * This file is part of the COLOBOT source code
2 // * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
3 // *
4 // * This program is free software: you can redistribute it and/or modify
5 // * it under the terms of the GNU General Public License as published by
6 // * the Free Software Foundation, either version 3 of the License, or
7 // * (at your option) any later version.
8 // *
9 // * This program is distributed in the hope that it will be useful,
10 // * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // * GNU General Public License for more details.
13 // *
14 // * You should have received a copy of the GNU General Public License
15 // * along with this program. If not, see http://www.gnu.org/licenses/.
16 
17 // motionant.h
18 
19 #pragma once
20 
21 
22 #include "object/motion/motion.h"
23 
24 
25 
26 enum MotionAntAction
27 {
28  MA_MARCH = 0,
29  MA_STOP = 1,
30  MA_SPEC = 2
31 };
32 
33 enum MotionAntSpecialAction
34 {
35  MAS_PREPARE = 0,
36  MAS_FIRE = 1,
37  MAS_TERMINATE = 2,
38  MAS_BURN = 3,
39  MAS_RUIN = 4,
40  MAS_BACK1 = 5,
41  MAS_BACK2 = 6,
42  MAS_BACK3 = 7
43 };
44 
45 
46 class CMotionAnt : public CMotion
47 {
48 public:
49  CMotionAnt(CObject* object);
50  ~CMotionAnt();
51 
52  void DeleteObject(bool bAll=false);
53  bool Create(Math::Vector pos, float angle, ObjectType type, float power);
54  bool EventProcess(const Event &event);
55 
56 protected:
57  void CreatePhysics();
58  bool EventFrame(const Event &event);
59 
60 protected:
61  float m_armMember;
62  float m_armTimeAbs;
63  float m_armTimeMarch;
64  float m_armTimeAction;
65  short m_armAngles[3*3*3*3*3 + 3*3*3*8];
66  int m_armTimeIndex;
67  int m_armPartIndex;
68  int m_armMemberIndex;
69  int m_armLastAction;
70  bool m_bArmStop;
71  float m_lastParticle;
72 };
73 
ObjectType
Type of game object.
Definition: object.h:46
Definition: motionant.h:46
Definition: motion.h:44
3D (3x1) vector
Definition: vector.h:49
Event sent by system, interface or game.
Definition: event.h:686
Definition: object.h:352