Document C# RPC attributes

This commit is contained in:
Raul Santos 2022-08-06 20:55:14 +02:00
parent 7637b5d925
commit c9734b6ceb
No known key found for this signature in database
GPG Key ID: B532473AE3A803E4
1 changed files with 44 additions and 13 deletions

View File

@ -2,27 +2,58 @@ using System;
namespace Godot namespace Godot
{ {
/// <summary>
/// RPC calls to methods annotated with this attribute go via the network and execute remotely.
/// </summary>
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)] [AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
public class RemoteAttribute : Attribute { } public class RemoteAttribute : Attribute { }
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)] /// <summary>
public class SyncAttribute : Attribute { } /// RPC calls to methods annotated with this attribute go via the network and execute remotely,
/// but will also execute locally (do a normal method call).
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)] /// </summary>
public class MasterAttribute : Attribute { }
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
public class PuppetAttribute : Attribute { }
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
public class SlaveAttribute : Attribute { }
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)] [AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
public class RemoteSyncAttribute : Attribute { } public class RemoteSyncAttribute : Attribute { }
/// <summary>
/// Same as <see cref="RemoteSyncAttribute"/>.
/// </summary>
[Obsolete("Use the RemoteSync attribute instead.")]
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)] [AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
public class MasterSyncAttribute : Attribute { } public class SyncAttribute : Attribute { }
/// <summary>
/// Same as <see cref="PuppetAttribute"/>.
/// </summary>
[Obsolete("Use the Puppet attribute instead.")]
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
public class SlaveAttribute : Attribute { }
/// <summary>
/// RPC calls to methods annotated with this attribute go via the network and execute only
/// on the peers that are not set as master of the node.
/// </summary>
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
public class PuppetAttribute : Attribute { }
/// <summary>
/// RPC calls to methods annotated with this attribute go via the network and execute only
/// on the peers that are not set as master of the node but will also execute locally (do a normal method call).
/// </summary>
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)] [AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
public class PuppetSyncAttribute : Attribute { } public class PuppetSyncAttribute : Attribute { }
/// <summary>
/// RPC calls to methods annotated with this attribute go via the network and execute only
/// on the peer that is set as master of the node.
/// </summary>
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
public class MasterAttribute : Attribute { }
/// <summary>
/// RPC calls to methods annotated with this attribute go via the network and execute only
/// on the peer that is set as master of the node but will also execute locally (do a normal method call).
/// </summary>
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
public class MasterSyncAttribute : Attribute { }
} }