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);
        }
    }
Ejemplo n.º 2
0
    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);
 }