mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-11 08:34:52 -07:00
Structure change (#4220)
* Structure change * Remove duplicate folders from previous structure * Cleanup websocket protocol * Updating from based off PR * Fixup - remove wrong files during conflict and get the websocket working * renaming tsx to ts Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
This commit is contained in:
parent
a0deb73df6
commit
1ddc9cc929
123 changed files with 424 additions and 228 deletions
7
webclient/src/websocket/events/RoomEvents/JoinRoom.tsx
Normal file
7
webclient/src/websocket/events/RoomEvents/JoinRoom.tsx
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
export const JoinRoom = {
|
||||
id: ".Event_JoinRoom.ext",
|
||||
action: ({ userInfo }, webClient, { roomEvent }) => {
|
||||
const { roomId } = roomEvent;
|
||||
webClient.services.room.userJoined(roomId, userInfo);
|
||||
}
|
||||
};
|
||||
7
webclient/src/websocket/events/RoomEvents/LeaveRoom.tsx
Normal file
7
webclient/src/websocket/events/RoomEvents/LeaveRoom.tsx
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
export const LeaveRoom = {
|
||||
id: ".Event_LeaveRoom.ext",
|
||||
action: ({ name }, webClient, { roomEvent }) => {
|
||||
const { roomId } = roomEvent;
|
||||
webClient.services.room.userLeft(roomId, name);
|
||||
}
|
||||
};
|
||||
7
webclient/src/websocket/events/RoomEvents/ListGames.tsx
Normal file
7
webclient/src/websocket/events/RoomEvents/ListGames.tsx
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
export const ListGames = {
|
||||
id: ".Event_ListGames.ext",
|
||||
action: ({ gameList }, webClient, { roomEvent }) => {
|
||||
const { roomId } = roomEvent;
|
||||
webClient.services.room.updateGames(roomId, gameList);
|
||||
}
|
||||
};
|
||||
7
webclient/src/websocket/events/RoomEvents/RoomSay.tsx
Normal file
7
webclient/src/websocket/events/RoomEvents/RoomSay.tsx
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
export const RoomSay = {
|
||||
id: ".Event_RoomSay.ext",
|
||||
action: (message, webClient, { roomEvent }) => {
|
||||
const { roomId } = roomEvent;
|
||||
webClient.services.room.addMessage(roomId, message);
|
||||
}
|
||||
};
|
||||
4
webclient/src/websocket/events/RoomEvents/index.tsx
Normal file
4
webclient/src/websocket/events/RoomEvents/index.tsx
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export { JoinRoom } from "./JoinRoom";
|
||||
export { LeaveRoom } from "./LeaveRoom";
|
||||
export { ListGames } from "./ListGames";
|
||||
export { RoomSay } from "./RoomSay";
|
||||
18
webclient/src/websocket/events/SessionEvents/AddToList.tsx
Normal file
18
webclient/src/websocket/events/SessionEvents/AddToList.tsx
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
export const AddToList = {
|
||||
id: ".Event_AddToList.ext",
|
||||
action: ({ listName, userInfo}, webClient) => {
|
||||
switch (listName) {
|
||||
case 'buddy': {
|
||||
webClient.services.session.addToBuddyList(userInfo);
|
||||
break;
|
||||
}
|
||||
case 'ignore': {
|
||||
webClient.services.session.addToIgnoreList(userInfo);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
webClient.debug(() => console.log('Attempted to add to unknown list: ', listName));
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
import { StatusEnum } from "types";
|
||||
|
||||
export const ConnectionClosed = {
|
||||
id: ".Event_ConnectionClosed.ext",
|
||||
action: ({ reason }, webClient) => {
|
||||
let message = "";
|
||||
|
||||
// @TODO (5)
|
||||
switch(reason) {
|
||||
case webClient.pb.Event_ConnectionClosed.CloseReason.USER_LIMIT_REACHED:
|
||||
message = "The server has reached its maximum user capacity";
|
||||
break;
|
||||
case webClient.pb.Event_ConnectionClosed.CloseReason.TOO_MANY_CONNECTIONS:
|
||||
message = "There are too many concurrent connections from your address";
|
||||
break;
|
||||
case webClient.pb.Event_ConnectionClosed.CloseReason.BANNED:
|
||||
message = "You are banned";
|
||||
break;
|
||||
case webClient.pb.Event_ConnectionClosed.CloseReason.DEMOTED:
|
||||
message = "You were demoted";
|
||||
break;
|
||||
case webClient.pb.Event_ConnectionClosed.CloseReason.SERVER_SHUTDOWN:
|
||||
message = "Scheduled server shutdown";
|
||||
break;
|
||||
case webClient.pb.Event_ConnectionClosed.CloseReason.USERNAMEINVALID:
|
||||
message = "Invalid username";
|
||||
break;
|
||||
case webClient.pb.Event_ConnectionClosed.CloseReason.LOGGEDINELSEWERE:
|
||||
message = "You have been logged out due to logging in at another location";
|
||||
break;
|
||||
case webClient.pb.Event_ConnectionClosed.CloseReason.OTHER:
|
||||
default:
|
||||
message = "Unknown reason";
|
||||
break;
|
||||
}
|
||||
|
||||
webClient.updateStatus(StatusEnum.DISCONNECTED, message);
|
||||
}
|
||||
};
|
||||
16
webclient/src/websocket/events/SessionEvents/ListRooms.tsx
Normal file
16
webclient/src/websocket/events/SessionEvents/ListRooms.tsx
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
import * as _ from "lodash";
|
||||
|
||||
export const ListRooms = {
|
||||
id: ".Event_ListRooms.ext",
|
||||
action: ({ roomList }, webClient) => {
|
||||
webClient.services.room.updateRooms(roomList);
|
||||
|
||||
if (webClient.options.autojoinrooms) {
|
||||
_.each(roomList, ({ autoJoin, roomId }) => {
|
||||
if (autoJoin) {
|
||||
webClient.commands.session.joinRoom(roomId);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
export const NotifyUser = {
|
||||
id: ".Event_NotifyUser.ext",
|
||||
action: (payload) => {
|
||||
// console.info("Event_NotifyUser", payload);
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
export const PlayerPropertiesChanges = {
|
||||
id: ".Event_PlayerPropertiesChanges.ext",
|
||||
action: (payload) => {
|
||||
// console.info("Event_PlayerPropertiesChanges", payload);
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
export const RemoveFromList = {
|
||||
id: ".Event_RemoveFromList.ext",
|
||||
action: ({ listName, userName }, webClient) => {
|
||||
switch (listName) {
|
||||
case 'buddy': {
|
||||
webClient.services.session.removeFromBuddyList(userName);
|
||||
break;
|
||||
}
|
||||
case 'ignore': {
|
||||
webClient.services.session.removeFromIgnoreList(userName);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
webClient.debug(() => console.log('Attempted to remove from unknown list: ', listName));
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
import { StatusEnum } from "types";
|
||||
|
||||
export const ServerIdentification = {
|
||||
id: ".Event_ServerIdentification.ext",
|
||||
action: (info, webClient, _raw) => {
|
||||
const { serverName, serverVersion, protocolVersion } = info;
|
||||
|
||||
if (protocolVersion !== webClient.protocolVersion) {
|
||||
webClient.disconnect();
|
||||
webClient.updateStatus(StatusEnum.DISCONNECTED, "Protocol version mismatch: " + protocolVersion);
|
||||
return;
|
||||
}
|
||||
|
||||
webClient.resetConnectionvars();
|
||||
webClient.updateStatus(StatusEnum.LOGGINGIN, "Logging in...");
|
||||
webClient.services.session.updateInfo(serverName, serverVersion);
|
||||
webClient.commands.session.login();
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
export const ServerMessage = {
|
||||
id: ".Event_ServerMessage.ext",
|
||||
action: ({ message }, webClient) => {
|
||||
webClient.services.session.serverMessage(message);
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
export const ServerShutdown = {
|
||||
id: ".Event_ServerShutdown.ext",
|
||||
action: (payload, webClient) => {
|
||||
// console.info("Event_ServerShutdown", payload);
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
export const UserJoined = {
|
||||
id: ".Event_UserJoined.ext",
|
||||
action: ({ userInfo }, webClient) => {
|
||||
webClient.services.session.userJoined(userInfo);
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
export const UserLeft = {
|
||||
id: ".Event_UserLeft.ext",
|
||||
action: ({ name }, webClient) => {
|
||||
webClient.services.session.userLeft(name);
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
export const UserMessage = {
|
||||
id: ".Event_UserMessage.ext",
|
||||
action: (payload) => {
|
||||
// console.info("Event_UserMessage", payload);
|
||||
}
|
||||
};
|
||||
12
webclient/src/websocket/events/SessionEvents/index.ts
Normal file
12
webclient/src/websocket/events/SessionEvents/index.ts
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
export * from "./ConnectionClosed";
|
||||
export * from "./ListRooms";
|
||||
export * from "./AddToList";
|
||||
export * from "./RemoveFromList";
|
||||
export * from "./NotifyUser"; // @TODO
|
||||
export * from "./PlayerPropertiesChanges"; // @TODO
|
||||
export * from "./ServerIdentification";
|
||||
export * from "./ServerMessage";
|
||||
export * from "./ServerShutdown"; // @TODO
|
||||
export * from "./UserJoined";
|
||||
export * from "./UserLeft";
|
||||
export * from "./UserMessage"; // @TODO
|
||||
Loading…
Add table
Add a link
Reference in a new issue