コード例 #1
0
    private IEnumerator ISpawnTrain(PlayerId playerId, float waitTime)
    {
        yield return(new WaitForSeconds(waitTime));

        // Maak een lijst met de stations die avalible zijn

        while (GetFreeStations().Count == 0)
        {
            print("Waiting for spawn");
            yield return(null);
        }

        List <HomeStation> freeStations = GetFreeStations();

        HomeStation spawnStation = freeStations[Random.Range(0, freeStations.Count)];

        spawnStation.UseStation();

        GameObject instante = Instantiate(GetTrainPrefab(playerId), spawnStation.trainSpawnPoint.position, spawnStation.OutRotation.rotation);

        inGameVehicles.Add(instante);

        // Add to follow goup
        cinemachineTargetGroup.AddMember(instante.transform, 1, 0);
    }
コード例 #2
0
    public void SpawBus(PlayerId playerId, HomeStation station, int points)
    {
        Bus bus = Instantiate(GetBusPrefab(playerId), station.busSpawnPoint.position, station.OutRotation.rotation).GetComponent <Bus>();

        inGameVehicles.Add(bus.gameObject);

        bus.SetPoints(points);
        busMiddleInfoAnimator.SetTrigger("Start");

        // Add to follow goup
        cinemachineTargetGroup.AddMember(bus.transform, 1, 0);
    }
コード例 #3
0
    /// <summary>
    /// Makes a new train spawn and makes the current train slowly die
    /// </summary>
    private void EnterStation(HomeStation station)
    {
        if (!spawning)
        {
            inHomeStation = true;
            gameManager.RemoveCinemachineTargetGroupTarget(transform);

            // Makes sure the train drives in a straight line
            transform.rotation = Quaternion.Euler(0, station.InRotation.transform.eulerAngles.y, 0);

            // Spawn the bus
            gameManager.SpawBus(settings.playerId, station, wagons.Count);

            // Destroy the train
            float timeToDestroy = ((wagons.Count * 0.25f) * (settings.global.moveSpeed / 10)) + 1;
            for (int i = 0; i < wagons.Count; i++)
            {
                Destroy(wagons[i].gameObject, timeToDestroy);
            }
            Destroy(gameObject, timeToDestroy);
        }
    }
コード例 #4
0
    private void OnTriggerEnter(Collider collision)
    {
        // Make sure the train is driving around
        if (spawning == false && !inHomeStation)
        {
            // Get the home station
            HomeStation station = collision.GetComponent <HomeStation>();

            // Check if the trigger entered is a station
            if (station != null)
            {
                if (wagons.Count == 0)
                {
                    // If the train has no passangers desroy it
                    OnHitObstacal();
                }
                else
                {
                    // Else enter the station
                    EnterStation(station);
                }
            }
        }
    }
コード例 #5
0
 public PdfCreatorController(IConverter converter, HomeStation homeStation)
 {
     _homeStation = homeStation;
     _converter   = converter;
 }
コード例 #6
0
 public HomeController(IWebHostEnvironment webHostEnvironment, HomeStation homeStation)
 {
     _webHostEnvironment = webHostEnvironment;
     _homeStation        = homeStation;
 }