43 lines
1.5 KiB
C#
43 lines
1.5 KiB
C#
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
|
|
|
|
using System;
|
|
using FlaxEngine.Networking;
|
|
|
|
namespace FlaxEngine
|
|
{
|
|
/// <summary>
|
|
/// Indicates that a method is Remote Procedure Call which can be invoked on client and executed on server or invoked on server and executed on clients.
|
|
/// </summary>
|
|
[AttributeUsage(AttributeTargets.Method)]
|
|
public sealed class NetworkRpcAttribute : Attribute
|
|
{
|
|
/// <summary>
|
|
/// True if RPC should be executed on server.
|
|
/// </summary>
|
|
public bool Server;
|
|
|
|
/// <summary>
|
|
/// True if RPC should be executed on client.
|
|
/// </summary>
|
|
public bool Client;
|
|
|
|
/// <summary>
|
|
/// Network channel using which RPC should be send.
|
|
/// </summary>
|
|
public NetworkChannelType Channel;
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="NetworkRpcAttribute"/> class.
|
|
/// </summary>
|
|
/// <param name="server">True if RPC should be executed on server.</param>
|
|
/// <param name="client">True if RPC should be executed on client.</param>
|
|
/// <param name="channel">Network channel using which RPC should be send.</param>
|
|
public NetworkRpcAttribute(bool server = false, bool client = false, NetworkChannelType channel = NetworkChannelType.ReliableOrdered)
|
|
{
|
|
Server = server;
|
|
Client = client;
|
|
Channel = channel;
|
|
}
|
|
}
|
|
}
|