// ObjProps.h: interface for the CObjProps class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_OBJPROPS_H__C1D375C6_296A_4C77_B6E5_F691E906F136__INCLUDED_)
#define AFX_OBJPROPS_H__C1D375C6_296A_4C77_B6E5_F691E906F136__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define MEMCELLS 10


class EdGUIObject;
class EdGameObject;

class CObjProps 
{
protected:
	DWORD DiffTag,ModTag;
	bool Virgin;
	CString Name,Script,Driver,SrcResource;
	float MemoryCell[MEMCELLS];
	bool Snap;
	float HoverElev;
	Point3D Pos;
	YawPitchRoll Rot;
	int Alignment;
	char Skin;
	bool GamePropsFlag;
	bool UseInGame;
	bool Invulnerable;
public:
	CString MissionName;
	CString GetName() {return Name;}
	CString GetScript() {return Script;}
	CString GetDriver() {return Driver;}
	CString GetSrcResource() {return SrcResource;}
	float GetMemoryCell(int i) {return MemoryCell[i]; }
	bool GetSnap() {return Snap;}
	bool GetUseInGame() {return UseInGame;}
	float GetHoverElev() {return HoverElev;}
	Point3D GetPos() {return Pos;}
	YawPitchRoll GetRot() {return Rot;}
	int GetAlignment() {return Alignment;}
	char GetSkin() {return Skin;}
	bool GetInvulnerable() {return Invulnerable;}

	void SetName(CString s);			
	 void SetScript(CString s);			
	 void SetDriver(CString s);			
	 void SetSrcResource(CString s);	
	 void SetMemoryCell(int i,float f);	
	 void SetSnap(bool b);				
	 void SetUseInGame(bool b);				
	 void SetHoverElev(float f)	;		
	 void SetPos(Point3D p)	;			
	 void SetPosX(float f)	;			
	 void SetPosY(float f)	;			
	 void SetPosZ(float f)	;			
	 void SetYaw(float f);		
	 void SetPitch(float f);		
	 void SetRoll(float f);		
	 void SetRot(YawPitchRoll r);		
	 void SetAlignment(int a);			
	 void SetSkin(int s);				
	 void SetInvulnerable(bool inv);				

	CObjProps();
	void AddPanel(CObjPanelDlg *pnl);
	void SetModTagFrom(EdGUIObject *gobj); 
	void SetModTagFrom(EdGameObject *gobj); 
	void SetData(EdGUIObject *gobj,UndoCommand **cmd);
	void SetData(EdGameObject *gobj,UndoCommand **cmd);
};

#endif // !defined(AFX_OBJPROPS_H__C1D375C6_296A_4C77_B6E5_F691E906F136__INCLUDED_)
