public void setTrain(List <GameObject> newCars)
    {
        engine = newCars [0].GetComponent <trainData> ();
        engine.go.transform.SetParent(transform);
        engine.go.transform.localPosition = Vector3.zero;
        engine.go.transform.localScale    = Vector3.one;

        float distanceBehind = engine.lengths [2];

        for (int i = 1; i < newCars.Count; i++)
        {
            trainData newCar = newCars [i].GetComponent <trainData> ();
            newCar.gameObject.transform.SetParent(transform);
            newCar.go.transform.localPosition = Vector3.zero;
            newCar.go.transform.localScale    = Vector3.one;

            newCar.backWheelDistance = newCar.lengths [1];
            newCar.distanceBehind    = distanceBehind + newCar.lengths [0] + bufferBetweenCars;
            distanceBehind           = newCar.lengths [2];

            newCar.go.SetActive(false);
            cars.Add(newCar);
        }

        placing = true;
    }
示例#2
0
    public void addCar(GameObject car)
    {
        trainData td = car.GetComponent <trainData> ();

        if (td.isEngine)
        {
            if (hasEngine)
            {
                DestroyImmediate(carList [0]);
                carList [0] = ((GameObject)Instantiate(car));
            }
            else
            {
                carList.Add((GameObject)Instantiate(car));
                hasEngine = true;
            }
            scrollPos = 0;
        }
        else if (hasEngine)
        {
            carList.Add((GameObject)Instantiate(car));
            if (carList.Count > 6)
            {
                scrollPos = carList.Count - 6;
            }
        }
        else
        {
            engineWarning.SetActive(true);
        }

        updateTrainMenu();
    }
 ValidatePurposeOverrides(trainData, validationData, label, purposeOverrides);
 ValidateValidationData(trainData, validationData);
 ValidateLabel(trainData, validationData, label);