mirror of
				https://github.com/DerTyp7/defrain-shooter-unity.git
				synced 2025-11-04 07:08:59 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			116 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using UnityEngine;
 | 
						|
 | 
						|
namespace Mirror
 | 
						|
{
 | 
						|
    public struct ReadyMessage : NetworkMessage {}
 | 
						|
 | 
						|
    public struct NotReadyMessage : NetworkMessage {}
 | 
						|
 | 
						|
    public struct AddPlayerMessage : NetworkMessage {}
 | 
						|
 | 
						|
    public struct SceneMessage : NetworkMessage
 | 
						|
    {
 | 
						|
        public string sceneName;
 | 
						|
        // Normal = 0, LoadAdditive = 1, UnloadAdditive = 2
 | 
						|
        public SceneOperation sceneOperation;
 | 
						|
        public bool customHandling;
 | 
						|
    }
 | 
						|
 | 
						|
    public enum SceneOperation : byte
 | 
						|
    {
 | 
						|
        Normal,
 | 
						|
        LoadAdditive,
 | 
						|
        UnloadAdditive
 | 
						|
    }
 | 
						|
 | 
						|
    public struct CommandMessage : NetworkMessage
 | 
						|
    {
 | 
						|
        public uint netId;
 | 
						|
        public byte componentIndex;
 | 
						|
        public int functionHash;
 | 
						|
        // the parameters for the Cmd function
 | 
						|
        // -> ArraySegment to avoid unnecessary allocations
 | 
						|
        public ArraySegment<byte> payload;
 | 
						|
    }
 | 
						|
 | 
						|
    public struct RpcMessage : NetworkMessage
 | 
						|
    {
 | 
						|
        public uint netId;
 | 
						|
        public byte componentIndex;
 | 
						|
        public int functionHash;
 | 
						|
        // the parameters for the Cmd function
 | 
						|
        // -> ArraySegment to avoid unnecessary allocations
 | 
						|
        public ArraySegment<byte> payload;
 | 
						|
    }
 | 
						|
 | 
						|
    public struct SpawnMessage : NetworkMessage
 | 
						|
    {
 | 
						|
        // netId of new or existing object
 | 
						|
        public uint netId;
 | 
						|
        public bool isLocalPlayer;
 | 
						|
        // Sets hasAuthority on the spawned object
 | 
						|
        public bool isOwner;
 | 
						|
        public ulong sceneId;
 | 
						|
        // If sceneId != 0 then it is used instead of assetId
 | 
						|
        public Guid assetId;
 | 
						|
        // Local position
 | 
						|
        public Vector3 position;
 | 
						|
        // Local rotation
 | 
						|
        public Quaternion rotation;
 | 
						|
        // Local scale
 | 
						|
        public Vector3 scale;
 | 
						|
        // serialized component data
 | 
						|
        // ArraySegment to avoid unnecessary allocations
 | 
						|
        public ArraySegment<byte> payload;
 | 
						|
    }
 | 
						|
 | 
						|
    public struct ChangeOwnerMessage : NetworkMessage
 | 
						|
    {
 | 
						|
        public uint netId;
 | 
						|
        public bool isOwner;
 | 
						|
    }
 | 
						|
 | 
						|
    public struct ObjectSpawnStartedMessage : NetworkMessage {}
 | 
						|
 | 
						|
    public struct ObjectSpawnFinishedMessage : NetworkMessage {}
 | 
						|
 | 
						|
    public struct ObjectDestroyMessage : NetworkMessage
 | 
						|
    {
 | 
						|
        public uint netId;
 | 
						|
    }
 | 
						|
 | 
						|
    public struct ObjectHideMessage : NetworkMessage
 | 
						|
    {
 | 
						|
        public uint netId;
 | 
						|
    }
 | 
						|
 | 
						|
    public struct EntityStateMessage : NetworkMessage
 | 
						|
    {
 | 
						|
        public uint netId;
 | 
						|
        // the serialized component data
 | 
						|
        // -> ArraySegment to avoid unnecessary allocations
 | 
						|
        public ArraySegment<byte> payload;
 | 
						|
    }
 | 
						|
 | 
						|
    // A client sends this message to the server
 | 
						|
    // to calculate RTT and synchronize time
 | 
						|
    public struct NetworkPingMessage : NetworkMessage
 | 
						|
    {
 | 
						|
        public double clientTime;
 | 
						|
 | 
						|
        public NetworkPingMessage(double value)
 | 
						|
        {
 | 
						|
            clientTime = value;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    // The server responds with this message
 | 
						|
    // The client can use this to calculate RTT and sync time
 | 
						|
    public struct NetworkPongMessage : NetworkMessage
 | 
						|
    {
 | 
						|
        public double clientTime;
 | 
						|
        public double serverTime;
 | 
						|
    }
 | 
						|
}
 |