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); }