// Z3DWeapon.h: interface for the CZ3DWeapon class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_Z3DWEAPON_H__23D7C421_26A5_11D5_A644_0000E8EB4C69__INCLUDED_) #define AFX_Z3DWEAPON_H__23D7C421_26A5_11D5_A644_0000E8EB4C69__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "Z3DAttachment.h" #include "Z3DBladeTrail.h" //#include "Z3DFireBlade.h" class CZ3DWeapon : public CZ3DAttachment { public: CZ3DWeapon( CZ3DObject* pManipulator ) : CZ3DAttachment() { m_pBladeTrail = new CZ3DBladeTrail( this, "blade_trail_1.dds", 7, 4 ); m_pBowString = new CZ3DBowString( this, "blade_trail_1.dds", pManipulator ); } virtual ~CZ3DWeapon() { SAFE_DELETE( m_pBladeTrail ); SAFE_DELETE( m_pBowString ); } CZ3DBladeTrail* GetBladeTrailInterface() { return m_pBladeTrail; } void SetBowMode( bool bBowMode ) { m_bBowMode = bBowMode; if( m_bBowMode ) { // bow mode m_pBowString->Enable(); m_pBladeTrail->Disable(); } else { // sword mode m_pBladeTrail->Enable(); m_pBowString->Disable(); } } void TurnOnTrail() { if( m_bBowMode ) { m_pBowString->GripString(); } else { m_pBladeTrail->Activate(); } } void TurnOffTrail() { if( m_bBowMode ) { m_pBowString->ReleaseString(); } else { m_pBladeTrail->Stop(); } } void TurnOnFire() { /*if( m_pFire ) { return; }*/ //m_pFire = new CZ3DFireBlade( this ); } void TurnOffFire() { //SAFE_DELETE( m_pFire ); } void SetCullByLODLevel( long l ) { if( l < 2 ) { m_bCull = false; } else { m_bCull = true; } } protected: bool m_bBowMode; CZ3DBladeTrail* m_pBladeTrail; CZ3DBowString* m_pBowString; //CZ3DFireBlade* m_pFire; }; #endif // !defined(AFX_Z3DWEAPON_H__23D7C421_26A5_11D5_A644_0000E8EB4C69__INCLUDED_)