pub struct AreaGroups<'a> { /* private fields */ }Expand description
The connectivity group of each cell (land masses and seas), from the group of the area it’s in. Seas without areas take the most common group of the sea areas around them.
Implementations§
Source§impl<'a> AreaGroups<'a>
impl<'a> AreaGroups<'a>
Sourcepub fn new(map: &'a RegionMap, regions: &'a [MapRegion]) -> Self
pub fn new(map: &'a RegionMap, regions: &'a [MapRegion]) -> Self
Finds the groups of the seas without areas.
§Arguments
map- Region and area of each cell.regions- Regions of the map, in map order.
Sourcepub fn port_cell(&self, port: HexCell) -> Option<HexCell>
pub fn port_cell(&self, port: HexCell) -> Option<HexCell>
Returns the sea cell where the AI places a port: the sea cell closest to the port’s position, searching neighbours ring by ring in the game’s direction order. The game picks other cells for most ports (its rule isn’t known), always within a few cells.
Trait Implementations§
Source§impl<'a> Clone for AreaGroups<'a>
impl<'a> Clone for AreaGroups<'a>
Source§fn clone(&self) -> AreaGroups<'a>
fn clone(&self) -> AreaGroups<'a>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<'a> Freeze for AreaGroups<'a>
impl<'a> RefUnwindSafe for AreaGroups<'a>
impl<'a> Send for AreaGroups<'a>
impl<'a> Sync for AreaGroups<'a>
impl<'a> Unpin for AreaGroups<'a>
impl<'a> UnsafeUnpin for AreaGroups<'a>
impl<'a> UnwindSafe for AreaGroups<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreimpl<T> MaybeSend for T
impl<T> MaybeSync for T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.