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;
 | |
|         }
 | |
|     }
 | |
| }
 |