void Randomize() { for (int i = 0; i < RandomBirdhousesN; i++) { var pos = new Vector3(Random.Range(-8F, -2F), 0, Random.Range(-8F, -2F)); Birdhouse birdhouse = Instantiate(BirdhousePrefab, pos, Quaternion.Euler(0, 180, 0)); for (int j = 0; j < Random.Range(1, 3); j++) { BirdhouseSegment bhSeg = Instantiate(BirdhouseSegmentPrefab, birdhouse.transform); bhSeg.BaseColorIndex = Random.Range(1, 4); } PlacedObjects.Add(birdhouse); } }
private void CreateConnection(BirdhouseSegment left, Tree leftTree, BirdhouseSegment right, Tree rightTree, int GridY) { var newConnector = Instantiate(segmentConnectionPrefab); newConnector.LeftEnd = left; newConnector.RightEnd = right; newConnector.GridXLeft = leftTree.GridX; newConnector.GridXRight = rightTree.GridX; newConnector.GridY = GridY; var fromSeg = left.GetComponentInChildren <SegmentConnectionAnchor>(); var toSeg = right.GetComponentInChildren <SegmentConnectionAnchor>(); var connectorLength = toSeg.transform.position.x - fromSeg.transform.position.x; var direction = (toSeg.transform.position - fromSeg.transform.position); newConnector.transform.localScale = new Vector3(0.4F, 0.4F, connectorLength); newConnector.transform.rotation = Quaternion.LookRotation(direction); newConnector.transform.eulerAngles += new Vector3(0, 0, -30); newConnector.transform.position = fromSeg.transform.position + direction * 0.5f; SegmentConnections.Add(newConnector); }
public bool Matches(BirdhouseSegment other) { return(BaseColorIndex == other.BaseColorIndex); }