private IEnumerator _playBusAnimate(BusCenter busCenter, IBus bus) { List <IStation> stations = bus.BusPath; IBusView _busView = _busViewFactory.MakeBusView(bus); if (StartBusEvent != null) { StartBusEvent.Invoke(); } yield return(_busView.InitAnimate(stations[0].Transform.position)); yield return(_waitPassThourghStation(bus, _busView, stations[0])); for (int i = 1; i < stations.Count; i++) { var road = stations [i - 1].GetRoad(stations[i]); yield return(_busView.MoveToStationAnimate(road)); yield return(_waitPassThourghStation(bus, _busView, stations[i])); } yield return(null); _busView.RemoveBusView(); busCenter.RecycleBus(bus); }
public void PlayBusAnimate(BusCenter busCenter, IBus bus) { StartCoroutine(_playBusAnimate(busCenter, bus)); }