void EmpireManager::RemoveDiplomaticMessage(int empire1, int empire2) { std::pair<int, int> key = DiploKey(empire1, empire2); std::map<std::pair<int, int>, DiplomaticMessage>::iterator it = m_diplomatic_messages.find(key); if (it != m_diplomatic_messages.end()) { m_diplomatic_messages[key] = DiplomaticMessage(empire1, empire2, DiplomaticMessage::INVALID_DIPLOMATIC_MESSAGE_TYPE); DiplomaticMessageChangedSignal(empire1, empire2); return; } Logger().errorStream() << "Was no diplomatic message entry between empires " << empire1 << " and " << empire2; m_diplomatic_messages[key] = DiplomaticMessage(empire1, empire2, DiplomaticMessage::INVALID_DIPLOMATIC_MESSAGE_TYPE); }
void EmpireManager::ResetDiplomacy() { m_diplomatic_messages.clear(); m_empire_diplomatic_statuses.clear(); for (std::map<int, Empire*>::const_iterator emp1_it = m_empire_map.begin(); emp1_it != m_empire_map.end(); ++emp1_it) { std::map<int, Empire*>::const_iterator emp2_it = emp1_it; emp2_it++; for (; emp2_it != m_empire_map.end(); ++emp2_it) { const std::pair<int, int> diplo_key = DiploKey(emp1_it->first, emp2_it->first); m_empire_diplomatic_statuses[diplo_key] = DIPLO_PEACE; m_diplomatic_messages[diplo_key] = DiplomaticMessage(diplo_key.first, diplo_key.second, DiplomaticMessage::INVALID_DIPLOMATIC_MESSAGE_TYPE); } } }
DiplomaticMessage AcceptDiplomaticMessage(int sender_empire_id, int recipient_empire_id) { return DiplomaticMessage(sender_empire_id, recipient_empire_id, DiplomaticMessage::ACCEPT_PROPOSAL); }
DiplomaticMessage CancelDiplomaticMessage(int sender_empire_id, int recipient_empire_id) { return DiplomaticMessage(sender_empire_id, recipient_empire_id, DiplomaticMessage::CANCEL_PROPOSAL); }
DiplomaticMessage PeaceProposalDiplomaticMessage(int sender_empire_id, int recipient_empire_id) { return DiplomaticMessage(sender_empire_id, recipient_empire_id, DiplomaticMessage::PEACE_PROPOSAL); }
DiplomaticMessage WarDeclarationDiplomaticMessage(int sender_empire_id, int recipient_empire_id) { return DiplomaticMessage(sender_empire_id, recipient_empire_id, DiplomaticMessage::WAR_DECLARATION); }
DiplomaticMessage RejectProposalDiplomaticMessage(int sender_empire_id, int recipient_empire_id) { return DiplomaticMessage(sender_empire_id, recipient_empire_id, DiplomaticMessage::REJECT_PROPOSAL); }
DiplomaticMessage EndAllianceDiplomaticMessage(int sender_empire_id, int recipient_empire_id) { return DiplomaticMessage(sender_empire_id, recipient_empire_id, DiplomaticMessage::END_ALLIANCE_DECLARATION); }
DiplomaticMessage AlliesProposalDiplomaticMessage(int sender_empire_id, int recipient_empire_id) { return DiplomaticMessage(sender_empire_id, recipient_empire_id, DiplomaticMessage::ALLIES_PROPOSAL); }