From cf4107a2e14f7da59c0b9229a3ff284da637d2b5 Mon Sep 17 00:00:00 2001
From: Pierre Ferreira
Date: Wed, 22 Nov 2023 10:18:57 +0100
Subject: [PATCH] ajout de la gestion de suppression des bots :zap:
---
cryptide_project/server/server.js | 13 +++++++
.../src/Components/PlayerItemList.tsx | 34 +++++++++++++++---
cryptide_project/src/Pages/Lobby.tsx | 6 +++-
cryptide_project/src/Style/Global.css | 22 +++++++++++-
cryptide_project/src/res/icon/trash.png | Bin 0 -> 1550 bytes
5 files changed, 68 insertions(+), 7 deletions(-)
create mode 100644 cryptide_project/src/res/icon/trash.png
diff --git a/cryptide_project/server/server.js b/cryptide_project/server/server.js
index abdcb96..14d53df 100644
--- a/cryptide_project/server/server.js
+++ b/cryptide_project/server/server.js
@@ -54,6 +54,19 @@ io.on('connection', (socket) => {
io.to(room).emit("new player", map.get(room))
})
+
+ socket.on("bot deleted", (bot, room) =>{
+ // map.set(room, map.get(room).filter(player => player.id !== bot.id));
+ const tab = map.get(room)
+ for(let i = 0; i{
io.to(socket.id).emit("lobby created", Math.floor(Math.random() * 10000))
})
diff --git a/cryptide_project/src/Components/PlayerItemList.tsx b/cryptide_project/src/Components/PlayerItemList.tsx
index b9ef236..eb7350d 100644
--- a/cryptide_project/src/Components/PlayerItemList.tsx
+++ b/cryptide_project/src/Components/PlayerItemList.tsx
@@ -1,35 +1,59 @@
import React from 'react';
import { FormattedMessage } from 'react-intl';
-import '../Style/Global.css';
/* img */
import BotPDP from '../res/img/bot.png';
import PersonPDP from '../res/img/Person.png';
+import Trash from '../res/icon/trash.png';
+
+/* style */
+import '../Style/Global.css';
/* Boostrap */
import ToggleButton from 'react-bootstrap/ToggleButton';
import ToggleButtonGroup from 'react-bootstrap/ToggleButtonGroup';
+import Button from 'react-bootstrap/Button';
+/* model */
import Player from '../model/Player';
import Bot from '../model/Bot';
+/* server */
+import { socket } from '../SocketConfig';
interface MyPlayerItemListProps {
- player : Player
+ player : Player,
+ room : string | null
}
//@ts-ignore
-const PlayerItemList:React.FC =({ player }) => {
+const PlayerItemList:React.FC =({ player, room }) => {
// const isBot = pdp === Bot;
let pdp;
const isBot = player instanceof Bot;
isBot ? pdp = BotPDP : pdp = PersonPDP;
+
+ const delBot = () => {
+ if (isBot && room != null) {
+ console.log(room);
+ socket.emit("bot deleted", player, room);
+ }
+ };
+
return (
+
-

-
{player.name}
+
+

+
{player.name}
+
+ {isBot && (
+
+ )}
{isBot && (
diff --git a/cryptide_project/src/Pages/Lobby.tsx b/cryptide_project/src/Pages/Lobby.tsx
index bec8f50..61193d0 100644
--- a/cryptide_project/src/Pages/Lobby.tsx
+++ b/cryptide_project/src/Pages/Lobby.tsx
@@ -45,6 +45,10 @@ function Lobby() {
socket.emit("lobby joined", room, new EasyBot("botId" + Math.floor(Math.random() * 1000), "Bot" + Math.floor(Math.random() * 100)).toJson())
}
+ // function delBot(selectedBot: Bot){
+
+ // }
+
useEffect(() => {
if (first){
first=false
@@ -130,7 +134,7 @@ function Lobby() {
{/* //! voir pour la gestion avec un liste, utilisateur avec le "+ (vous)" et les pdp avec les lettres grecs (?)*/}
{players.map((player, index) => (
//
-
+
))}