// GameObject.h: interface for the GameObject class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_EDGAMEOBJECT_H__1A00EDB6_F215_4A9E_AD26_EC9DF30765E1__INCLUDED_) #define AFX_EDGAMEOBJECT_H__1A00EDB6_F215_4A9E_AD26_EC9DF30765E1__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "EdGUIObject.h" #include #include class UndoCommand; using namespace MechWarrior4; class EdGameObject : public EdGUIObject { private: protected: bool DrawFromOBB; bool UseGameCollsion; void Copy(EdGameObject &obj); Adept::Entity *MyEntity; CString ResourcePath; CString m_ScriptName,AIType; float MemoryCell[DEFAULT_MEMORYCELL_VALUES]; virtual void BuildDisplayInfoFromData(); bool InRadius( Point3D &pnt); void PickPen(); int Alignment; char Skin; void BuildRadius(); CString SkinToText(char skin); bool Changeable; public: Adept::Entity* GetMyEntity() {return MyEntity; } CString GetResourceName(); CString GetResourcePath() {return ResourcePath; } bool CanChangeType() {return Changeable;} void SaveTextInfo(NotationFile *not_file); void SetInfo(Page *page); bool IsInvulnerable(); void SetInvulnerable(bool); CString GetSkinText() { return (SkinToText(Skin)); } char GetSkin() {return Skin;} void SetSkin(char skin); void AddPanel(CObjPanelDlg *pnl,UndoCommand **cmd); bool IsMultiZone(); bool IsMultiTile(); void SelectMultiZone(); void SelectMultiTile(); void SetAlignment(int align); int GetAlignment(); void RemoveFromMap(); void AddToMap(); void Clear(); void UpdateVisibility(DWORD visflag); void MakeVisible(DWORD *visflag); bool HasLocalizedName(); void UseLocalizedName(bool flag); void FillSkinList(CComboBox *ctrl); void ChangeTo(CString &path); void BuildFrom(CString &path,CString &name); CString GetTypeName(); void SetName( CString &name); void UpdateMat(); void Dissociate() { MyEntity=NULL; InMap=false;} void AssociateTo(Adept::Entity *entity); EdGUIObject *Clone(); CString GetScriptName(); void SetScriptName(CString script_name); void GetMultiProps(CObjProps *props); void SetMultiProps(CObjProps *props,UndoCommand **cmd); CString GetAIType(); CString GetBestAIType() const; void FillValidAITypes(CComboBox *con); bool HasAI() const; void SetAIType(const CString& type); void SetDefaultAI(); void SetMemoryCell(int cell, Scalar value); Scalar GetMemoryCell(int cell) const; CString GetTag(unsigned long tag_flags); int AddToList(CObjManListCtrl *list,unsigned long tag_flags); void Draw(DrawInfo &dinf); void DrawTileViolation(DrawInfo &dinf); int GetUnSelIcon(); int GetSelIcon() {return GetUnSelIcon();} EdGameObject(); virtual ~EdGameObject(); }; #endif // !defined(AFX_EDGAMEOBJECT_H__1A00EDB6_F215_4A9E_AD26_EC9DF30765E1__INCLUDED_)