ns/releases/3.01/source/mod/AvHCloakable.h
Karl 04c334c94b Tagging 3.01 release (again)
git-svn-id: https://unknownworlds.svn.cloudforge.com/ns1@15 67975925-1194-0748-b3d5-c16f83f1a3a1
2005-03-12 22:19:53 +00: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