Beispiel #1
0
        private IEnumerator SpawnBridges()
        {
            if (BridgeStart != null)
            {
                if (BridgeEnd != null)
                {
                    BridgeEnd.GetComponent <Platform>().SetPositionToReach();
                    _BridgeStart.SetParent(BridgeParent);
                    _BridgeEnd.SetParent(BridgeParent);

                    var position = BridgeStart.position;
                    position += new Vector3(_DistanceBetweenSpawns / 2, -_DistanceToTravel);

                    do
                    {
                        var bridge = ObjectPooler.Instance.SpawnFromPool(_Pool.Name, position, Quaternion.identity);
                        bridge.transform.SetParent(BridgeParent);
                        bridge.transform.DOMoveY(bridge.transform.position.y + _DistanceToTravel, _TimeToMovePlatform);

                        StartCoroutine(DespawnObjectAfterBridgePhase(_Pool.Name, bridge));

                        yield return(new WaitForSecondsRealtime(0.1f));

                        position += new Vector3(_DistanceBetweenSpawns, 0, 0);
                        BridgeAmount++;
                    } while (position.x + (_DistanceBetweenSpawns / 2) <= BridgeEnd.position.x + _CalculationMargin);

                    ObstacleManager.Instance.SpawnObstacles();

                    yield return(new WaitForSecondsRealtime(_TimeToMovePlatform));

                    _AllBridgesSpawned = true;
                }
            }
        }
Beispiel #2
0
 public void Setup()
 {
     _player    = new Player("", "", PawnColor.BLUE);
     _bridgeEnd = new BridgeEnd(1, 1, 1);
 }