refactor(chess): 重构象棋程序基础结构,使用Nullable重构核心代码

- 更新了多个文件的代码结构和类型定义,提高了代码的健壮性和可维护性
- 优化了事件处理、棋子管理和移动逻辑,为后续功能扩展打下坚实基础
- 修复了一些潜在的空指针异常问题,提高了程序的稳定性
- 修复部分bug
This commit is contained in:
ZZY
2024-11-22 23:51:32 +08:00
parent 9c619784af
commit 327c2df94d
19 changed files with 307 additions and 117 deletions

View File

@ -2,16 +2,16 @@ using Godot;
using Godot.Collections;
public partial class EventDrivenWebSocket : WebSocketPeer {
public delegate void WebSocketEventHandler(string eventName, params object[] args);
public delegate void WebSocketEventHandler(string eventName, params object[]? args);
public delegate void WSBinMsgEventHandler(byte[] args);
public delegate void WSMsgEventHandler(string args);
public event WebSocketEventHandler OnOpen;
public event WSBinMsgEventHandler OnMessage;
public event WSMsgEventHandler OnText;
public event WSBinMsgEventHandler OnBinary;
public event WebSocketEventHandler OnClose;
public event WebSocketEventHandler OnError;
public event WebSocketEventHandler? OnOpen;
public event WSBinMsgEventHandler? OnMessage;
public event WSMsgEventHandler? OnText;
public event WSBinMsgEventHandler? OnBinary;
public event WebSocketEventHandler? OnClose;
public event WebSocketEventHandler? OnError;
private bool isConnected = false;
private bool isCloseEventFired = false;
@ -32,7 +32,7 @@ public partial class EventDrivenWebSocket : WebSocketPeer {
}
public void ConnectToUrlEx(string url, double delayTime = 3,
TlsOptions tlsClientOptions = null) {
TlsOptions? tlsClientOptions = null) {
if (connectingTime >= 0) {
return;
}