From 449cc186d5b8117d74ba22d6173497d00939f5f1 Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Sat, 28 Apr 2012 17:53:17 +0200 Subject: Source files split into modules --- src/object/motion/motion.h | 94 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/object/motion/motion.h (limited to 'src/object/motion/motion.h') diff --git a/src/object/motion/motion.h b/src/object/motion/motion.h new file mode 100644 index 0000000..5aa0afb --- /dev/null +++ b/src/object/motion/motion.h @@ -0,0 +1,94 @@ +// * This file is part of the COLOBOT source code +// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch +// * +// * This program is free software: you can redistribute it and/or modify +// * it under the terms of the GNU General Public License as published by +// * the Free Software Foundation, either version 3 of the License, or +// * (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have received a copy of the GNU General Public License +// * along with this program. If not, see http://www.gnu.org/licenses/. + +// motion.h + +#ifndef _MOTION_H_ +#define _MOTION_H_ + + +#include "d3dengine.h" + + +class CInstanceManager; +class CEngine; +class CLight; +class CParticule; +class CTerrain; +class CWater; +class CCamera; +class CBrain; +class CPhysics; +class CObject; +class CRobotMain; +class CSound; + + +class CMotion +{ +public: + CMotion(CInstanceManager* iMan, CObject* object); + virtual ~CMotion(); + + void SetPhysics(CPhysics* physics); + void SetBrain(CBrain* brain); + + virtual void DeleteObject(BOOL bAll=FALSE); + virtual BOOL Create(D3DVECTOR pos, float angle, ObjectType type, float power); + virtual BOOL EventProcess(const Event &event); + virtual Error SetAction(int action, float time=0.2f); + virtual int RetAction(); + + virtual BOOL SetParam(int rank, float value); + virtual float RetParam(int rank); + + virtual BOOL Write(char *line); + virtual BOOL Read(char *line); + + virtual void SetLinVibration(D3DVECTOR dir); + virtual D3DVECTOR RetLinVibration(); + virtual void SetCirVibration(D3DVECTOR dir); + virtual D3DVECTOR RetCirVibration(); + virtual void SetInclinaison(D3DVECTOR dir); + virtual D3DVECTOR RetInclinaison(); + +protected: + +protected: + CInstanceManager* m_iMan; + CD3DEngine* m_engine; + CLight* m_light; + CParticule* m_particule; + CTerrain* m_terrain; + CWater* m_water; + CCamera* m_camera; + CObject* m_object; + CBrain* m_brain; + CPhysics* m_physics; + CRobotMain* m_main; + CSound* m_sound; + + int m_actionType; + float m_actionTime; + float m_progress; + + D3DVECTOR m_linVibration; // linear vibration + D3DVECTOR m_cirVibration; // circular vibration + D3DVECTOR m_inclinaison; // tilt +}; + + +#endif //_MOTION_H_ -- cgit v1.2.3-1-g7c22