public static IntVec3 RandomSpawnCellForPawnNear(IntVec3 root, Map map, int firstTryWithRadius = 4) { MapExtension mapE = MapExtensionUtility.GetExtensionToMap(map); if (GenGridShips.Standable(root, map, mapE) && root.GetFirstPawn(map) is null) { return(root); } IntVec3 result; int num = firstTryWithRadius; for (int i = 0; i < 3; i++) { if (CellFinderExtended.TryFindRandomReachableCellNear(root, map, (float)num, TraverseParms.For(TraverseMode.NoPassClosedDoors, Danger.Deadly, false), (IntVec3 c) => GenGridShips.Standable(c, map, mapE) && (root.Fogged(map) || !c.Fogged(map)) && c.GetFirstPawn(map) is null, out result, null, 999999)) { return(result); } num *= 2; } num = firstTryWithRadius + 1; while (!CellFinderExtended.TryRandomClosewalkCellNear(root, map, num, out result, null)) { if (num > map.Size.x / 2 && num > map.Size.z / 2) { return(root); } num *= 2; } return(result); }
public void MergeProperties_ShoudMergeTarget() { var source = new { testProp = 1, testField = "_" }; var target = new { testProp = 200, testField = "test" }; MapExtension.Merge(source, target); Assert.IsTrue(source.Equals(target)); }
public static void Register() { //MapExtension.Create<User, UserViewModel>(); //MapExtension.Create<User, UserDetailsViewModel>(); --> No need MapExtension.Create <UserViewModel, User>() .Ignore(u => u.CreatedDate) .Ignore(u => u.CreatedUser) .Ignore(u => u.IsActive) .Ignore(u => u.UpdatedDate) .Ignore(u => u.UpdatedUser); }
private static IntVec3 FindCenterWaterCell(Map map, bool landing = false) { TraverseParms tp = TraverseParms.For(TraverseMode.NoPassClosedDoors, Danger.Deadly, false); MapExtension mapE = MapExtensionUtility.GetExtensionToMap(map); Predicate <IntVec3> validator = (IntVec3 x) => GenGridShips.Standable(x, map, mapE) && !x.Fogged(map) && mapE.getShipReachability.CanReachMapEdge(x, tp); IntVec3 result; if (RCellFinder.TryFindRandomCellNearTheCenterOfTheMapWith(null /*input validator here*/, map, out result)) { return(result); //RECHECK } Log.Warning("Could not find any valid center cell.", false); return(CellFinder.RandomCell(map)); }
private readonly double EPSILON = Double.Epsilon; // for comparing floating point numbers public PinPopupPage(Fault fault, MapExtension map) { InitializeComponent(); FaultContext = fault; MapContext = map; ListOfPins = map.ListOfPins; ViewModel = new PinPopupVM(fault); BindingContext = ViewModel; // BindingContext allows us to bind to objects from our ViewModel and display them on the UI // The real benefit of this is real-time updating and displaying data without having to do any extra code // temporary until Rg.Plugins finishes the tap issue // CloseBtn.Clicked += CloseBtn_Clicked; CloseWhenBackgroundIsClicked = true; }
protected override void OnElementChanged(ElementChangedEventArgs <Map> e) { if (_map != null) { // unsubscribe _map.MapLongClick -= googleMap_MapLongClick; } base.OnElementChanged(e); if (Control != null) { // get the maps _formsMap = (MapExtension)e.NewElement; ((MapView)Control).GetMapAsync(this); } }
public static void EnterSpawn(Caravan caravan, Map map, Func <Pawn, IntVec3> spawnCellGetter, CaravanDropInventoryMode caravanDropInventoryMode = CaravanDropInventoryMode.DoNotDrop, bool draftColonists = true) { List <Pawn> pawns = new List <Pawn>(caravan.PawnsListForReading).Where(x => ShipHarmony.IsShip(x)).ToList(); MapExtension mapE = MapExtensionUtility.GetExtensionToMap(map); Rot4 spawnDir = GetEdgeToSpawnBoatOn(caravan, map); for (int i = 0; i < pawns.Count; i++) { IntVec3 loc = CellFinderExtended.MiddleEdgeCell(spawnDir, map, pawns[i], (IntVec3 c) => GenGridShips.Standable(c, map, mapE) && !c.Fogged(map)); //Change back to spawnCellGetter later pawns[i].GetComp <CompShips>().Angle = 0; Pawn ship = GenSpawn.Spawn(pawns[i], loc, map, spawnDir.Opposite, WipeMode.Vanish, false) as Pawn; ship.drafter.Drafted = draftColonists ? true : false; } caravan.RemoveAllPawns(); if (caravan.Spawned) { Find.WorldObjects.Remove(caravan); } }
public DataAccessManager() { _sqlGenerator = new SqlGenerator(); _mapExtension = new MapExtension(typeof(AutoEntityMapper <>), _sqlGenerator); }