Beispiel #1
0
    public void SetBucketToRow(Bucket bucket, BucketSide side)
    {
        switch (side)
        {
        case BucketSide.top:
            topBuckets.AddBucket(bucket);

            break;

        case BucketSide.right:
            rightBuckets.AddBucket(bucket);

            break;

        case BucketSide.bottom:
            bottomBuckets.AddBucket(bucket);

            break;

        case BucketSide.left:
            leftBuckets.AddBucket(bucket);

            break;

        default:
            break;
        }
    }
    private void CreateBucket(int i, int j, Vector3 cellPosition, BucketSide type)
    {
        Bucket     newBucket = Instantiate(bucketPrefab).GetComponent <Bucket>();
        Vector3    setupPos  = cellPosition;
        Quaternion setupRot  = new Quaternion();

        switch (type)
        {
        case BucketSide.top:

            allBuckets.SetBucketToRow(newBucket, BucketSide.top);
            setupPos = cellPosition + Vector3.up;
            setupRot = Quaternion.Euler(new Vector3(0f, 0f, 180f));
            break;

        case BucketSide.right:

            allBuckets.SetBucketToRow(newBucket, BucketSide.right);
            setupPos += Vector3.right;
            setupRot  = Quaternion.Euler(new Vector3(0f, 0f, 90f));
            break;

        case BucketSide.bottom:

            allBuckets.SetBucketToRow(newBucket, BucketSide.bottom);
            setupPos += Vector3.down;
            setupRot  = Quaternion.Euler(new Vector3(0f, 0f, 0f));
            break;

        case BucketSide.left:

            allBuckets.SetBucketToRow(newBucket, BucketSide.left);
            setupPos += Vector3.left;
            setupRot  = Quaternion.Euler(new Vector3(0f, 0f, 270f));

            break;

        default:
            break;
        }
        newBucket.SetupBucket(cells[i, j], setupPos, setupRot);
    }