Exemplo n.º 1
0
#pragma warning restore IDE0051 // Remove unused private members
    private void MURearConnectionChanged(bool isConnected, bool isAudioPlayed)
    {
        if (!SingletonBehaviour <NetworkTrainManager> .Exists || SingletonBehaviour <NetworkTrainManager> .Instance.IsDisconnecting || SingletonBehaviour <NetworkTrainManager> .Instance.IsChangeByNetwork || !SingletonBehaviour <NetworkTrainManager> .Instance.IsSynced || mu is null || SingletonBehaviour <NetworkTrainManager> .Instance.IsSpawningTrains)
        {
            return;
        }
        var newlyConnected = mu.rearCableAdapter.muCable.connectedTo;

        if (newlyConnected == rearConnectedTo)
        {
            return;
        }

        if (rearConnectedTo != null && !isConnected)
        {
            if (rearConnectedTo.isFront)
            {
                rearConnectedTo.muModule.GetComponent <NetworkTrainMUSync>().frontConnectedTo = null;
            }
            else
            {
                rearConnectedTo.muModule.GetComponent <NetworkTrainMUSync>().rearConnectedTo = null;
            }
        }

        rearConnectedTo = newlyConnected;

        if (rearConnectedTo != null)
        {
            NetworkTrainMUSync sync = rearConnectedTo.muModule.GetComponent <NetworkTrainMUSync>();
            if (rearConnectedTo.isFront)
            {
                sync.frontConnectedTo = mu.rearCableAdapter.muCable;
            }
            else
            {
                sync.rearConnectedTo = mu.rearCableAdapter.muCable;
            }
        }
        MUConnectionChanged(isConnected, isAudioPlayed, false, rearConnectedTo);
    }
Exemplo n.º 2
0
 private void MUConnectionChanged(bool isConnected, bool isAudioPlayed, bool isFront, MultipleUnitCable connectedTo = null)
 {
     if (isConnected && connectedTo != null)
     {
         SingletonBehaviour <NetworkTrainManager> .Instance.OnMUConnectionChanged(mu.loco.train.CarGUID, isFront, connectedTo.muModule.loco.train.CarGUID, connectedTo.isFront, isConnected, isAudioPlayed);
     }
     else
     {
         SingletonBehaviour <NetworkTrainManager> .Instance.OnMUConnectionChanged(mu.loco.train.CarGUID, isFront, "", false, isConnected, isAudioPlayed);
     }
 }