Update of /cvsroot/gcblue/gcb_wx/include/sim
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15744/include/sim
Added Files:
tcCounterMeasure.h
Log Message:
--- NEW FILE: tcCounterMeasure.h ---
/**
** @file tcCounterMeasure.h
*/
/* Copyright (C) 2005 Dewitt Colclough (de...@gc...)
** All rights reserved.
** This file is part of the Global Conflict Blue (GCB) program.
** GCB is free software; you can redistribute it and/or modify
** it under the terms of version 2 of the GNU General Public License as
** published by the Free Software Foundation.
** GCB 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 GCB; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
**/
#if _MSC_VER > 1000
#pragma once
#endif
#ifndef _TCCOUNTERMEASURE_H_
#define _TCCOUNTERMEASURE_H_
#include "tcGameObject.h"
class tcStream;
class tcUpdateStream;
namespace database
{
class tcCounterMeasureDBObject;
}
/**
* Class for countermeasures such as chaff, flares, decoys, noisemakers
*/
class tcCounterMeasure : public tcGameObject
{
public:
protected:
tcCounterMeasureDBObject* mpDBObject;
void LaunchFrom(tcGameObject* obj, unsigned nLauncher);
virtual void Update(double t);
virtual tcUpdateStream& operator<<(tcUpdateStream& stream);
virtual tcUpdateStream& operator>>(tcUpdateStream& stream);
tcCounterMeasure();
tcCounterMeasure(const tcCounterMeasure& src);
tcCounterMeasure(tcCounterMeasureDBObject* obj);
virtual ~tcCounterMeasure();
private:
double lastSeductionUpdate;
int typeCode;
void ApplyRestrictions();
bool IsChaff() const;
bool IsFlare() const;
void Move(float dt_s);
void UpdateSeduction(double t);
void UpdateSpeed(float dt_s);
};
#endif
|