补全action生命周期
This commit is contained in:
parent
7ce32baa99
commit
bdc8db384e
@ -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;
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
// 游戏开始
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user