48 lines
1.8 KiB
C#
48 lines
1.8 KiB
C#
using FishNet.Connection;
|
|
using FishNet.Observing;
|
|
using UnityEngine;
|
|
|
|
namespace FishNet.Component.Observing
|
|
{
|
|
/// <summary>
|
|
/// This condition makes an object only visible to the owner.
|
|
/// </summary>
|
|
[CreateAssetMenu(menuName = "FishNet/Observers/Owner Only Condition", fileName = "New Owner Only Condition")]
|
|
public class OwnerOnlyCondition : ObserverCondition
|
|
{
|
|
|
|
/// <summary>
|
|
/// Returns if the object which this condition resides should be visible to connection.
|
|
/// </summary>
|
|
/// <param name="connection">Connection which the condition is being checked for.</param>
|
|
/// <param name="currentlyAdded">True if the connection currently has visibility of this object.</param>
|
|
/// <param name="notProcessed">True if the condition was not processed. This can be used to skip processing for performance. While output as true this condition result assumes the previous ConditionMet value.</param>
|
|
public override bool ConditionMet(NetworkConnection connection, bool currentlyAdded, out bool notProcessed)
|
|
{
|
|
notProcessed = false;
|
|
/* Returning false immediately indicates no connection will
|
|
* meet this condition. */
|
|
return false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// True if the condition requires regular updates.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public override bool Timed()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Clones referenced ObserverCondition. This must be populated with your conditions settings.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public override ObserverCondition Clone()
|
|
{
|
|
OwnerOnlyCondition copy = ScriptableObject.CreateInstance<OwnerOnlyCondition>();
|
|
return copy;
|
|
}
|
|
}
|
|
}
|