예제 #1
0
 /// <summary>
 /// Stop the connection
 /// </summary>
 public void StopConnection()
 {
     State = SimulationState.Initial;
     ConnectionManager.PeerConnected    -= OnPeerConnected;
     ConnectionManager.PeerDisconnected -= OnPeerDisconnected;
     ConnectionManager.Stop();
     MessagesManager.UnregisterObject(this);
 }
예제 #2
0
 /// <summary>
 /// Unregister mocked object from this root
 /// </summary>
 /// <param name="objectToUnregister">Mocked object to be unregistered</param>
 public void UnregisterObject(MockedObject objectToUnregister)
 {
     if (!registeredObjects.Contains(objectToUnregister))
     {
         return;
     }
     MessagesManager.UnregisterObject(objectToUnregister);
     registeredObjects.Remove(objectToUnregister);
     MockedObjectUnregistered?.Invoke(objectToUnregister);
 }
예제 #3
0
    public void OnDestroy()
    {
        var sensorsManager = SimulatorManager.Instance.Sensors;

        foreach (var sensorInstanceController in sensorsInstances)
        {
            sensorsManager.UnregisterSensor(sensorInstanceController.Value.Instance);
        }
        MessagesManager?.UnregisterObject(this);
    }
예제 #4
0
 /// <summary>
 /// Deinitialization method
 /// </summary>
 protected virtual void Deinitialize()
 {
     if (!IsInitialized)
     {
         return;
     }
     for (var i = registeredObjects.Count - 1; i >= 0; i--)
     {
         registeredObjects[i].Deinitialize();
     }
     MessagesManager.UnregisterObject(this);
     IsInitialized = false;
 }
예제 #5
0
        /// <summary>
        /// Stop the connection
        /// </summary>
        public void StopConnection()
        {
            if (State == SimulationState.Initial)
            {
                return;
            }
            State = SimulationState.Initial;
            Connection.PeerConnected    -= OnPeerConnected;
            Connection.PeerDisconnected -= OnPeerDisconnected;
            Connection.Stop();
            MessagesManager.UnregisterObject(this);
            if (timeoutCoroutine != null)
            {
                StopCoroutine(timeoutCoroutine);
                timeoutCoroutine = null;
            }

            Log.Info($"{GetType().Name} stopped the connection manager.");
        }
예제 #6
0
 private void OnDestroy()
 {
     Resources.UnloadUnusedAssets();
     messagesManager?.UnregisterObject(this);
 }
예제 #7
0
 public void OnDestroy()
 {
     MessagesManager?.UnregisterObject(this);
 }
예제 #8
0
 /// <summary>
 /// Unity OnDestroy method
 /// </summary>
 protected virtual void OnDestroy()
 {
     messagesManager?.UnregisterObject(this);
 }