예제 #1
0
    public override void CreateBlock(GridNode node, Vector3 rotation)
    {
        base.CreateBlock(node, rotation);
        var dir = LastCreatedBlock.transform.GetDirection();

        node.AddNodeUseCase(BlockType.Wall, dir, LastCreatedBlock);
        switch (dir)
        {
        case Direction.Backward:
            node.staticNeighbour[Neighbour.Backward].useCase[BlockType.Wall][Direction.Forward] = LastCreatedBlock;
            break;

        case Direction.Forward:
            node.staticNeighbour[Neighbour.Forward].useCase[BlockType.Wall][Direction.Backward] = LastCreatedBlock;
            break;

        case Direction.Left:
            node.staticNeighbour[Neighbour.Left].useCase[BlockType.Wall][Direction.Right] = LastCreatedBlock;
            break;

        case Direction.Right:
            node.staticNeighbour[Neighbour.Right].useCase[BlockType.Wall][Direction.Left] = LastCreatedBlock;
            break;
        }
    }
예제 #2
0
    public override void CreateBlock(GridNode node, Vector3 rotation)
    {
        base.CreateBlock(node, rotation);
        var dir = LastCreatedBlock.transform.GetDirection();

        node.AddNodeUseCase(BlockType.Ramp, dir, LastCreatedBlock);
    }
예제 #3
0
 public override void CreateBlock(GridNode node, Vector3 rotation)
 {
     base.CreateBlock(node, rotation);
     node.AddNodeUseCase(BlockType.Floor, Direction.Down, LastCreatedBlock);
 }