mirror of
https://github.com/MirrorNetworking/Mirror.git
synced 2024-11-18 11:00:32 +00:00
Simplify add player extra data (#537)
* Simplify add player extra data * Pass byte[] in the client too * Renamed to extra message
This commit is contained in:
parent
001cec6d82
commit
e4fbbeddc3
@ -195,7 +195,7 @@ public override void OnServerDisconnect(NetworkConnection conn)
|
|||||||
OnLobbyServerDisconnect(conn);
|
OnLobbyServerDisconnect(conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnServerAddPlayer(NetworkConnection conn)
|
public override void OnServerAddPlayer(NetworkConnection conn, AddPlayerMessage extraMessage)
|
||||||
{
|
{
|
||||||
if (SceneManager.GetActiveScene().name != LobbyScene) return;
|
if (SceneManager.GetActiveScene().name != LobbyScene) return;
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ This demonstrates how to set the parent of the LobbyPlayerPrefab to an arbitrary
|
|||||||
A similar technique would be used if a full canvas layout UI existed and we wanted to show
|
A similar technique would be used if a full canvas layout UI existed and we wanted to show
|
||||||
something more visual for each player in that layout, such as a name, avatar, etc.
|
something more visual for each player in that layout, such as a name, avatar, etc.
|
||||||
|
|
||||||
Note: LobbyPlayer prefab will be marked DontDestroyOnLoad and carried forward to the game scene.
|
Note: LobbyPAlayer prefab will be marked DontDestroyOnLoad and carried forward to the game scene.
|
||||||
Because of this, NetworkLobbyManager must automatically set the parent to null
|
Because of this, NetworkLobbyManager must automatically set the parent to null
|
||||||
in ServerChangeScene and OnClientChangeScene.
|
in ServerChangeScene and OnClientChangeScene.
|
||||||
*/
|
*/
|
||||||
|
@ -64,7 +64,7 @@ internal static void InternalAddPlayer(NetworkIdentity identity)
|
|||||||
|
|
||||||
// use this to implicitly become ready
|
// use this to implicitly become ready
|
||||||
// -> extraMessage can contain character selection, etc.
|
// -> extraMessage can contain character selection, etc.
|
||||||
public static bool AddPlayer(NetworkConnection readyConn, MessageBase extraMessage)
|
public static bool AddPlayer(NetworkConnection readyConn, byte[] extraData)
|
||||||
{
|
{
|
||||||
// ensure valid ready connection
|
// ensure valid ready connection
|
||||||
if (readyConn != null)
|
if (readyConn != null)
|
||||||
@ -87,13 +87,10 @@ public static bool AddPlayer(NetworkConnection readyConn, MessageBase extraMessa
|
|||||||
|
|
||||||
if (LogFilter.Debug) { Debug.Log("ClientScene.AddPlayer() called with connection [" + readyConnection + "]"); }
|
if (LogFilter.Debug) { Debug.Log("ClientScene.AddPlayer() called with connection [" + readyConnection + "]"); }
|
||||||
|
|
||||||
AddPlayerMessage msg = new AddPlayerMessage();
|
AddPlayerMessage msg = new AddPlayerMessage()
|
||||||
if (extraMessage != null)
|
|
||||||
{
|
{
|
||||||
NetworkWriter writer = new NetworkWriter();
|
value = extraData
|
||||||
extraMessage.Serialize(writer);
|
};
|
||||||
msg.value = writer.ToArray();
|
|
||||||
}
|
|
||||||
readyConnection.Send(msg);
|
readyConnection.Send(msg);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -552,21 +552,7 @@ internal void OnServerAddPlayerMessageInternal(NetworkConnection conn, AddPlayer
|
|||||||
{
|
{
|
||||||
if (LogFilter.Debug) { Debug.Log("NetworkManager.OnServerAddPlayerMessageInternal"); }
|
if (LogFilter.Debug) { Debug.Log("NetworkManager.OnServerAddPlayerMessageInternal"); }
|
||||||
|
|
||||||
if (msg.value != null && msg.value.Length > 0)
|
OnServerAddPlayer(conn, msg);
|
||||||
{
|
|
||||||
// convert payload to extra message and call OnServerAddPlayer
|
|
||||||
// (usually for character selection information)
|
|
||||||
NetworkMessage extraMessage = new NetworkMessage
|
|
||||||
{
|
|
||||||
reader = new NetworkReader(msg.value),
|
|
||||||
conn = conn
|
|
||||||
};
|
|
||||||
OnServerAddPlayer(conn, extraMessage);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
OnServerAddPlayer(conn);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void OnServerRemovePlayerMessageInternal(NetworkConnection conn, RemovePlayerMessage msg)
|
internal void OnServerRemovePlayerMessageInternal(NetworkConnection conn, RemovePlayerMessage msg)
|
||||||
@ -661,12 +647,7 @@ public virtual void OnServerReady(NetworkConnection conn)
|
|||||||
NetworkServer.SetClientReady(conn);
|
NetworkServer.SetClientReady(conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void OnServerAddPlayer(NetworkConnection conn, NetworkMessage extraMessage)
|
public virtual void OnServerAddPlayer(NetworkConnection conn, AddPlayerMessage extraMessage)
|
||||||
{
|
|
||||||
OnServerAddPlayerInternal(conn);
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnServerAddPlayer(NetworkConnection conn)
|
|
||||||
{
|
{
|
||||||
OnServerAddPlayerInternal(conn);
|
OnServerAddPlayerInternal(conn);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user