com.unity.netcode.gameobjects@1.0.0-pre.3

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

Additional documentation and release notes are available at [Multiplayer Documentation](https://docs-multiplayer.unity3d.com).

## [1.0.0-pre.3] - 2021-10-22

### Added

- ResetTrigger function to NetworkAnimator (#1327)

### Fixed

- Overflow exception when syncing Animator state. (#1327)
- Added `try`/`catch` around RPC calls, preventing exception from causing further RPC calls to fail (#1329)
- Fixed an issue where ServerClientId and LocalClientId could have the same value, causing potential confusion, and also fixed an issue with the UNet where the server could be identified with two different values, one of which might be the same as LocalClientId, and the other of which would not.(#1368)
- IL2CPP would not properly compile (#1359)
This commit is contained in:
Unity Technologies
2021-10-22 00:00:00 +00:00
parent 22d877d1b2
commit f5664b4cc1
14 changed files with 408 additions and 228 deletions

View File

@@ -8,84 +8,86 @@ using UnityEngine.SceneManagement;
namespace Unity.Netcode
{
/// <summary>
/// The different types of scene events communicated between a server and client.
/// Used by <see cref="NetworkSceneManager"/> for <see cref="SceneEventMessage"/> messages
/// Note: This is only when <see cref="NetworkConfig.EnableSceneManagement"/> is enabled
/// See also: <see cref="SceneEvent"/>
/// The different types of scene events communicated between a server and client. <br/>
/// Used by <see cref="NetworkSceneManager"/> for <see cref="SceneEventMessage"/> messages.<br/>
/// <em>Note: This is only when <see cref="NetworkConfig.EnableSceneManagement"/> is enabled.</em><br/>
/// See also: <br/>
/// <seealso cref="SceneEvent"/>
/// </summary>
public enum SceneEventType : byte
{
/// <summary>
/// Load a scene
/// Invocation: Server Side
/// Message Flow: Server to client
/// Event Notification: Both server and client are notified a load scene event started
/// Load a scene<br/>
/// <b>Invocation:</b> Server Side<br/>
/// <b>Message Flow:</b> Server to client<br/>
/// <b>Event Notification:</b> Both server and client are notified a load scene event started
/// </summary>
Load,
/// <summary>
/// Unload a scene
/// Invocation: Server Side
/// Message Flow: Server to client
/// Event Notification: Both server and client are notified an unload scene event started
/// Unload a scene<br/>
/// <b>Invocation:</b> Server Side<br/>
/// <b>Message Flow:</b> Server to client<br/>
/// <b>Event Notification:</b> Both server and client are notified an unload scene event started.
/// </summary>
Unload,
/// <summary>
/// Synchronize current game session state for approved clients
/// Invocation: Server Side
/// Message Flow: Server to client
/// Event Notification: Server and Client receives a local notification (server receives the ClientId being synchronized)
/// Synchronizes current game session state for newly approved clients<br/>
/// <b>Invocation:</b> Server Side<br/>
/// <b>Message Flow:</b> Server to client<br/>
/// <b>Event Notification:</b> Server and Client receives a local notification (<em>server receives the ClientId being synchronized</em>).
/// </summary>
Synchronize,
/// <summary>
/// Game session re-synchronization of NetworkObjects that were destroyed during a <see cref="Synchronize"/> event
/// Invocation: Server Side
/// Message Flow: Server to client
/// Event Notification: Both server and client receive a local notification
/// Note: This will be removed once snapshot and buffered messages are finalized as it will no longer be needed at that point
/// Game session re-synchronization of NetworkObjects that were destroyed during a <see cref="Synchronize"/> event<br/>
/// <b>Invocation:</b> Server Side<br/>
/// <b>Message Flow:</b> Server to client<br/>
/// <b>Event Notification:</b> Both server and client receive a local notification<br/>
/// <em>Note: This will be removed once snapshot and buffered messages are finalized as it will no longer be needed at that point.</em>
/// </summary>
ReSynchronize,
/// <summary>
/// All clients have finished loading a scene
/// Invocation: Server Side
/// Message Flow: Server to Client
/// Event Notification: Both server and client receive a local notification containing the clients that finished
/// as well as the clients that timed out (if any).
/// All clients have finished loading a scene<br/>
/// <b>Invocation:</b> Server Side<br/>
/// <b>Message Flow:</b> Server to Client<br/>
/// <b>Event Notification:</b> Both server and client receive a local notification containing the clients that finished
/// as well as the clients that timed out(<em>if any</em>).
/// </summary>
LoadEventCompleted,
/// <summary>
/// All clients have unloaded a scene
/// Invocation: Server Side
/// Message Flow: Server to Client
/// Event Notification: Both server and client receive a local notification containing the clients that finished
/// as well as the clients that timed out (if any).
/// All clients have unloaded a scene<br/>
/// <b>Invocation:</b> Server Side<br/>
/// <b>Message Flow:</b> Server to Client<br/>
/// <b>Event Notification:</b> Both server and client receive a local notification containing the clients that finished
/// as well as the clients that timed out(<em>if any</em>).
/// </summary>
UnloadEventCompleted,
/// <summary>
/// A client has finished loading a scene
/// Invocation: Client Side
/// Message Flow: Client to Server
/// Event Notification: Both server and client receive a local notification
/// A client has finished loading a scene<br/>
/// <b>Invocation:</b> Client Side<br/>
/// <b>Message Flow:</b> Client to Server<br/>
/// <b>Event Notification:</b> Both server and client receive a local notification.
/// </summary>
LoadComplete,
/// <summary>
/// A client has finished unloading a scene
/// Invocation: Client Side
/// Message Flow: Client to Server
/// Event Notification: Both server and client receive a local notification
/// A client has finished unloading a scene<br/>
/// <b>Invocation:</b> Client Side<br/>
/// <b>Message Flow:</b> Client to Server<br/>
/// <b>Event Notification:</b> Both server and client receive a local notification.
/// </summary>
UnloadComplete,
/// <summary>
/// A client has finished synchronizing from a <see cref="Synchronize"/> event
/// Invocation: Client Side
/// Message Flow: Client to Server
/// Event Notification: Both server and client receive a local notification
/// A client has finished synchronizing from a <see cref="Synchronize"/> event<br/>
/// <b>Invocation:</b> Client Side<br/>
/// <b>Message Flow:</b> Client to Server<br/>
/// <b>Event Notification:</b> Both server and client receive a local notification.
/// </summary>
SynchronizeComplete,
}
/// <summary>
/// Used by <see cref="NetworkSceneManager"/> for <see cref="SceneEventMessage"/> messages
/// Note: This is only when <see cref="NetworkConfig.EnableSceneManagement"/> is enabled
/// <em>Note: This is only when <see cref="NetworkConfig.EnableSceneManagement"/> is enabled.</em><br/>
/// See also: <seealso cref="SceneEvent"/>
/// </summary>
internal class SceneEventData : IDisposable
{