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; } } } }
public void ProvidePresence() { if (tempTC) { if (tempTC.Equals(OwnTrackCircuit)) { return; } tempTC.RemoveCars(this); } if (OwnTrackCircuit) { OwnTrackCircuit.AddCars(this); } tempTC = OwnTrackCircuit; }