31 lines
1.0 KiB
C#
31 lines
1.0 KiB
C#
using FishNet.Connection;
|
|
using FishNet.Observing;
|
|
using UnityEngine;
|
|
|
|
namespace FishNet.Component.Observing
|
|
{
|
|
[CreateAssetMenu(menuName = "FishNet/Observers/Host Only Condition", fileName = "New Host Only Condition")]
|
|
public class HostOnlyCondition : ObserverCondition
|
|
{
|
|
public override bool ConditionMet(NetworkConnection connection, bool currentlyAdded, out bool notProcessed)
|
|
{
|
|
notProcessed = false;
|
|
/* Only return true if connection is the local client.
|
|
* This check only runs on the server, so if local client
|
|
* is true then they must also be the server (clientHost). */
|
|
return (base.NetworkObject.ClientManager.Connection == connection);
|
|
}
|
|
|
|
public override bool Timed()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public override ObserverCondition Clone()
|
|
{
|
|
HostOnlyCondition copy = ScriptableObject.CreateInstance<HostOnlyCondition>();
|
|
return copy;
|
|
}
|
|
}
|
|
}
|