Files
firestorm/Gameleap/code/mw4/Code/MW4GameEd2/EdGameObject.h
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

111 lines
2.9 KiB
C++

// 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 <Adept\Entity.hpp>
#include <MW4\AI.hpp>
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_)