private void SpawnCarriage(NavSection navSection, NavConnection destination, int carriage) { Vector3 pos = transform.TransformPoint(0, 0, -carriage * 1.05f); Train newCarriage = Instantiate(TrafficSystem.Instance.trainCarriagePrefab, pos, transform.rotation, transform).GetComponent <Train>(); newCarriage.transform.localScale = Vector3.one; newCarriage.InitializeCarriage(navSection, destination, this, carriage, carriageCount); }
public void InitializeCarriage(NavSection navSection, NavConnection destination, Train engine, int carriage, int maxCarriages) { m_Engine = engine; m_CarriageIndex = carriage; m_MaxCarriages = maxCarriages; blockedDistance = 0.1f; Initialize(navSection, destination); }
// ------------------------------------------------------------------- // Initialization public override void Initialize(NavSection navSection, NavConnection destination) { for (int i = 0; i < carriageCount; i++) { SpawnCarriage(navSection, destination, i + 1); } base.Initialize(navSection, destination); }