Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
62 lines
1.4 KiB
C++
62 lines
1.4 KiB
C++
/* *********************************************************************
|
|
|
|
* CBaseObj
|
|
|
|
* 파일 : BaseObj.h
|
|
* 기능 : Caldron엔진 내부에서 사용되는 모든 Object들의 Base Object 클래스 선언
|
|
* history :
|
|
2003.10.31 (yundi) 작성
|
|
|
|
********************************************************************** */
|
|
|
|
#pragma once
|
|
|
|
#include "Caldron.h"
|
|
|
|
namespace Caldron
|
|
{
|
|
namespace Base
|
|
{
|
|
class CBaseObj
|
|
{
|
|
public:
|
|
CBaseObj( CBaseObj* pParentObj = NULL );
|
|
virtual ~CBaseObj();
|
|
|
|
bool LinkToParent( CBaseObj* pParentObj );
|
|
void Unlink();
|
|
|
|
bool IsRoot();
|
|
bool IsLeaf();
|
|
bool IsFirst();
|
|
bool IsLast();
|
|
|
|
CBaseObj* GetParent();
|
|
CBaseObj* GetFirstChild();
|
|
CBaseObj* GetPrevSibling();
|
|
CBaseObj* GetNextSibling();
|
|
|
|
private:
|
|
void SetParent( CBaseObj* pObj ) { m_rpParent = pObj; }
|
|
void SetFirstChild( CBaseObj* pObj ) { m_rpFirstChild = pObj; }
|
|
void SetPrevSibling( CBaseObj* pObj ) { m_rpPrevSibling = pObj; }
|
|
void SetNextSibling( CBaseObj* pObj ) { m_rpNextSibling = pObj; }
|
|
|
|
CBaseObj* GetLastSibling();
|
|
void AddSiblingObj( CBaseObj* pObj );
|
|
|
|
void EstablishLinkageToParent( CBaseObj* pParent );
|
|
|
|
|
|
static int _GetTotalObjectCount() { return ms_nTotalObjectCount; }
|
|
|
|
|
|
CBaseObj* m_rpParent;
|
|
CBaseObj* m_rpFirstChild;
|
|
CBaseObj* m_rpPrevSibling;
|
|
CBaseObj* m_rpNextSibling;
|
|
|
|
static int ms_nTotalObjectCount;
|
|
};
|
|
}
|
|
} |