NS/main/source/mod/AvHCloakable.h
2014-12-16 14:36:27 +01:00

49 lines
No EOL
1.4 KiB
C++

//======== (C) Copyright 2002 Charles G. Cleveland All rights reserved. =========
//
// The copyright to the contents herein is the property of Charles G. Cleveland.
// The contents may be used and/or copied only with the written permission of
// Charles G. Cleveland, or in accordance with the terms and conditions stipulated in
// the agreement/contract under which the contents have been supplied.
//
// Purpose:
//
// $Workfile: $
// $Date: $
//
//-------------------------------------------------------------------------------
// $Log: $
//===============================================================================
#ifndef AVH_CLOAKABLE_H
#define AVH_CLOAKABLE_H
class AvHCloakable
{
public:
AvHCloakable();
virtual bool GetCanCloak() const;
virtual float GetCloakTime() const;
virtual bool GetIsCloaked() const;
bool GetIsPartiallyCloaked() const;
virtual float GetUncloakTime() const;
virtual float GetOpacity() const;
void SetSpeeds(float inCurrentSpeed, float inMaxSpeed, float inMaxWalkSpeed);
virtual void Cloak(bool inNoFade = false);
virtual void Uncloak(bool inNoFade = false);
virtual void ResetCloaking();
virtual void Update();
private:
float GetTime() const;
void Init();
float mCurrentSpeed;
float mMaxSpeed;
float mMaxWalkSpeed;
float mTimeOfLastCloak;
float mTimeOfLastUncloak;
float mOpacity;
float mTimeOfLastUpdate;
};
#endif