Beispiel #1
0
    public void SetOutgoingRiver(HexDirection direction)
    {
        if (HasOutgoingRiver && outgoingRiver == direction)
        {
            return;
        }

        HexCell_Script neighbor = GetNeighbor(direction);

        if (!IsValidRiverDestination(neighbor))
        {
            return;
        }

        RemoveOutgoingRiver();
        if (hasIncomingRiver && incomingRiver == direction)
        {
            RemoveIncomingRiver();
        }

        hasOutgoingRiver = true;
        outgoingRiver    = direction;
        specialIndex     = 0;
        //RefreshSelfOnly();

        neighbor.RemoveIncomingRiver();
        neighbor.hasIncomingRiver = true;
        neighbor.incomingRiver    = direction.Opposite();
        neighbor.specialIndex     = 0;
        //neighbor.RefreshSelfOnly();

        SetRoad((int)direction, false);
    }