Beispiel #1
0
    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);
    }
Beispiel #2
0
 public void PlayBusAnimate(BusCenter busCenter, IBus bus)
 {
     StartCoroutine(_playBusAnimate(busCenter, bus));
 }