protected override async void OnAppearing()
        {
            base.OnAppearing();

            var locationManager = DependencyService.Get <ILocation>();
            Gps location        = null;

            if (await locationManager.RequestPermissions())
            {
                location = await locationManager.GetLocation();

                this.map.IsShowingUser = true;
            }

            if (location != null)
            {
                this.map.MoveToRegion(MapSpan.FromCenterAndRadius((Position)location, new Distance(RestaurantManager.SearchRadius)));
                var restaurants = await this.LoadRestaurants(location);

                this.RefreshMapPins(restaurants);
            }
            else
            {
                await DisplayAlert("Poloha", "Aplikaci se nepodařilo získat vaší polohu", "OK");
            }
        }
Example #2
0
        public GpsConnector(Form1 parentForm)
        {
            //signed parent to gpsConnector
            this.parentForm = parentForm;

            //initialize gps hardware handler
            _gps = Hardware.Hardware.GetGpsHandler();

            //initialize list to contain position info
            _tmpPositionList = new List <GpsPosition>();
            //initialize satelliteView to contain satellite info
            satView = new SatelliteView();

            //if gps hardware exist and gpsIntermediateDriver exist
            //initialize gps connection and events
            if (_gps.hasGPS)
            {
                gps = new Gps();

                gpsEvents = new GpsEvents(this);

                if (!gps.Opened)
                {
                    gps.Open();
                    gpsEvents.newLocationReceived += new EventHandler <LocationChangedEventArgs>(gpsEvents.Form1_NewLocationReceived);

                    gps.LocationChanged += new LocationChangedEventHandler(gpsEvents.gps_LocationChanged);
                }
            }
        }
        /// <summary>
        /// 再生クリック
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonPlay_Click(object sender, EventArgs e)
        {
            gps = new Gps(Convert.ToDouble(numUpDownTireRadius.Text),
                            Convert.ToDouble(numUpDownShajikuLen.Text));

            this.startPlayer();
        }
Example #4
0
        public async Task <List <Restaurant> > GetRestaurants(Gps location)
        {
            var webRepository = new RestaurantsWebRepository();
            var output        = await webRepository.GetRestaurants(location, SearchRadius, GoogleApiKey);

            return(output);
        }
        private Coordinate GetFieldFromGps(Gps gps)
        {
            var x = (int)((gps.Longitude - XLowerLeftCorner) / CellSize);
            var y = (int)((gps.Latitude - YLowerLeftCorner) / CellSize);

            return(new Coordinate(x, y));
        }
Example #6
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0) && cam.enabled == true)
        {
            Ray ray = cam.ScreenPointToRay(Input.mousePosition);

            float rayDistance;

            if (mapPlane.Raycast(ray, out rayDistance))
            {
                Vector3 point        = ray.GetPoint(rayDistance);
                Vector3 pointOnMap   = this.transform.InverseTransformPoint(point);
                Vector2 pointOnMap2D = new Vector2(pointOnMap.x, pointOnMap.z);

                Gps coord = myMap.flatGeo.getGeolocation(pointOnMap2D);
                HashSet <ILocationProvider> providers = LocationSourceManager.ActiveProviders;
                foreach (ILocationProvider provider in providers)
                {
                    if (provider.GetSourceType() == SourceType.fake)
                    {
                        FakeLocationSource fake = (FakeLocationSource)provider;
                        fake.geoLocation.latitude  = coord.Latitude;
                        fake.geoLocation.longitude = coord.Longitude;
                    }
                }
            }
        }
    }
Example #7
0
        public Dictionary <string, object> GPS()
        {
            Dictionary <string, object> Gps;
            long gpsOffset;

            if (!offsets.TryGetValue("gpsIFD", out gpsOffset))
            {
                return(null);
            }

            Gps = extractTags(offsets["gpsIFD"], tags["gps"]);

            object GPSVersionID;

            if (Gps.TryGetValue("GPSVersionID", out GPSVersionID))
            {
                if (GPSVersionID is string[])
                {
                    Gps["GPSVersionID"] = string.Join(".", (string[])GPSVersionID);
                }
            }

            // store the keys separately (required for JS part to iterate over)
            if (!Gps.ContainsKey("keys"))
            {
                string[] keys = new string[Gps.Keys.Count];
                Gps.Keys.CopyTo(keys, 0);
                Gps.Add("keys", keys);
            }

            return(Gps);
        }
Example #8
0
 public EventGps(Gps telemetryDataGps)
 {
     Speed = telemetryDataGps?.Speed ?? 0;
     Lat   = telemetryDataGps?.Lat ?? 0;
     Lon   = telemetryDataGps?.Lon ?? 0;
     Alt   = telemetryDataGps?.Alt ?? 0;
 }
 public BehaviorModule(Settings settings, Host host, GpsModule gps, CancellationToken token) : base(host)
 {
     Host          = host;
     this.token    = token;
     this.settings = settings;
     this.gps      = gps;
 }
Example #10
0
        public void Mailer()
        {
            Log(Time() + "[ Starting the Mail Process ]");
            gps = new Gps(this);
            gps.LoadDataBase(Application.StartupPath + _gpsfile);
            Log(Time() + "INFO: Moving to Mailbox");
            gps.GpsMove("Mail");
            List <Item> mailitems = new List <Item>();
            {
                List <Item> Inventory = getInvItems(_plant);
                foreach (Item item in Inventory)
                {
                    if (mailitems.Count <= 8)
                    {
                        break;
                    }
                    mailitems.Add(item);
                }
            }
            var mailcount = itemCount(_plant);

            if (mailcount >= _amtmail)
            {
                Log(Time() + "INFO: Sending " + _plant + " to " + _mailto);
                SendMail(_mailto, _mailsub, _mailtext, _fastmail, 0, mailitems);
            }
            else
            {
                Log(Time() + "[ Mail Processes Finished ]");
            }
        }
Example #11
0
        private void GetDeviceTracking(int DeviceID)
        {
            MG_DAL.SQLServerOperating sqlHelper = new MG_DAL.SQLServerOperating();
            string strSql = "select d.DeviceID,d.SerialNumber,DeviceName,l.OLat,l.OLng,l.LastCommunication DeviceDate,l.Speed,l.Course,l.DataContext from devices d inner join LKLocation l on l.DeviceID=d.DeviceiD where d.DeviceID =@DeviceID and d.deleted=0";// model=213 and

            dic = sqlHelper.Selects(strSql, new SqlParameter[] { new SqlParameter("DeviceID", DeviceID) }).toDictionary();

            Geocoding geo = new Amap();
            Gps       gps = geo.Translate(dic["OLat"], dic["OLng"]);

            //Gps gps = Utils.gps84_To_Gcj02(dic["OLat"], dic["OLng"]);
            dic["OLat"]       = gps.getWgLat().ToString();
            dic["OLng"]       = gps.getWgLon().ToString();
            dic["Address"]    = gps.Address;
            dic["CourseName"] = Utils.GetCoureName(dic["Course"]);
            var dc         = dic["DataContext"];
            var doorStatus = "未知";

            if (dc.Split('-').Length > 3 && !string.IsNullOrEmpty(dc.Split('-')[3]))
            {
                dc = dc.Split('-')[3];
                if (dc.Equals("0"))
                {
                    doorStatus = "打开";
                }
                else
                {
                    doorStatus = "关闭";
                }
            }
            dic["DataContext"] = doorStatus;// = dic["DataContext"].Split('-')[3]; //0--- 主电断开, 1-----主电连接
            Response.Write(Utils.ToJson(dic));
            Response.End();
        }
Example #12
0
 public override void Init()
 {
     base.Init();
     LocationSourceManager.LocationUpdate += (sender, args) =>
     {
         if (isUsingLocationUpdates && args.gpsCoordinates.isAccurate && AR.Tracking.Manager.Instance.ActiveTracker != null && AR.Tracking.Manager.Instance.ActiveTracker.Status != TrackerStatus.Tracking && (ApplicationManager.Instance.CurrentPlayState == AR.PlayState.Stopped || ApplicationManager.Instance.CurrentPlayState == AR.PlayState.Null))
         {
             Gps loc = new Gps(args.gpsCoordinates.latitude, args.gpsCoordinates.longitude);
             ChangeGeolocation(loc);
         }
     };
     RotationManager.HeadingChanged += (sender, args) =>
     {
         if (isUsingLocationUpdates)
         {
             foreach (MapObject obj in linkedMapObjects)
             {
                 if (obj.myMap.mapType == MapType.guide)
                 {
                     float virtualHeading = (args.arg - (float)MainMap.flatGeo.northRot) % 360;
                     obj.transform.localRotation = Quaternion.Euler(0, virtualHeading, 0);
                 }
             }
         }
     };
 }
Example #13
0
        private readonly Stopwatch _dpadStopwatch = new Stopwatch();//Basically a "debounce"

        internal Hexapi(IkController ikController, 
                        XboxController xboxController, 
                        Navigator navigator, 
                        SparkFunSerial16X2Lcd display, 
                        Gps.Gps gps,
                        IoTClient ioTClient)
        {
            _ik = ikController;
            _xboxController = xboxController;
            _gps = gps;
            _navigator = navigator;
            _display = display;
            _ioTClient = ioTClient;

            _functionStopwatch.Start();
            _dpadStopwatch.Start();

            SetGaitOptions();

            XboxController.LeftDirectionChanged += XboxController_LeftDirectionChanged;
            XboxController.RightDirectionChanged += XboxController_RightDirectionChanged;
            XboxController.DpadDirectionChanged += XboxController_DpadDirectionChanged;
            XboxController.LeftTriggerChanged += XboxController_LeftTriggerChanged;
            XboxController.RightTriggerChanged += XboxController_RightTriggerChanged;
            XboxController.FunctionButtonChanged += XboxController_FunctionButtonChanged;
            XboxController.BumperButtonChanged += XboxController_BumperButtonChanged;
            XboxController.DisconnectedEvent += XboxController_DisconnectedEvent; ;
        }
Example #14
0
        public Form1()
        {
            InitializeComponent();

            begMes.Text = "GeoPB Mobile \n" + "Selecione Iniciar no menu principal.";
            gps         = new Gps();
            gm          = GoogleMaps.GetInstance();
        }
Example #15
0
        /// <summary>
        /// BD-09 坐标转换成 Wgs84 坐标
        /// </summary>
        /// <param name="bd_lat"></param>
        /// <param name="bd_lon"></param>
        /// <returns></returns>
        public static Gps BD09_To_Gps84(double bd_lat, double bd_lon)
        {
            Gps gcj02 = BD09_To_Gcj02(bd_lat, bd_lon);
            Gps map84 = Gcj_To_Gps84(gcj02.getWgLat(),
                                     gcj02.getWgLon());

            return(map84);
        }
Example #16
0
        /// <summary>
        /// 火星坐标系 (GCJ-02) to Wgs84
        /// </summary>
        /// <param name="lat"></param>
        /// <param name="lon"></param>
        /// <returns></returns>
        public static Gps Gcj_To_Gps84(double lat, double lon)
        {
            Gps    gps       = Transform(lat, lon);
            double lontitude = lon * 2 - gps.getWgLon();
            double latitude  = lat * 2 - gps.getWgLat();

            return(new Gps(latitude, lontitude));
        }
Example #17
0
 public override void Start(Host host)
 {
     base.Start(host);
     gps = new Gps(host);
     host.Log("Loading gps from " + Application.StartupPath + "\\plugins\\questing\\path.db3");
     gps.LoadDataBase(Application.StartupPath + "\\plugins\\questing\\path.db3");
     gps.onGpsPreMove += gpsPreMove;
 }
Example #18
0
 public override void Start(Host host)
 {
     base.Start(host);
     gps = new Gps(host);
     host.Log("Loading gps from " + Application.StartupPath + "\\plugins\\questing\\path.db3");
     gps.LoadDataBase(Application.StartupPath + "\\plugins\\questing\\path.db3");
     gps.onGpsPreMove += gpsPreMove;
 }
Example #19
0
        /// <summary>
        /// BD-09 坐标转换成 Wgs84 坐标
        /// </summary>
        /// <param name="bd_lat"></param>
        /// <param name="bd_lon"></param>
        /// <returns></returns>
        public static Gps Gps84_To_BD09(double bd_lat, double bd_lon)
        {
            Gps gcj02 = Gps84_To_Gcj02(bd_lat, bd_lon);
            Gps map84 = Gcj02_To_Bd09(gcj02.getWgLat(),
                                      gcj02.getWgLon());

            return(map84);
        }
Example #20
0
    void Update()
    {
        if (Gps != null)
        {
            if (_gpsTimer == 0)
            {
                Gps.UpdateSegIdx();
                _gpsTimer = 2;
            }
            _gpsTimer--;
        }

        //Engine Sound

        if (_prevEngineTorque > 0 && WCFL.motorTorque == 0)
        {
            EngineAudioSource.Stop();
            ClutchAudioSource.Play();
            ClutchStartTime = Time.time;
        }
        if (_prevEngineTorque == 0 && WCFL.motorTorque == 0 && IdleAudioSource.isPlaying == false && Time.time > ClutchStartTime + 1f && EngineAudioSource.isPlaying == false)
        {
            EngineAudioSource.pitch = 0.2f;
            EngineAudioSource.Play();
        }
        if (WCFL.motorTorque > 0)
        {
            ClutchAudioSource.Stop();
            //IdleAudioSource.Stop();
            float _pitch;
            float rpm;
            //int Gear;
            float Wheelrpm = Mathf.Abs((WCFL.rpm < WCFR.rpm) ? WCFL.rpm : WCFR.rpm);
            if (Wheelrpm > 1499)
            {
                Wheelrpm = 1499;
            }
            if (EngineAudioSource.isPlaying == false)
            {
                EngineAudioSource.Play();
            }
            if (Wheelrpm < 300)
            {
                rpm    = -Wheelrpm;
                _pitch = rpm / 600 - 0.5f;
                //Gear = 1;
            }
            else
            {
                rpm = -(Wheelrpm - 400) % 400;
                //Gear = (int)Wheelrpm / 400 + 1;
                _pitch = (rpm / 600 - 0.5f);
            }
            EngineAudioSource.pitch = _pitch * 1.5f;
        }
        CoughAudioSource.mute = (WCFL.motorTorque != 0);
        _prevEngineTorque     = WCFL.motorTorque;
    }
Example #21
0
    private void CreateConverter()
    {
        Gps     geo1   = new Gps(anchor1.lat, anchor1.lon);
        Gps     geo2   = new Gps(anchor2.lat, anchor2.lon);
        Vector2 point1 = new Vector2(anchor1.transform.localPosition.x, anchor1.transform.localPosition.z);
        Vector2 point2 = new Vector2(anchor2.transform.localPosition.x, anchor2.transform.localPosition.z);

        flatGeo = new FlatGeo(geo1, geo2, point1, point2);
    }
Example #22
0
 public override void Init()
 {
     base.Init();
     LocationSourceManager.LocationUpdate += (sender, args) =>
     {
         Gps loc = new Gps(args.gpsCoordinates.latitude, args.gpsCoordinates.longitude);
         ChangeGeolocation(loc);
     };
 }
        public MiningModule(Settings settings, Host host, GpsModule gps, CancellationToken token) : base(host)
        {
            Host          = host;
            this.token    = token;
            this.settings = settings;
            this.gps      = gps;

            Initialize();
        }
Example #24
0
    public Vector2 getPoint(Gps geoPoint)
    {
        float orgY = (float)GetDy(geoPoint.Latitude);
        float orgX = (float)GetDx(geoPoint.Longitude);

        Vector2 point = converter.getOrgToTra(new Vector2(orgX, orgY));

        return(point);
    }
Example #25
0
        public void HowFar_IsCorrect_After2Turns(string first, string second)
        {
            var gps = new Gps();

            gps.Move(new Turn(first));
            gps.Move(new Turn(second));

            Assert.Equal(4, gps.HowFar());
        }
Example #26
0
        public void HowFar_IsEqualToBlocks_AfterOneMove(string direction, int blocks)
        {
            var turn = new Turn(direction, blocks);

            var gps = new Gps();

            gps.Move(turn);

            Assert.Equal(blocks, gps.HowFar());
        }
Example #27
0
        public void CarTest()
        {
            Gps        gps           = new Gps();
            Car        myCar         = new Car(gps);
            DataServer server        = new DataServer();
            UserMap    mapByLocation = new UserMap(myCar server);

            mapByLocation.SetDestination(104410);
            Assert.AreEqual(System.Drawing.Color.FromName("Purple"), mapByLocation.SuggestedRoute.RoadColor);
        }
Example #28
0
        public void HowFar_IsCorrect_After3Turns_WithALoopback()
        {
            var gps = new Gps();

            gps.Move(new Turn("R2"));
            gps.Move(new Turn("R2"));
            gps.Move(new Turn("R2"));

            Assert.Equal(2, gps.HowFar());
        }
Example #29
0
 private void PomaMobile_Load(object sender, EventArgs e)
 {
     //Internet.Init();
     session = new DeviceSession();
     //txtURL.Text = Operation<object>.SERVICE_URL = "http://localhost:8080/api/mobile";
     gps = new Gps();
     gps.DeviceStateChanged += new DeviceStateChangedEventHandler(gps_DeviceStateChanged);
     gps.LocationChanged    += new LocationChangedEventHandler(gps_LocationChanged);
     UpdateGpsDataHandler    = new EventHandler(UpdateGpsData);
 }
Example #30
0
    //Change point to given geolocation
    public void UpdateMapPos(Gps geolocation)
    {
        Vector2 point = myMap.flatGeo.getPoint(geolocation);

        transform.localPosition = new Vector3((float)point.x, transform.localPosition.y, (float)point.y);
        MapPos = point;

        x = transform.localPosition.x;
        y = transform.localPosition.z;
    }
Example #31
0
 public GpsDTO(Gps gps)
 {
     Id            = gps.Id;
     DateTime      = gps.DateTime;
     Lattitude     = gps.Lattitude;
     Longtitude    = gps.Longtitude;
     CurrentSpeed  = gps.CurrentSpeed;
     AverageSpeed  = gps.AverageSpeed;
     MaxSpeed      = gps.MaxSpeed;
     SpeedAccuracy = gps.SpeedAccuracy;
 }
Example #32
0
            //GCJ-02 to WGS-84
            private void Gcj02ToWgs84()
            {
                if (Gcj02 == null || this.outOfChina(Gcj02))
                {
                    Wgs84 = Gcj02;
                }
                var t = this.delta(Gcj02);

                Wgs84.lng = Gcj02.lng - t.lng;
                Wgs84.lat = Gcj02.lat - t.lat;
            }
Example #33
0
            //WGS-84 to GCJ-02
            private void Wgs84ToGcj02()
            {
                if (Wgs84 == null || this.outOfChina(Wgs84))
                {
                    Gcj02 = Wgs84;
                }
                var t = this.delta(Wgs84);

                Gcj02.lng = t.lng + Wgs84.lng;
                Gcj02.lat = t.lat + Wgs84.lat;
            }
Example #34
0
        internal IkController(InverseKinematics inverseKinematics, 
                              SparkFunSerial16X2Lcd display, 
                              IoTClient ioTClient,
                              Gps.Gps gps)
        {
            _inverseKinematics = inverseKinematics;
            _display = display;
            _ioTClient = ioTClient;
            _gps = gps;

            _perimeterInInches = 15;

            _selectedIkFunction = SelectedIkFunction.BodyHeight;
            _behavior = Behavior.Bounce;
        }
Example #35
0
 private void PomaMobile_Load(object sender, EventArgs e)
 {
     //Internet.Init();
     session = new DeviceSession();
     //txtURL.Text = Operation<object>.SERVICE_URL = "http://localhost:8080/api/mobile";
     gps = new Gps();
     gps.DeviceStateChanged += new DeviceStateChangedEventHandler(gps_DeviceStateChanged);
     gps.LocationChanged += new LocationChangedEventHandler(gps_LocationChanged);
     UpdateGpsDataHandler = new EventHandler(UpdateGpsData);
 }
Example #36
0
        private void CombatThread()
        {
            #region init
            RefreshTeam();
            InitSkills();

            gps = new Gps(core);
            gps.onGpsPreMove += gps_onGpsPreMove;

            core.onPartyMemberLeaves += core_onPartyMemberLeaves;
            core.onNewPartyMember += core_onNewPartyMember;
            core.onCreatureDied += core_onCreatureDied;

            mobBlacklist = new List<uint>();

            // Get flute & lute
            Item lute = core.getInvItem(prefs.luteId);
            if (lute == null)
                lute = core.me.getEquipedItem(prefs.luteId);
            if (lute != null)
                core.Log("Lute: " + lute.name);
            Item flute = core.getInvItem(prefs.fluteId);
            if (flute == null)
                flute = core.me.getEquipedItem(prefs.fluteId);
            if (flute != null)
                core.Log("Flute: " + flute.name);

            // Check if we have potions
            usePotionHP = usePotionMP = useFoodMP = useFoodHP = false;
            List<Item> inventory = core.getAllInvItems();
            foreach (Item item in inventory)
            {
                if (!usePotionHP && item.name.Equals(prefs.potionHP, StringComparison.CurrentCultureIgnoreCase))
                {
                    usePotionHP = true;
                    core.Log("Using HP Potion for this session: " + item.name, System.Drawing.Color.LightGreen);
                }
                else if (!usePotionMP && item.name.Equals(prefs.potionMP, StringComparison.CurrentCultureIgnoreCase))
                {
                    usePotionMP = true;
                    core.Log("Using MP Potion for this session: " + item.name, System.Drawing.Color.LightGreen);
                }
                else if (!useFoodHP && item.name.Equals(prefs.foodHP, StringComparison.CurrentCultureIgnoreCase))
                {
                    useFoodHP = true;
                    core.Log("Using HP Food for this session: " + item.name, System.Drawing.Color.LightGreen);
                }
                else if (!useFoodMP && item.name.Equals(prefs.foodMP, StringComparison.CurrentCultureIgnoreCase))
                {
                    useFoodMP = true;
                    core.Log("Using MP Food for this session: " + item.name, System.Drawing.Color.LightGreen);
                }
            }

            Creature bestMob = null;
            bool noTargets = false;
            failedPetRez = 0;
            DateTime lastPurseOpened = DateTime.UtcNow.AddSeconds(-300);
            DateTime lastStolenBagOpened = DateTime.UtcNow.AddSeconds(-300);
            DateTime lastScratchedSafeOpened = DateTime.UtcNow.AddSeconds(-300);
            List<uint> purses = new List<uint>() { 29203, 29204, 29205, 29206, 29207, 32059, 34915, 34916, 35461 };
            List<uint> StolenBag = new List<uint>() { 34281, 34853, 35462, 35463, 35464, 35465, 35466, 35467, 35468 };
            List<uint> ScratchedSafe = new List<uint>() { 35469, 35470, 35471, 35472, 35473, 35474, 35475, 35476, 35477 };
            int laborCap = core.me.getBuffs().Any(b => b.id == _BF_PATRON) ? 5000 : 2000;

            hasShield = core.me.getAllEquipedItems().Any(item => item.weaponType == WeaponType.Shield);
            //core.Log("Shield equipped: " + hasShield);
            //core.Log("Labor cap: " + laborCap);

            if (core.isInPeaceZone())
            {
                // near a rez statue, trigger runback
                core.Log("Near a statue, triggering runback routine before starting combat");
                core_onCreatureDied(core.me);
            }

            startX = core.me.X;
            startY = core.me.Y;
            startZ = core.me.Z;
            zone = new RoundZone(startX, startY, prefs.zoneRadius);
            #endregion

            while (true)
            {
                if (!core.isAlive())
                {
                    core.Log("You died...", System.Drawing.Color.Red);
                    break;
                }

                // out of combat stuff
                if (GetAggroCount() == 0)
                {
                    CheckBuffItems();
                    CheckBuffs();
                    CheckRegen();
                    CheckPet();
                }

                #region mob targeting
                if ((core.mpp() >= prefs.minMP && core.hpp() > prefs.minHP) || GetAggroCount() > 0)
                {
                    if (prefs.assistMode && GetRealAggroCount() == 0)
                        bestMob = AssistPartyLeader(true);
                    else
                        bestMob = GetBestNearestMob(true);

                    if (bestMob == null)
                    {
                        if (!noTargets)
                            core.Log("No targets available", System.Drawing.Color.Orange);
                        noTargets = true;
                    }
                    else
                    {
                        core.Log("new target: " + bestMob.name + " (" + Math.Round(bestMob.dist(startX, startY, startZ)) + "m from anchor)", System.Drawing.Color.Navy);
                        noTargets = false;
                    }
                }
                #endregion

                #region purse opening
                if ((bestMob == null || laborCap >= laborCap - 50) && prefs.openPurses && core.maxInventoryItemsCount() - core.inventoryItemsCount() > 3)
                {
                    int purseCount = 0;
                    foreach (var item in core.getAllInvItems())
                        if (purses.Contains(item.id))
                            purseCount += item.count;

                    int labor = core.me.opPoints;
                    if (purseCount >= 5 && labor >= 25 && (labor >= laborCap - 50 || (DateTime.UtcNow - lastPurseOpened).TotalSeconds > 300))
                    {
                        core.Log("Trying to open up to " + purseCount + " coinpurses", System.Drawing.Color.Navy);
                        while (purseCount > 0 && core.me.opPoints >= 5 && GetAggroCount() == 0 && (noTargets || core.hpp() + core.mpp() < 190))
                        {
                            inventory = core.getAllInvItems();
                            foreach (Item item in inventory)
                            {
                                if (purses.Contains(item.id))
                                {
                                    UseItemAndWait(item.id);
                                    purseCount--;
                                    break;
                                }
                            }
                        }
                    }
                }

                //Open Stolen Bag
                if ((bestMob == null || laborCap >= laborCap - 150) && prefs.OpenStolenBag && core.maxInventoryItemsCount() - core.inventoryItemsCount() > 3)
                {
                    int StolenBagCount = 0;
                    foreach (var item in core.getAllInvItems())
                        if (StolenBag.Contains(item.id))
                            StolenBagCount += item.count;

                    int labor = core.me.opPoints;
                    if (StolenBagCount >= 5 && labor >= 25 && (labor <= laborCap - 150 || (DateTime.UtcNow - lastStolenBagOpened).TotalSeconds > 300))
                    {
                        core.Log("Trying to open up to " + StolenBagCount + " Stolen Bag's", System.Drawing.Color.Navy);
                        while (StolenBagCount > 0 && core.me.opPoints >= 5 && GetAggroCount() == 0 && (noTargets || core.hpp() + core.mpp() < 190))
                        {
                            inventory = core.getAllInvItems();
                            foreach (Item item in inventory)
                            {
                                if (StolenBag.Contains(item.id))
                                {

                                    UseItemAndWait(item.id);
                                    StolenBagCount--;
                                    break;

                                }
                            }
                        }
                    }
                }

                //Open Scratched Safe
                if ((bestMob == null || laborCap >= laborCap - 150) && prefs.OpenScratchedSafe && core.maxInventoryItemsCount() - core.inventoryItemsCount() > 3)
                {
                    int ScratchedSafeCount = 0;
                    foreach (var item in core.getAllInvItems())
                        if (ScratchedSafe.Contains(item.id))
                            ScratchedSafeCount += item.count;

                    int labor = core.me.opPoints;
                    if (ScratchedSafeCount >= 5 && labor >= 25 && (labor <= laborCap - 150 || (DateTime.UtcNow - lastScratchedSafeOpened).TotalSeconds > 300))
                    {
                        core.Log("Trying to open up to " + ScratchedSafeCount + " Stolen Bag's", System.Drawing.Color.Navy);
                        while (ScratchedSafeCount > 0 && core.me.opPoints >= 5 && GetAggroCount() == 0 && (noTargets || core.hpp() + core.mpp() < 190))
                        {
                            inventory = core.getAllInvItems();
                            foreach (Item item in inventory)
                            {
                                if (ScratchedSafe.Contains(item.id))
                                {

                                    UseItemAndWait(item.id);
                                    ScratchedSafeCount--;
                                    break;

                                }
                            }
                        }
                    }
                }

                #endregion

                if (bestMob != null)
                {
                    KillMob(bestMob);
                    bestMob = null;
                }

                Thread.Sleep(10);
            }
        }
Example #37
0
        // Constructor for the Navigation class
        public Navigation(JaguarCtrl jc)
        {
            // Initialize vars
            jaguarControl = jc;
            myGps = new Gps(jc);
            realJaguar = jc.realJaguar;
            simulatedJaguar = jc.simulatedJaguar;
            map = new Map();
            particles = new Particle[numParticles];

            tempParticles = new Particle[numParticles * redistributeFactor];
            // Create particles

            for (int i = 0; i < numParticles; i++)
            {
                particles[i] = new Particle();
                //propagatedParticles[i] = new Particle();
            }

            for (int i = 0; i < numParticles * redistributeFactor; i++)
            {
                tempParticles[i] = new Particle();
            }

            this.Initialize();

            // Start Control Thread
            controlThread = new Thread(new ThreadStart(runControlLoop));
            controlThread.Start();
        }