private void InitializedObject(INetworkBehavior behavior, NetworkObject obj) { if (objectInitialized != null) objectInitialized(behavior, obj); obj.pendingInitialized -= InitializedObject; }
private void FinalizeInitialization(GameObject go, INetworkBehavior netBehavior, NetworkObject obj, Vector3?position = null, Quaternion?rotation = null, bool sendTransform = true, bool skipOthers = false) { if (Networker is IServer) { InitializedObject(netBehavior, obj); } else { obj.pendingInitialized += InitializedObject; } if (position != null) { if (rotation != null) { go.transform.position = position.Value; go.transform.rotation = rotation.Value; } else { go.transform.position = position.Value; } } //if (sendTransform) // obj.SendRpc(NetworkBehavior.RPC_SETUP_TRANSFORM, Receivers.AllBuffered, go.transform.position, go.transform.rotation); if (!skipOthers) { // Go through all associated network behaviors in the hierarchy (including self) and // Assign their TempAttachCode for lookup later. Should use an incrementor or something ProcessOthers(go.transform, obj, 1, (NetworkBehavior)netBehavior); } }
/// <summary> /// Called whenever a new object is being initialized on the network /// </summary> /// <param name="behavior">The behavior for the object that is initialized</param> /// <param name="obj">The network object that is being initialized</param> private void ObjectInitialized(INetworkBehavior behavior, NetworkObject obj) { if (!(obj is NetworkCameraNetworkObject)) { return; } // Since the camera represents the player, if one is being created // we need to increment the player count for the display. NOTE: playerCount++; // When this object is destroyed we need to decrement the player count as the camera // represents the player obj.onDestroy += (sender) => { playerCount--; }; if (NetworkManager.Instance.Networker is IServer) { obj.Owner.disconnected += (sender) => { obj.Destroy(); } } ; netCam = obj as NetworkCameraNetworkObject; }
protected virtual void FinalizeInitialization(GameObject go, INetworkBehavior netBehavior, NetworkObject obj, Vector3?position = null, Quaternion?rotation = null, bool sendTransform = true, bool skipOthers = false) { if (Networker is IServer) { InitializedObject(netBehavior, obj); } else { obj.pendingInitialized += InitializedObject; } if (position != null) { if (rotation != null) { go.transform.position = position.Value; go.transform.rotation = rotation.Value; } else { go.transform.position = position.Value; } } if (!skipOthers) { // Go through all associated network behaviors in the hierarchy (including self) and // Assign their TempAttachCode for lookup later. Should use an incrementor or something uint idOffset = 1; ProcessOthers(go.transform, obj, ref idOffset, (NetworkBehavior)netBehavior); } go.SetActive(true); }
private void Instance_objectInitialized(INetworkBehavior unityGameObject, NetworkObject obj) { BMSLogger.Instance.Log("Instanciado:" + (unityGameObject as GameLobby).networkObject.NetworkId); if (unityGameObject is GameLobby) { users.Add(unityGameObject as GameLobby); } }
protected virtual void InitializedObject(INetworkBehavior behavior, NetworkObject obj) { if (objectInitialized != null) { objectInitialized(behavior, obj); } obj.pendingInitialized -= InitializedObject; }
protected virtual void InitializedObject(INetworkBehavior pBehavior, NetworkObject pObj) { if (OnObjectInitialized != null) { OnObjectInitialized(pBehavior, pObj); } pObj.pendingInitialized -= InitializedObject; }
/// <summary> /// Called whenever a new object is being initialized on the network /// </summary> /// <param name="behavior">The behavior for the object that is initialized</param> /// <param name="obj">The network object that is being initialized</param> private void ObjectInitialized(INetworkBehavior behavior, NetworkObject obj) { if (obj is PlayerCharacterNetworkObject) { var player_char = behavior as PlayerCharacter; _Players.Add(player_char); player_char.OnDeath += Player_char_OnDeath; } }
private void cleanupNetworkObjects(NetWorker owner, NetworkingPlayer player = null, List <System.Type> specificBehaviors = null) { if (NetworkManager.Instance == null) { return; } toDelete.Clear(); MainThreadManager.Run(() => { foreach (var no in owner.NetworkObjectList) { if (no == null) { continue; } if (player != null && no.Owner != player) { continue; } //delete specific stuff if (specificBehaviors != null) { INetworkBehavior behav = no.AttachedBehavior; System.Type tempType = behav.GetType(); if (specificBehaviors.Contains(behav.GetType())) { toDelete.Add(no); } } else { toDelete.Add(no); } } if (toDelete.Count > 0) { for (int i = toDelete.Count - 1; i >= 0; i--) { owner.NetworkObjectList.Remove(toDelete[i]); toDelete[i].Destroy(); } } }); }
private void ObjectInitialized(INetworkBehavior behaviour, NetworkObject obj) { //! Ignore if it's not players being initialized if (!(obj is PlayerNetworkObject)) { return; } //! When the host is disconnected, destroy the client's players as well if (NetworkManager.Instance.Networker.IsServer) { obj.Owner.disconnected += (sender) => { obj.Destroy(); } } ; }
public virtual void SetIRPCSerializable(INetworkBehavior pNetworkBehavior, IRPCSerializable pBehaviorData) { if (pNetworkBehavior == null || pBehaviorData == null) { return; } IRPCSerializable rpcSerializable = pNetworkBehavior as IRPCSerializable; if (rpcSerializable == null) { return; } rpcSerializable.FromByteArray(pBehaviorData.ToByteArray()); }
public NetworkObject NetworkCreateObject(int pIdentity, NetWorker pNetworker, INetworkBehavior pNetworkBehavior, int pCreateCode, byte[] pMetadata) { Func <NetWorker, INetworkBehavior, int, byte[], NetworkObject> factoryFunc; bool success = false; lock (_lockerConstructor2) { success = _registeredNetworkObjectConstructors2.TryGetValue(pIdentity, out factoryFunc); } if (success) { return(factoryFunc(pNetworker, pNetworkBehavior, pCreateCode, pMetadata)); } return(default(NetworkObject)); }
private void ObjectInitialized(INetworkBehavior behavior, NetworkObject obj) { if (!(obj is PlayerNetworkObject)) { return; } if (NetworkManager.Instance.Networker is IServer) { //Bind destroy cross network Debug.Log($"Player object initalised for user {obj.Owner.NetworkId}"); obj.Owner.disconnected += (sender) => { obj.Destroy(); Debug.Log($"Player object destroyed for user {obj.Owner.NetworkId}"); }; } }
protected virtual void MoveObjectToScene(INetworkBehavior pUnityGameObject, NetworkObject pObj) { NetworkBehavior behavior = pUnityGameObject as NetworkBehavior; if (behavior == null) { return; } MainThreadManager.Run(() => { if (behavior == null || gameObject == null) { return; } SceneManager.MoveGameObjectToScene(behavior.gameObject, gameObject.scene); }); }
private void ObjectInitialized(INetworkBehavior behavior, NetworkObject obj) { if (!(obj is PlayerNetworkObject)) { return; } PlayerCount++; obj.onDestroy += (sender) => { PlayerCount--; }; if (NetworkManager.Instance.Networker is IServer) { obj.Owner.disconnected += (sender) => { obj.Destroy(); } } ; }
public virtual void SetINetworkSceneObject(INetworkBehavior pNetworkBehavior, NetworkObject pNetworkObject = null) { if (pNetworkBehavior == null) { return; } INetworkSceneObject nObj = pNetworkBehavior as INetworkSceneObject; if (nObj == null) { return; } nObj.Manager = this; if (pNetworkObject != null) { nObj.SetNetworkObject(pNetworkObject); } }
protected virtual void FinalizeInitialization(GameObject pGo, INetworkBehavior pNetBehavior, NetworkObject pObj, Vector3?pPosition = null, Quaternion?pRotation = null, bool pSendTransform = true, bool pSkipOthers = false) { if (IsServer) { InitializedObject(pNetBehavior, pObj); } else { pObj.pendingInitialized += InitializedObject; } if (pPosition != null) { if (pRotation != null) { pGo.transform.position = pPosition.Value; pGo.transform.rotation = pRotation.Value; } else { pGo.transform.position = pPosition.Value; } } //testvariables : test this function and comment it in if applicable //if (sendTransform) // obj.SendRpc(NetworkBehavior.RPC_SETUP_TRANSFORM, Receivers.AllBuffered, go.transform.position, go.transform.rotation); if (!pSkipOthers) { // Go through all associated network behaviors in the hierarchy (including self) and // Assign their TempAttachCode for lookup later. Should use an incrementor or something uint idOffset = 1; ProcessOthers(pGo.transform, pObj, ref idOffset, (NetworkBehavior)pNetBehavior); } }
public ExampleProximityPlayerNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
public InputListenerNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
public ZfGuideGameLogicNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
public PlayerControllerNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
public CubeForgeGameNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0) : base(networker, networkBehavior, createCode) { Initialize(); }
public NetworkAudioLowPassFilterNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
public ChatManagerNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0) : base(networker, networkBehavior, createCode) { Initialize(); }
public SimplePictureNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
public GameUINetworkEntityNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
public ECSNetworkObject(NetWorker pNetworker, INetworkBehavior pNetworkBehavior = null, int pCreateCode = 0, byte[] pMetadata = null) : base(pNetworker, pNetworkBehavior, pCreateCode, pMetadata) { Initialize(); }
public CubeCustomMoveNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
public WhaleburtNetworkNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
public GuyWithMovementNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }