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>
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
#ifndef _DUELCELL_MANAGER_H_
|
||||
#define _DUELCELL_MANAGER_H_
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../FieldMap/Cell.h"
|
||||
#include <Pattern/Singleton.h>
|
||||
|
||||
class CDuelCellManager : public CSingleton<CDuelCellManager>
|
||||
{
|
||||
public:
|
||||
|
||||
~CDuelCellManager() { }
|
||||
|
||||
CCell* CreateCell(unsigned long dwCID);
|
||||
bool DestroyCell(unsigned long dwCID);
|
||||
|
||||
CCell* GetCell(unsigned long dwCellID); // <20><> <20><>ȣ<EFBFBD><C8A3> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
|
||||
inline void LowerResolution(int nHighX, int nHighZ, int *nLowX, int *nLowZ);
|
||||
inline void HigherResolution(int nLowX, int nLowZ, int *nHighX, int *nHighZ);
|
||||
|
||||
template<typename FnRefCell>
|
||||
inline bool ProcessAllCell(FnRefCell fnRefCell)
|
||||
{
|
||||
if (0 == m_CellData.size()) return false;
|
||||
|
||||
for(DuelCellMap::iterator itr = m_CellData.begin(); itr != m_CellData.end(); ++itr)
|
||||
{
|
||||
fnRefCell(*itr->second);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
template<typename FnRefCell, typename Arg1>
|
||||
inline bool ProcessAllCell(FnRefCell fnRefCell, Arg1 arg1)
|
||||
{
|
||||
if (0 == m_CellData.size()) return false;
|
||||
|
||||
for(DuelCellMap::iterator itr = m_CellData.begin(); itr != m_CellData.end(); ++itr)
|
||||
{
|
||||
fnRefCell(*itr->second, arg1);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
// <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD>
|
||||
|
||||
bool CheckCellAggresiveCreatures(void); // <20><> <20><><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> CID<49><44> <20>ִ<EFBFBD><D6B4><EFBFBD> <20>˻<EFBFBD>.
|
||||
bool CheckCellStatus(void); // <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
|
||||
|
||||
private:
|
||||
|
||||
CDuelCellManager() { }
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
// member variable
|
||||
typedef std::map<unsigned long, CCell*> DuelCellMap;
|
||||
|
||||
DuelCellMap m_CellData;
|
||||
|
||||
static CDuelCellManager ms_this;
|
||||
};
|
||||
|
||||
inline CCell* CDuelCellManager::GetCell(unsigned long dwCellID)
|
||||
{
|
||||
DuelCellMap::iterator it = m_CellData.find(dwCellID);
|
||||
return (it != m_CellData.end()) ? it->second : NULL;
|
||||
}
|
||||
|
||||
inline void CDuelCellManager::LowerResolution(int nHighX, int nHighZ, int *nLowX, int *nLowZ)
|
||||
{
|
||||
*nLowX = nHighX >> CCell::CELL_RESOLUTION;
|
||||
*nLowZ = nHighZ >> CCell::CELL_RESOLUTION;
|
||||
}
|
||||
|
||||
|
||||
inline void CDuelCellManager::HigherResolution(int nLowX, int nLowZ, int *nHighX, int *nHighZ) {
|
||||
*nHighX = nLowX << CCell::CELL_RESOLUTION;
|
||||
*nHighZ = nLowZ << CCell::CELL_RESOLUTION;
|
||||
}
|
||||
|
||||
#endif+
|
||||
Reference in New Issue
Block a user