void Interface::achat(GuiItem* g) { Joueur *joueur = ((Interface*)g->GetData("this"))->m_plateau->getPlateau()->getJoueurTour(); joueur->estSur()->acheter(joueur); }
void Interface::update() { int x, y; x=y=0; m_button_achat->SetVisible(false); m_button_hypothequer->SetVisible(false); m_button_deshypothequer->SetVisible(false); m_button_construire->SetVisible(false); m_button_detruire->SetVisible(false); m_button_liberer->SetVisible(false); m_button_caution->SetVisible(false); Joueur *joueur = m_plateau->getPlateau()->getJoueurTour(); m_infoCase->SetText(joueur->nom()+" est sur : " + joueur->estSur()->nom()+"\n"+joueur->estSur()->description()); if (dynamic_cast<CasePropriete*>(joueur->estSur()) && !((CasePropriete*)(joueur->estSur()))->estAchete() && joueur->argent() > ((CasePropriete*)(joueur->estSur()))->prixAchat()) m_button_achat->SetVisible(true); if (joueur->estEnPrison() && joueur->cartesLiberte().size() != 0) m_button_liberer->SetVisible(true); if (joueur->estEnPrison() && joueur->getToursPrison() != 0) m_button_caution->SetVisible(true); for (CasePropriete *m_case : joueur->proprietes()) { if (!m_case->estEnHypotheque()) m_button_hypothequer->SetVisible(true); if (m_case->estEnHypotheque()) m_button_deshypothequer->SetVisible(true); if (m_case->peutConstruire() && joueur->argent() > ((CasePropriete*)(joueur->estSur()))->prixAchat()) m_button_construire->SetVisible(true); if (m_case->peutDetruire()) m_button_detruire->SetVisible(true); } Carte* carte = joueur->lastCarte(); joueur->setLastCarte(nullptr); if(carte && !dynamic_cast<Payer_ou_tirer*>(carte)) m_lastInfos = joueur->nom()+":\nCarte " + carte->paquet()->nom() + "\n" + carte->description(); if (dynamic_cast<Payer_ou_tirer*>(carte)) { new MessageBox("Carte "+carte->paquet()->nom(), carte->description(), m_plateau->getPlateau(), dynamic_cast<Payer_ou_tirer*>(carte), m_button_des); m_button_des->SetVisible(false); } if (m_window_hypothequer && m_window_deshypothequer && m_window_construire && m_window_detruire) { if (m_window_hypothequer->IsVisible() || m_window_deshypothequer->IsVisible() || m_window_construire->IsVisible() || m_window_detruire->IsVisible()) m_button_des->SetVisible(false); } else m_button_des->SetVisible(true); if (!m_window_hypothequer) { m_window_hypothequer = m_engine->GetGuiManager()->GetRootNode()->AddWindow(); m_window_hypothequer->SetCharacterSizeTitle(22); m_window_hypothequer->SetWindowTitle("Hypotéquer"); m_window_hypothequer->SetColorShape(sf::Color(255, 255, 255)); m_window_hypothequer->SetColorOutlineShape(sf::Color(255, 0, 0)); m_window_hypothequer->SetColorContener(sf::Color(255, 255, 255)); m_window_hypothequer->SetColorOutlineContener(sf::Color(255, 0, 0)); m_window_hypothequer->SetClosable(true); m_window_hypothequer->CloseItem()->SetData("this", this); m_window_hypothequer->CloseItem()->SetCallBack("onClosed", Interface::closeHypotheque); m_window_hypothequer->SetVisible(false); } if(!m_window_deshypothequer) { m_window_deshypothequer = m_engine->GetGuiManager()->GetRootNode()->AddWindow(); m_window_deshypothequer->SetCharacterSizeTitle(22); m_window_deshypothequer->SetWindowTitle("Deshypothéquer"); m_window_deshypothequer->SetColorShape(sf::Color(255, 255, 255)); m_window_deshypothequer->SetColorOutlineShape(sf::Color(255, 0, 0)); m_window_deshypothequer->SetColorContener(sf::Color(255, 255, 255)); m_window_deshypothequer->SetColorOutlineContener(sf::Color(255, 0, 0)); m_window_deshypothequer->SetClosable(true); m_window_deshypothequer->CloseItem()->SetData("this", this); m_window_deshypothequer->CloseItem()->SetCallBack("onClosed", Interface::closeDeshypotheque); m_window_deshypothequer->SetVisible(false); } if(!m_window_construire) { m_window_construire = m_engine->GetGuiManager()->GetRootNode()->AddWindow(); m_window_construire->SetCharacterSizeTitle(22); m_window_construire->SetWindowTitle("Construire"); m_window_construire->SetColorShape(sf::Color(255, 255, 255)); m_window_construire->SetColorOutlineShape(sf::Color(255, 0, 0)); m_window_construire->SetColorContener(sf::Color(255, 255, 255)); m_window_construire->SetColorOutlineContener(sf::Color(255, 0, 0)); m_window_construire->SetClosable(true); m_window_construire->CloseItem()->SetData("this", this); m_window_construire->CloseItem()->SetCallBack("onClosed", Interface::closeConstruire); m_window_construire->SetVisible(false); } if(!m_window_detruire) { m_window_detruire = m_engine->GetGuiManager()->GetRootNode()->AddWindow(); m_window_detruire->SetCharacterSizeTitle(22); m_window_detruire->SetWindowTitle("Détruire"); m_window_detruire->SetColorShape(sf::Color(255, 255, 255)); m_window_detruire->SetColorOutlineShape(sf::Color(255, 0, 0)); m_window_detruire->SetColorContener(sf::Color(255, 255, 255)); m_window_detruire->SetColorOutlineContener(sf::Color(255, 0, 0)); m_window_detruire->SetClosable(true); m_window_detruire->CloseItem()->SetData("this", this); m_window_detruire->CloseItem()->SetCallBack("onClosed", Interface::closeDetruire); m_window_detruire->SetVisible(false); } m_info->SetText(m_lastInfos); }