12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #include "pch.h"
- /*-------------------------------------------------------------------------
- * CFSSide::CFSSide()
- *-------------------------------------------------------------------------
- */
- CFSSide::CFSSide(TRef<IsideIGC> pSide, CFSMission * pfsmission) :
- m_pIsideIGC(pSide),
- m_pfsmission(pfsmission)
- {
- m_pgrpSide = g.fm.CreateGroup(ZString(pSide->GetName()));
- m_pIsideIGC->SetPrivateData((DWORD)this); // link to IGC side
- }
- /*-------------------------------------------------------------------------
- * CFSSide::~CFSSide()
- *-------------------------------------------------------------------------
- */
- CFSSide::~CFSSide()
- {
- g.fm.DeleteGroup(m_pgrpSide);
- m_pIsideIGC->SetPrivateData((DWORD)NULL); // unlink from IGC Side
- }
- /*-------------------------------------------------------------------------
- * CFSSide::IsInvited()
- *-------------------------------------------------------------------------
- */
- bool CFSSide::IsInvited(CFSPlayer * pfsPlayer)
- {
- if(m_pfsmission->IsSquadGame())
- {
- for (std::vector<ZString>::iterator i(m_Invitations.begin()); i != m_Invitations.end(); ++i)
- {
- //
- // Iterate through each squad that the player is on
- //
- int nNumSquads = pfsPlayer->GetSquadMembershipList()->n();
- SquadMembershipLink* pSquadLink = pfsPlayer->GetSquadMembershipList()->first();
- for (int iSquad = 0; iSquad < nNumSquads; ++iSquad, pSquadLink = pSquadLink->next())
- {
- SquadMembership* psquadmembership = (pSquadLink->data());
- if (_stricmp(psquadmembership->GetName(), PCC(static_cast<ZString>(*i))) == 0)
- return true;
- }
- }
- }
- else
- {
- for (std::vector<ZString>::iterator i(m_Invitations.begin()); i != m_Invitations.end(); ++i)
- {
- if (_stricmp(PCC(static_cast<ZString>(*i)), pfsPlayer->GetName()) == 0)
- return true;
- }
- }
- return false;
- }
- /*-------------------------------------------------------------------------
- * CFSSide::AddInvitation()
- *-------------------------------------------------------------------------
- */
- void CFSSide::AddInvitation(const char * szSubjectName)
- {
- if (m_pfsmission->IsSquadGame())
- {
- if(m_Invitations.size() > 0)
- m_Invitations.clear();
- m_pfsmission->SetSideName(m_pIsideIGC->GetObjectID(), szSubjectName);
- }
- m_Invitations.push_back(ZString(szSubjectName));
- }
- /*-------------------------------------------------------------------------
- * CFSSide::GetInvitedSquadName()
- *-------------------------------------------------------------------------
- */
- const char* CFSSide::GetInvitedSquadName()
- {
- if (m_Invitations.size() == 0)
- return NULL;
- return *(m_Invitations.begin());
- }
|