Files
FC1/Editor/Objects/SoundObject.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

93 lines
2.6 KiB
C++

////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2001.
// -------------------------------------------------------------------------
// File name: SoundObject.h
// Version: v1.00
// Created: 10/10/2001 by Timur.
// Compilers: Visual C++ 6.0
// Description: SoundObject object definition.
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __SoundObject_h__
#define __SoundObject_h__
#if _MSC_VER > 1000
#pragma once
#endif
#include "BaseObject.h"
/*!
* CSoundObject is an object that represent named 3d position in world.
*
*/
class CSoundObject : public CBaseObject
{
public:
DECLARE_DYNCREATE(CSoundObject)
//////////////////////////////////////////////////////////////////////////
// Ovverides from CBaseObject.
//////////////////////////////////////////////////////////////////////////
bool Init( IEditor *ie,CBaseObject *prev,const CString &file );
void Done();
void Display( DisplayContext &dc );
//////////////////////////////////////////////////////////////////////////
virtual void SetName( const CString &name );
virtual void SetPos( const Vec3d &pos );
virtual void SetAngles( const Vec3d &angles );
virtual void SetScale( const Vec3d &angles );
void BeginEditParams( IEditor *ie,int flags );
void EndEditParams( IEditor *ie );
//! Called when object is being created.
int MouseCreateCallback( CViewport *view,EMouseEvent event,CPoint &point,int flags );
void GetBoundSphere( Vec3d &pos,float &radius );
bool HitTest( HitContext &hc );
XmlNodeRef Export( const CString &levelPath,XmlNodeRef &xmlNode );
//////////////////////////////////////////////////////////////////////////
protected:
//! Dtor must be protected.
CSoundObject();
void DeleteThis() { delete this; };
float m_innerRadius;
float m_outerRadius;
IEditor *m_ie;
//ISoundObject *m_ITag;
static int m_rollupId;
static class CSoundObjectPanel* m_panel;
};
/*!
* Class Description of SoundObject.
*/
class CSoundObjectClassDesc : public CObjectClassDesc
{
public:
REFGUID ClassID()
{
// {6B3EDDE5-7BCF-4936-B891-39CD7A8DC021}
static const GUID guid = { 0x6b3edde5, 0x7bcf, 0x4936, { 0xb8, 0x91, 0x39, 0xcd, 0x7a, 0x8d, 0xc0, 0x21 } };
return guid;
}
ObjectType GetObjectType() { return OBJTYPE_TAGPOINT; };
const char* ClassName() { return "StdSoundObject"; };
const char* Category() { return ""; };
CRuntimeClass* GetRuntimeClass() { return RUNTIME_CLASS(CSoundObject); };
};
#endif // __SoundObject_h__