12#ifndef TT_INCLUDE__STEALTHEFFECTCLASS_H
13#define TT_INCLUDE__STEALTHEFFECTCLASS_H
15#include "MaterialEffectClass.h"
17class MatrixMapperClass;
18class MaterialPassClass;
21class StealthEffectClass :
public MaterialEffectClass
24 StealthEffectClass(
void);
25 ~StealthEffectClass(
void);
26 virtual void Timestep(
float dt);
27 virtual void Render_Push(RenderInfoClass & rinfo,PhysClass * obj);
28 virtual void Render_Pop(RenderInfoClass & rinfo);
29 void Enable_Stealth(
bool onoff);
30 void Set_Friendly(
bool onoff);
31 void Set_Broken(
bool onoff);
32 bool Is_Stealth_Enabled(
void) {
return IsStealthEnabled; }
33 bool Is_Friendly(
void) {
return IsFriendly; }
34 bool Is_Broken(
void) {
return IsBroken; }
35 bool Is_Stealthed(
void)
const {
return CurrentFraction > 0.5f; }
36 void Set_Fade_Distance(
float d) { FadeDistance = d; }
37 float Get_Fade_Distance(
void)
const {
return FadeDistance; }
38 void Set_Current_State(
float percent ) { CurrentFraction = percent; }
39 void Set_Target_State(
float percent ) { TargetFraction = percent; }
40 void Damage_Occured(
void);
41 bool Save(ChunkSaveClass & csave);
42 bool Load(ChunkLoadClass & cload);
44 static const char* Get_Stealth_Shader_Name() {
return StealthShaderName; };
45 static void Set_Stealth_Shader_Name(
const char* new_name);
47 void Update_Target_Fraction(
void);
48 bool IsStealthEnabled;
52 float CurrentFraction;
55 bool RenderBaseMaterial;
56 bool RenderStealthMaterial;
59 MatrixMapperClass * Mapper;
60 MaterialPassClass * MaterialPass;
62 static char StealthShaderName[64];