using UnityEngine; using Mirror; using System.Collections.Generic; /* Visibility Guide: https://mirror-networking.com/docs/Guides/Visibility.html Documentation: https://mirror-networking.com/docs/Guides/NetworkBehaviour.html API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkBehaviour.html */ public class #SCRIPTNAME# : NetworkBehaviour { #region Observers /// /// Callback used by the visibility system to (re)construct the set of observers that can see this object. /// Implementations of this callback should add network connections of players that can see this object to the observers set. /// /// The new set of observers for this object. /// True if the set of observers is being built for the first time. /// true when overwriting so that Mirror knows that we wanted to rebuild observers ourselves. otherwise it uses built in rebuild. public override bool OnRebuildObservers(HashSet observers, bool initialize) { return base.OnRebuildObservers(observers, initialize); } /// /// Callback used by the visibility system for objects on a host. /// Objects on a host (with a local client) cannot be disabled or destroyed when they are not visibile to the local client. So this function is called to allow custom code to hide these objects. A typical implementation will disable renderer components on the object. This is only called on local clients on a host. /// /// New visibility state. public override void OnSetHostVisibility(bool visible) { } /// /// Callback used by the visibility system to determine if an observer (player) can see this object. /// If this function returns true, the network connection will be added as an observer. /// /// Network connection of a player. /// True if the player can see this object. public override bool OnCheckObserver(NetworkConnection conn) { return base.OnCheckObserver(conn); } #endregion }