Exemple #1
0
 public void ShowArrows()
 {
     for (Direction dir = Direction.NORTH; dir <= Direction.WEST; dir++)
     {
         BoardSpaceEdge edge = currentTile.GetEdge(dir);
         arrows[(int)dir].gameObject.SetActive(!edge.blocked);
     }
 }
Exemple #2
0
    public void Walk(Direction dir)
    {
        BoardSpaceEdge edge = currentTile.GetEdge(dir);

        if (!edge.blocked)
        {
            stepsLeft--;
            onStepsLeftUpdated?.Invoke(playerNumber, stepsLeft);
            MoveToTile(edge.otherSpace);
        }
    }
Exemple #3
0
    public void ThrowStone(Direction dir)
    {
        HideArrows();
        BoardSpace     space = currentTile;
        BoardSpaceEdge edge  = currentTile.GetEdge(dir);

        while (!edge.blocked)
        {
            space = edge.otherSpace;
            edge  = space.GetEdge(dir);
        }
        space.isVisible = true;
        space.RefreshVisibility();
    }
Exemple #4
0
 public void SetEdge(Direction direction, BoardSpaceEdge edge)
 {
     edges[(int)direction] = edge;
     initializedEdgeCount++;
 }