public static Location[] SurroundingRegions(this Location location)
{
switch (location)
{
case Location.TopLeftOuterJungle:
return new[] {Location.TopOuterRiver, Location.LeftTopLane, Location.LeftMidLane, Location.LeftBase, Location.CenterMidLane, };
//case Location.TopLeftInnerJungle:
// return new[] { Location.TopLeftOuterJungle};
case Location.TopOuterRiver:
return new[] { Location.CenterTopLane,Location.TopLeftOuterJungle, Location.TopRightOuterJungle, Location.CenterMidLane};
//case Location.TopInnerRiver:
// return new[] { Location.TopOuterRiver};
case Location.TopRightOuterJungle:
return new[] { Location.RightTopLane, Location.RightMidLane, Location.TopOuterRiver, Location.RightBase, Location.CenterMidLane, };
//case Location.TopRightInnerJungle:
// return new[] { Location.TopRightOuterJungle, };
case Location.BottomLeftOuterJungle:
return new[] { Location.LeftMidLane, Location.LeftBotLane, Location.BottomOuterRiver, Location.CenterMidLane, Location.LeftBase, };
//case Location.BottomLeftInnerJungle:
// return new[] {Location.BottomLeftOuterJungle, };
case Location.BottomOuterRiver:
return new[] { Location.CenterMidLane, Location.CenterBotLane, Location.BottomLeftOuterJungle, Location.BottomRightOuterJungle, };
//case Location.BottomInnerRiver:
// return new[] { Location.BottomOuterRiver, };
case Location.BottomRightOuterJungle:
return new[] { Location.CenterMidLane, Location.RightBotLane, Location.RightMidLane, Location.RightBase, };
//case Location.BottomRightInnerJungle:
// return new[] { Location.BottomRightOuterJungle, };
case Location.LeftMidLane:
return new[] { Location.LeftBase, Location.CenterMidLane, Location.TopLeftOuterJungle, Location.BottomLeftOuterJungle, };
case Location.CenterMidLane:
return new[] { Location.LeftMidLane, Location.RightMidLane, Location.TopOuterRiver, Location.BottomOuterRiver, Location.TopLeftOuterJungle, Location.TopRightOuterJungle, Location.BottomRightOuterJungle, Location.BottomLeftOuterJungle, };
case Location.RightMidLane:
return new[] { Location.RightBase, Location.CenterMidLane, Location.TopRightOuterJungle, Location.BottomRightOuterJungle, };
case Location.LeftBotLane:
return new[] {Location.LeftBase, Location.CenterBotLane, Location.BottomLeftOuterJungle, };
case Location.CenterBotLane:
return new[] {Location.BottomOuterRiver, Location.LeftBotLane, Location.RightBotLane, };
case Location.RightBotLane:
return new[] { Location.RightBase, Location.CenterBotLane, Location.BottomRightOuterJungle, };
case Location.LeftTopLane:
return new[] { Location.LeftBase, Location.CenterTopLane, Location.TopLeftOuterJungle, };
case Location.CenterTopLane:
return new[] { Location.RightTopLane, Location.LeftTopLane, Location.TopRightOuterJungle, Location.TopLeftOuterJungle, Location.TopOuterRiver, };
case Location.RightTopLane:
return new[] { Location.RightBase, Location.CenterTopLane, Location.TopRightOuterJungle, };
case Location.LeftBase:
return new[] { Location.LeftTopLane, Location.LeftMidLane, Location.LeftBotLane, Location.TopLeftOuterJungle, Location.BottomLeftOuterJungle, };
case Location.RightBase:
return new[] { Location.RightTopLane, Location.RightBotLane, Location.RightMidLane, Location.TopRightOuterJungle, Location.BottomRightOuterJungle, };
case Location.None:
return new[] { Location.Unknown,};
case Location.Unknown:
return new[] { Location.Unknown, };
}
return new Location[0];
}