📄 dlgenemy.cpp
字号:
void CDlgEnemy::OnEnemyBtnFriend()
{
// TODO: Add your control notification handler code here
DXPlaySound("Sound/Dlg_Ok.wav");
if(m_FriendListChk.GetCheckValue() ==1)
{
PopCurListChk();
m_iShowMode = 0;
m_AddBtn.EnableWindow();
m_DlgEnmState.m_iShowMode = m_iShowMode;
SetFriendList();
m_DlgEnmState.EnableWindow(false);
m_nCurrentQueryIndex = -1;
}
else
{
m_FriendListChk.SetCheckValue(1);
}
}
void CDlgEnemy::SetFriendList()
{
m_DelStuBtn.ChangeImage("Button171");
m_DelStuBtn.EnableWindow(true);
CRect rect;
CDlgEnemy::GetWindowRect(rect);
CRect rectB;
m_DelStuBtn.GetWindowRect(rectB);
m_DelStuBtn.MoveWindow(108,294,rectB.Width(),rectB.Height(),false);
m_DelStuBtn.ReInit(rect.left, rect.top );
m_EnemyLstData.ResetContent ( ) ;
int nAmount = g_objHero.GetFriendAmount () ;
// Test the online Friend num
int nOnline = 0 ;
for (int i = 0; i < nAmount; i++)
{
CFriend* pFriend = g_objHero.GetFriendByIndex ( i ) ;
if ( pFriend && pFriend->IsOnline () )
nOnline++ ;
}
int nOffLine = nOnline ;
for ( i = 0; i < nAmount; i++)
{
CFriend* pFriend = g_objHero.GetFriendByIndex(i);
if (pFriend)
{
char strListData[64] ;
strcpy ( strListData, pFriend->GetName () ) ;
if ( pFriend->IsOnline () )
{
m_EnemyLstData.InsertString ( 0, strListData ) ;
m_EnemyLstData.SetListRealIndex ( nOnline - 1, 1 ) ;
nOnline-- ;
}
else
{
m_EnemyLstData.AddString(strListData);
if(g_objGameMsg.GetLeaveWordAmountByName(pFriend->GetName())>0)
m_EnemyLstData.SetItemFlash(nOffLine,TRUE);
else
m_EnemyLstData.SetItemFlash(nOffLine,FALSE);
m_EnemyLstData.SetListRealIndex ( nOffLine, -1 ) ;
nOffLine++ ;
}
}
}
}
void CDlgEnemy::SetFriendState()
{
char strEnemyName[16] ;
m_EnemyLstData.GetText ( m_nCurrentQueryIndex, strEnemyName ) ;
if ( strEnemyName != NULL )
{
if (m_DlgSchoolList.m_bShow)
m_DlgSchoolList.EnableWindow(false);
if ( !m_DlgEnmState.m_bShow )
m_DlgEnmState.EnableWindow() ;
m_DlgEnmState.SetEnemyState ( strEnemyName ,m_iShowMode) ;
}
}
void CDlgEnemy::OnEnemyBtnAdd()
{
// TODO: Add your control notification handler code here
if (m_iShowMode == 0)
{
DXPlaySound ( "Sound/Dlg_Ok.wav" ) ;
CDlgEnemy::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_FRIEND_ADD ) ;
}
}
void CDlgEnemy::SetTsList()
{
CRect rect;
CDlgEnemy::GetWindowRect(rect);
CRect rectB;
m_DelStuBtn.GetWindowRect(rectB);
m_DelStuBtn.MoveWindow(108,294,rectB.Width(),rectB.Height(),false);
m_DelStuBtn.ReInit(rect.left, rect.top );
m_EnemyLstData.ResetContent ( ) ;
int nAmount = g_objHero.GetSchoolMemberAmount();
for(int i=0;i<nAmount;i++)
{
CSchoolMember* pSchoolMember = g_objHero.GetSchoolMemberByIndex(i);
if (pSchoolMember)
{
char strListData[64] ;
strcpy ( strListData, pSchoolMember->GetName () ) ;
if (pSchoolMember->GetRelation() == RELATION_TEACHER)
{
m_EnemyLstData.InsertString(0,strListData);
if (pSchoolMember->GetStatus())
m_EnemyLstData.SetListRealIndex(0,1);
else
m_EnemyLstData.SetListRealIndex(0,-1);
}
else if (pSchoolMember->GetRelation() == RELATION_STUDENT)
{
m_EnemyLstData.AddString(strListData);
if (pSchoolMember->GetStatus())
m_EnemyLstData.SetListRealIndex ( i, 1 ) ;
else
m_EnemyLstData.SetListRealIndex( i, -1);
}
}
}
SetTeacherStatus();
SetTeacherBtn();
}
void CDlgEnemy::OnEnemyBtnEnemy()
{
// TODO: Add your control notification handler code here
DXPlaySound("Sound/Dlg_Ok.wav");
if (m_EnemyListChk.GetCheckValue()==1)
{
PopCurListChk();
m_iShowMode = 1;
m_DlgEnmState.m_iShowMode = m_iShowMode;
SetEnemyList();
m_DlgEnmState.EnableWindow(false);
m_nCurrentQueryIndex = -1;
}
else
{
m_EnemyListChk.SetCheckValue(1);
}
}
void CDlgEnemy::PopCurListChk()
{
DXPlaySound ( "Sound/Dlg_Ok.wav" ) ;
switch(m_iShowMode)
{
case 0:
m_FriendListChk.SetCheckValue(0);
m_AddBtn.EnableWindow(false);
break;
case 1:
m_EnemyListChk.SetCheckValue(0);
break;
case 2:
m_TeacherListChk.SetCheckValue(0);
m_DelStuBtn.EnableWindow(false);
m_TeacherBtn.EnableWindow(false);
break;
default:
break;
}
}
void CDlgEnemy::OnEnemyBtnTeacher()
{
// TODO: Add your control notification handler code here
DXPlaySound("Sound/Dlg_Ok.wav");
if (m_TeacherListChk.GetCheckValue()==1)
{
PopCurListChk();
m_AddBtn.EnableWindow(false);
m_TeacherBtn.EnableWindow(true);
m_DelStuBtn.EnableWindow(true);
m_iShowMode = 2;
m_DlgEnmState.EnableWindow(false);
SetTsList();
m_nCurrentQueryIndex = -1;
}
else
{
m_TeacherListChk.SetCheckValue(1);
}
}
void CDlgEnemy::SetTeacherStatus()
{
if (!g_objHero.IsHaveTeacher())
{
m_nTsStatus = 0;
}
else
m_nTsStatus = 1;
}
void CDlgEnemy::OnBtnTeacher()
{
// TODO: Add your control notification handler code here
switch(m_nTsStatus)
{
case 0://no teacher
{
DXPlaySound ( "Sound/Get_Teacher.wav" ) ;
if (g_objHero.GetLev ()>= 40 )
{
g_objGameMsg.AddMsg (g_objGameDataSet.GetStr (10774));
return;
}
CDlgEnemy::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_TEACHER_REQUEST );
}
break;
case 1://have teacher
{
g_objGameMsg.AddMsg (g_objGameDataSet.GetStr(10770));
}
break;
case 2://sel teacher
{
DXPlaySound("Sound/Dlg_Ok.wav");
g_objHero.LeaveTeacher();
if (m_DlgEnmState.m_bShow)
m_DlgEnmState.EnableWindow (false);
}
break;
case 3://sel student
{
//打开二级学员列表
DXPlaySound ( "Sound/Dlg_Ok.wav" ) ;
char strName[16]="";
m_EnemyLstData.GetText(m_nCurrentQueryIndex,strName);
if ( strName && strlen(strName)>0)
{
CSchoolMember* pSchoolMember = g_objHero.GetSchoolMemberByName(strName);
if (pSchoolMember && pSchoolMember->GetRelation() == RELATION_STUDENT)
{
g_objHero.QuerySecSchoolMember(pSchoolMember->GetID());
if (!m_DlgSchoolList.m_bShow)
{
if (m_DlgEnmState.m_bShow)
m_DlgEnmState.EnableWindow(false);
m_DlgSchoolList.EnableWindow(true);
}
}
}
}
break;
default:
break;
}
}
void CDlgEnemy::SetTeacherBtn()
{
DXPlaySound("Sound/Dlg_Ok.wav");
switch(m_nTsStatus)
{
case 0: //no teacher
m_TeacherBtn.EnableWindow(true);
m_TeacherBtn.ChangeImage("Button176");//拜师
m_DelStuBtn.EnableWindow(true);
m_DelStuBtn.ChangeImage("Button179"); //招收
break;
case 1: // have teacher can get student
m_TeacherBtn.EnableWindow(false);
m_DelStuBtn.EnableWindow(true);
m_DelStuBtn.ChangeImage("Button179"); //招收
break;
case 2: // sel the teacher
m_TeacherBtn.EnableWindow(true);
m_TeacherBtn.ChangeImage("Button177"); //判师
m_DelStuBtn.EnableWindow(false);
break;
case 3: // sel a student
m_TeacherBtn.EnableWindow(true);
m_TeacherBtn.ChangeImage("Button1791"); //二级学员
m_DelStuBtn.EnableWindow(true);
m_DelStuBtn.ChangeImage("Button178"); //开除
break;
case 4:
m_TeacherBtn.EnableWindow(false);
m_DelStuBtn.EnableWindow(true);
m_DelStuBtn.ChangeImage("Button178"); //开除
default:
break;
}
}
void CDlgEnemy::OnBtnDelstudent()
{
// TODO: Add your control notification handler code here
if (m_iShowMode == 0)
{
DXPlaySound ( "Sound/Dlg_Ok.wav" ) ;
if (m_DlgEnmState.m_bShow)
m_DlgEnmState.EnableWindow (false);
if (m_nCurrentQueryIndex == -1)
return;
char strName[16]="";
m_EnemyLstData.GetText(m_nCurrentQueryIndex,strName);
if ( strName && strlen(strName)>0)
CDlgEnemy::GetParent()->PostMessage ( WM_MY_MESSAGE, ON_FRDSTATE_DEL);
}
else if (m_iShowMode == 1)
{
DXPlaySound ( "Sound/Dlg_Ok.wav" ) ;
if (m_DlgEnmState.m_bShow)
m_DlgEnmState.EnableWindow (false);
if (m_nCurrentQueryIndex == -1)
return;
char strName[16]="";
m_EnemyLstData.GetText(m_nCurrentQueryIndex,strName);
if ( strName && strlen(strName)>0)
CDlgEnemy::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_ENMSTATE_DEL ) ;
}
else if (m_iShowMode == 2)
{
switch(m_nTsStatus)
{
case 0: //no teacher
case 1: //have teacher can get student
{
DXPlaySound ( "Sound/Get_Student.wav" ) ;
if (g_objHero.GetLev ()< 50)
{
g_objGameMsg.AddMsg (g_objGameDataSet.GetStr(10771));
return;
}
if (g_objHero.GetTutorExp()<10)
{
g_objGameMsg.AddMsg (g_objGameDataSet.GetStr (10772));
return;
}
if (g_objHero.GetTutorLevel () == 1 && g_objHero.GetSchoolMemberAmount () >=5)
{
g_objGameMsg.AddMsg (g_objGameDataSet.GetStr (10776));
return;
}
if (g_objHero.GetTutorLevel () == 2 && g_objHero.GetSchoolMemberAmount () >=10 )
{
g_objGameMsg.AddMsg (g_objGameDataSet.GetStr (10777));
return;
}
if (g_objHero.GetTutorLevel () == 3 && g_objHero.GetSchoolMemberAmount () >= 15 )
{
g_objGameMsg.AddMsg (g_objGameDataSet.GetStr (10778));
return;
}
g_objGameMsg.AddMsg (g_objGameDataSet.GetStr(10773));
CDlgEnemy::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_STUDENT_REQUEST );
}
break;
case 2: //sel teacher
break;
case 3: //sel student
{
if (m_DlgEnmState.m_bShow)
m_DlgEnmState.EnableWindow (false);
if (m_nCurrentQueryIndex == -1)
return;
char strName[16]="";
m_EnemyLstData.GetText(m_nCurrentQueryIndex,strName);
DXPlaySound ( "Sound/Del_Student.wav" ) ;
if ( strName && strlen(strName)>0)
{
CSchoolMember* pSchoolMember = g_objHero.GetSchoolMemberByName(strName);
if (pSchoolMember && pSchoolMember->GetRelation() == RELATION_STUDENT)
{
g_objHero.DismissStudent(pSchoolMember->GetID());
}
}
}
break;
default:
break;
}
}
}
void CDlgEnemy::DeleteEnemy()
{
char strName[16]="";
m_EnemyLstData.GetText(m_nCurrentQueryIndex,strName);
if ( strName && strlen(strName)>0)
{
CEnemy* pEnemy = g_objHero.GetEnemyByName ( strName ) ;
if ( pEnemy )
g_objHero.DelEnemy ( pEnemy->GetID () ) ;
}
}
void CDlgEnemy::DeleteFriend()
{
char strName[16]="";
m_EnemyLstData.GetText(m_nCurrentQueryIndex,strName);
if ( strName && strlen(strName)>0)
{
CFriend* pFriend = g_objHero.GetFriendByName ( strName ) ;
if ( pFriend )
g_objHero.BreakOffFriend ( pFriend->GetID () ) ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -