public void SetType(RoadType type) { if (type != this.type) { this.type = type; gameObject.name = type.ToString(); WayPointContainer new_wpc = null; if (WPContainer != null) { Destroy(WPContainer.gameObject); } switch (type) { case RoadType.Straight: sprite = straight; new_wpc = Instantiate(Objects.GameObjects.wpc_straight, transform); break; case RoadType.End: sprite = end; new_wpc = Instantiate(Objects.GameObjects.wpc_end, transform); break; case RoadType.Corner: sprite = corner; new_wpc = Instantiate(Objects.GameObjects.wpc_corner, transform); break; case RoadType.Cross_T: sprite = cross_T; new_wpc = Instantiate(Objects.GameObjects.wpc_crossT, transform); break; case RoadType.Cross_X: sprite = cross_X; new_wpc = Instantiate(Objects.GameObjects.wpc_crossX, transform); break; case RoadType.Single: sprite = single; new_wpc = Instantiate(Objects.GameObjects.wpc_single, transform); break; } WPContainer = new_wpc; } }
void Awake() { spriteRenderer = GetComponent <SpriteRenderer>(); if (WPContainer == null) { WPContainer = GetComponentInChildren <WayPointContainer>(); } if (straight == null) { straight = Objects.GameObjects.roadStraight.GetComponent <SpriteRenderer>().sprite; end = Objects.GameObjects.roadEnd.GetComponent <SpriteRenderer>().sprite; corner = Objects.GameObjects.corner.GetComponent <SpriteRenderer>().sprite; cross_T = Objects.GameObjects.cross_T.GetComponent <SpriteRenderer>().sprite; cross_X = Objects.GameObjects.cross_X.GetComponent <SpriteRenderer>().sprite; single = Objects.GameObjects.single.GetComponent <SpriteRenderer>().sprite; defaultColor = spriteRenderer.material.color; } }