Files
Client/GameTools/Zallad3D SceneClass/OctreeContainer.cpp
LGram16 dd97ddec92 Restructure repository to include all source folders
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>
2025-11-29 20:17:20 +09:00

68 lines
1.7 KiB
C++

// OctreeContainer.cpp: implementation of the COctreeContainer class.
//
//////////////////////////////////////////////////////////////////////
#include "OctreeContainer.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
COctreeContainer::COctreeContainer()
{
strcpy(m_OctreePath,OCTREEPATH);
}
COctreeContainer::~COctreeContainer()
{
DeleteAllObject();
}
COctreeScene* COctreeContainer::GetOctree(char *strOctreeName)
{
for(int cOctree=0;cOctree<m_OctreeContainer.num;cOctree++)
{
if(strcmp(m_OctreeContainer[cOctree]->m_strOctreeName,strOctreeName)==0)
{
m_OctreeContainer[cOctree]->m_Used++;
return m_OctreeContainer[cOctree]->m_pOctree;
}
}
char strPathFile[MAX_NAMEBUFFER];
sprintf(strPathFile,"%s\\%s",OCTREEPATH,strOctreeName);
FILE *fp=fopen(strPathFile,"rb");
if(fp==NULL)
return NULL;
COctreeScene *pOctree=new COctreeScene();
pOctree->Load(fp);
fclose(fp);
OctreeNode *AddNode=new OctreeNode(strOctreeName,pOctree);
m_OctreeContainer.Add(AddNode);
return pOctree;
}
void COctreeContainer::DeleteOctree(char *strOctreeName)
{
for(int cOctree=0;cOctree<m_OctreeContainer.num;cOctree++)
{
if( strcmp(m_OctreeContainer[cOctree]->m_strOctreeName,strOctreeName)==0 &&
--m_OctreeContainer[cOctree]->m_Used==0)
{
//delete m_OctreeContainer[cOctree]->m_pOctree;
delete m_OctreeContainer[cOctree];
m_OctreeContainer.DelIndex(cOctree);
}
}
}
void COctreeContainer::DeleteAllObject()
{
for(int cOctree=0;cOctree<m_OctreeContainer.num;cOctree++)
{
//delete m_OctreeContainer[cOctree]->m_pOctree;
delete m_OctreeContainer[cOctree];
}
m_OctreeContainer.num=0;
}