📄 suryunregeninfo.cpp
字号:
// SuryunRegenInfo.cpp: implementation of the CSuryunRegenInfo class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "SuryunRegenInfo.h"
#include "MHFile.h"
#include "SuryunRegenGroupInfo.h"
#include "SuryunRegenGroup.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CSuryunRegenInfo::CSuryunRegenInfo()
{
m_MaxCount = 0;
}
CSuryunRegenInfo::~CSuryunRegenInfo()
{
}
void CSuryunRegenInfo::Init(char* filename)
{
CMHFile file;
if(!file.Init(filename, "rb"))
{
ASSERT(0);
return;
}
int a = file.GetByte();
file.Release();
//regen group info add
}
void CSuryunRegenInfo::TimeRegen(CSuryunRegenGroup* pRegenGroup, int GroupID, DWORD elpsTime, CPlayer* pPlayer, WORD* MonsterKindInfo)
{
if((GroupID <0) || (GroupID >= m_MaxCount))
{
ASSERTMSG(0, "(弊缝 钙胶酒捞叼)客 (弊缝狼 醚 肮荐-1)篮 鞍酒具 钦聪促.");
return;
}
m_RegenGroupInfoArray[GroupID].TimeRegen(pRegenGroup, elpsTime, pPlayer, MonsterKindInfo);
}
void CSuryunRegenInfo::RatioRegen(CSuryunRegenGroup* pRegenGroupArray, int GroupID, int CurMonsterNum, CPlayer* pPlayer, WORD* MonsterKindInfo)
{
if((GroupID <0) || (GroupID >= m_MaxCount))
{
ASSERTMSG(0, "(弊缝 钙胶酒捞叼)客 (弊缝狼 醚 肮荐-1)篮 鞍酒具 钦聪促.");
return;
}
int SeqGroup;
for(int n=0;n<5;++n)
{
SeqGroup = m_RegenGroupInfoArray[GroupID].ChkRatioRegen(n,CurMonsterNum);
if(SeqGroup == -1)
continue;
m_RegenGroupInfoArray[SeqGroup].RatioRegen(&pRegenGroupArray[SeqGroup], pPlayer, MonsterKindInfo);
}
}
#define GROUPKEY "$GROUP"
#define MAXGROUP "$MAXGROUP"
#define GROUPNAME "#GROUPNAME"
void CSuryunRegenInfo::Load(char* filename)
{
CMHFile file;
if(!file.Init(filename,"rb"))
{
ASSERTMSG(0,filename);
return;
}
char Buf[1024] = {0,};
char tempBuf[256];
BOOL bReadGroup = FALSE;
char GroupID[4];
while(1)
{
if(file.IsEOF() != FALSE)
break;
file.GetString(tempBuf);
if(bReadGroup == FALSE)
{
if(strncmp(tempBuf, MAXGROUP, strlen(MAXGROUP)) == 0)
{
m_MaxCount = file.GetByte();
m_RegenGroupInfoArray = new CSuryunRegenGroupInfo[m_MaxCount];
}
if(strncmp(tempBuf,GROUPKEY,strlen(GROUPKEY)) == 0)
{
bReadGroup = TRUE;
Buf[0] = 0;
continue;
}
}
else
{
strcat(Buf,tempBuf);
strcat(Buf," ");
if(strncmp(tempBuf, GROUPNAME, strlen(GROUPNAME)) == 0)
{
file.GetString(GroupID);
strcat(Buf,GroupID);
strcat(Buf," ");
int a = atoi(GroupID);
}
if(tempBuf[0] == '}')
{
// CSuryunRegenGroupInfo* pInfo = new CSuryunRegenGroupInfo;
// pInfo->fromStr(Buf);
// pInfo->AddGroupToListCtrl(&m_listGroup);
// m_RegenGroupInfoArray[i].fromStr(Buf);
m_RegenGroupInfoArray[atoi(GroupID)].fromStr(Buf);
bReadGroup = FALSE;
}
}
}
file.Release();
}
int CSuryunRegenInfo::GetMonCountinGroup(int GroupID)
{
if((GroupID <0) || (GroupID >= m_MaxCount))
{
ASSERTMSG(0, "(弊缝 钙胶酒捞叼)客 (弊缝狼 醚 肮荐-1)篮 鞍酒具 钦聪促.");
return 0;
}
return m_RegenGroupInfoArray[GroupID].GetMonsterCount();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -