private void TrackColor(TrackCircuit track)
 {
     if (TrackCircuit && track.Equals(TrackCircuit))
     {
         if (gameObject.activeSelf)
         {
             if (!TrackCircuit.IsInRoute && !TrackCircuit.IsInUse)
             {
                 if (!TrackCircuit.HasCarPresence && PIUMeshRend.material != colorDefault)
                 {
                     PIUMeshRend.material = colorDefault;
                 }
                 else if (TrackCircuit.HasCarPresence && PIUMeshRend.material != colorBlocked)
                 {
                     PIUMeshRend.material = colorBlocked;
                 }
             }
             else if (TrackCircuit.IsInRoute && !TrackCircuit.IsInUse && PIUMeshRend.material != colorRoute)
             {
                 PIUMeshRend.material = colorRoute;
             }
             else if (TrackCircuit.IsInRoute && TrackCircuit.IsInUse && PIUMeshRend.material != colorBlocked)
             {
                 PIUMeshRend.material = colorBlocked;
             }
         }
     }
 }
Beispiel #2
0
 public void ProvidePresence()
 {
     if (tempTC)
     {
         if (tempTC.Equals(OwnTrackCircuit))
         {
             return;
         }
         tempTC.RemoveCars(this);
     }
     if (OwnTrackCircuit)
     {
         OwnTrackCircuit.AddCars(this);
     }
     tempTC = OwnTrackCircuit;
 }