⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 baseobject.h

📁 游戏框架
💻 H
字号:
#ifndef BASE_OBJECT_HEAD_FILE
#define BASE_OBJECT_HEAD_FILE

#pragma once
#include "objectcom.h"

class OBJECT_COM_CLASS CBaseObject :
	public IBaseObject
{
protected:
	enBaseObjectType	m_enBaseType;				//对象类型
	IUnknownEx*			m_pParent;					//父对象
	BASALINFO			m_Basal;					//基本资料
	TCHAR				m_szName[MAX_NAME];			//对象名称
	bool				m_bVisabled;				//是否可见
	bool				m_bDisabled;				//是否禁止

public:
	CBaseObject(void);
	virtual ~CBaseObject(void);

	//访问方法
public:
	//设置父对象
	virtual void __cdecl SetParent(IUnknownEx* pIUnknownEx);
	//返回父对象
	virtual IUnknownEx* __cdecl GetParent();

	//共通属性
public:
	//设置类型
	virtual void __cdecl SetBaseType(enBaseObjectType enType);
	//返回类型
	virtual enBaseObjectType __cdecl GetBaseType();
	//设置名字
	virtual void __cdecl SetObjectName(LPCTSTR lpName);
	//获取名字
	virtual LPCTSTR __cdecl GetObjectName();
	//设置可视
	virtual void __cdecl SetVisabled(bool bFlag);
	//设置禁用
	virtual void __cdecl SetDisabled(bool bFlag);
	//是否可视
	virtual bool __cdecl IsVisabled();
	//是否禁用
	virtual bool __cdecl IsDisabled();
	//返回深度
	virtual DWORD __cdecl GetDepth();
	//设置深度
	virtual void __cdecl SetDepth(DWORD dwDepth);
	//设置中心
	virtual void __cdecl SetAnchorPosition(POINT piPoint);
	//返回大小
	virtual void __cdecl SetSize(RECT rcRect);
	//返回大小
	virtual RECT __cdecl GetSize();
	//返回基本信息
	virtual BASALINFO& __cdecl GetBasalInfo();

	//对象渲染
	virtual void __cdecl Render(){return;};

	//坐标相关
public:
	//移动对象
	virtual void __cdecl MoveTo(POINT piPoint);
	// 返回对象坐标相对于屏幕
	virtual POINT __cdecl GetScreenPosition();
	// 返回对象相对于容器的坐标
	virtual POINT __cdecl GetLocalPosition();
	// 返回对象容器坐标
	virtual POINT __cdecl GetContainerPosition();
	//返回中心点
	virtual POINT __cdecl GetAnchorPosition();
	//计算容器坐标
	virtual POINT __cdecl CalcContainerPosition();

	//模板方法
public:
	//是否有效
	virtual bool __cdecl IsValid() { return AfxIsValidAddress(this,sizeof(CBaseObject))?true:false;};
	//释放对象
	virtual bool __cdecl Release() { if (IsValid()) delete this; return true; };
	//接口查询
	virtual void * __cdecl QueryInterface(const IID & Guid, DWORD dwQueryVer);
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -