补全action生命周期

This commit is contained in:
wuwenbo 2025-09-30 14:45:02 +08:00
parent 7ce32baa99
commit bdc8db384e
3 changed files with 23 additions and 4 deletions

View File

@ -871,7 +871,17 @@ namespace Logic.Action
return 1f;
}
public abstract bool ExecuteViewBefore(CommonActionParams actionParams);
public virtual bool ExecuteViewBefore(CommonActionParams actionParams)
{
var actionData = new ActionNetData();
actionData.Version = Main.MapData.Net.GetActionVersion();
actionData.MapHash = NetData.GetMapDataHash(Main.MapData);
actionData.Param = actionParams;
actionData.ActionId = _actionId;
Main.MapData.Net.Actions.Add(actionData);
return true;
}
public abstract bool ExecuteViewAfter(CommonActionParams actionParams);
// 完整的执行调用, 供外部使用
@ -889,7 +899,8 @@ namespace Logic.Action
return true;
}
}
ExecuteViewBefore(actionParams);
var ret = Execute(actionParams);
AfterExecute(actionParams);
return ret;
@ -898,6 +909,7 @@ namespace Logic.Action
// 网络调用
public virtual bool NetCompleteExecute(CommonActionParams actionParams)
{
ExecuteViewBefore(actionParams);
var ret = Execute(actionParams);
AfterExecute(actionParams);
return ret;

View File

@ -45,12 +45,19 @@ namespace TH1_Logic.Steam
LobbyManager.Instance.Lobby.BroadcastMessage(messageBytes);
}
// 房主广播消息给所有成员
public void SendMessageToAllPlayer(BaseMessage message)
{
byte[] messageBytes = MemoryPack.MemoryPackSerializer.Serialize(message);
LobbyManager.Instance.Lobby.BroadcastMessage(messageBytes);
}
// 广播字符串
public void BroadcastString(string str)
{
var data = new StringMessage();
data.Content = str;
BroadcastMessage(data);
SendMessageToAllPlayer(data);
}
// 游戏开始

View File

@ -465,7 +465,7 @@ namespace TH1_Logic.Steam
return false;
}
if (IsMemberInLobby(member)) return false;
if (!IsMemberInLobby(member)) return false;
if (member == GetSelfMemberId()) return false;
var cSteamId = new CSteamID(member);
return SimpleP2P.Instance.SendTo(cSteamId, data, reliable);