12#ifndef TT_INCLUDE__STATICANIMPHYSCLASS_H
13#define TT_INCLUDE__STATICANIMPHYSCLASS_H
17#include "AnimCollisionManagerClass.h"
18#include "ProjectorManagerClass.h"
19#include "StaticPhysClass.h"
24class StaticAnimPhysDefClass;
28class StaticAnimPhysClass :
public StaticPhysClass
31 StaticAnimPhysClass(
void);
32 ~StaticAnimPhysClass(
void);
33 virtual StaticAnimPhysClass * As_StaticAnimPhysClass(
void) {
return this; }
34 void Init(
const StaticAnimPhysDefClass & def);
35 virtual void Set_Model(RenderObjClass * model);
36 virtual void Vis_Render(SpecialRenderInfoClass & rinfo);
37 StaticAnimPhysDefClass * Get_StaticAnimPhysDef(
void) {
return (StaticAnimPhysDefClass *)Definition; }
38 virtual bool Needs_Timestep(
void);
39 virtual void Timestep(
float dt);
40 virtual bool Has_Dynamic_State(
void) {
return true; }
41 virtual void Save_State(ChunkSaveClass & csave);
42 virtual void Load_State(ChunkLoadClass & cload);
43 virtual bool Internal_Link_Rider(PhysClass * rider);
44 virtual bool Internal_Unlink_Rider(PhysClass * rider);
45 AnimCollisionManagerClass & Get_Animation_Manager(
void) {
return AnimManager; }
46 void Set_Shadow(TexProjectClass * shadow);
47 virtual bool Is_Casting_Shadow(
void) {
return (ShadowProjector != NULL); }
48 void Debug_Display_Shadow(
const Vector2 & v0,
const Vector2 & v1);
49 virtual const PersistFactoryClass & Get_Factory(
void)
const;
50 virtual bool Save(ChunkSaveClass &csave);
51 virtual bool Load(ChunkLoadClass &cload);
52 virtual void On_Post_Load(
void);
54 void Update_Cached_Model_Parameters(
void);
55 virtual void Update_Sun_Status(
void);
57 ProjectorManagerClass ProjectorManager;
58 AnimCollisionManagerClass AnimManager;
59 TexProjectClass * ShadowProjector;
61 StaticAnimPhysClass(
const StaticPhysClass &);
62 StaticAnimPhysClass & operator = (
const StaticPhysClass &);