示例#1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // _licensePlateDetector = new LicensePlateDetector("x64/");
            _licensePlateDetector = new LicensePlateDetector(ocrPath + System.IO.Path.DirectorySeparatorChar);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            _imageView = FindViewById <ImageView>(Resource.Id.imageView1);
            Button loadPictureBtn = FindViewById <Button>(Resource.Id.LoadPictureBtn);

            loadPictureBtn.Click += LoadPicture;

            Button tesseractBtn = FindViewById <Button>(Resource.Id.TesseractBtn);

            tesseractBtn.Click += ExecuteTesseract;

            if (IsThereAnAppToTakePictures())
            {
                CreateDirectoryForPictures();
                Button takePicture = FindViewById <Button>(Resource.Id.TakePictureBtn);
                takePicture.Click += TakeAPicture;
            }

            _sensorManager = (SensorManager)GetSystemService(SensorService);
            battery        = (BatteryManager)GetSystemService(BatteryService);
        }
示例#2
0
 protected override void OnStart()
 {
     base.OnStart();
     try
     {
         using (BatteryManager bm = (BatteryManager)ApplicationContext.GetSystemService(BatteryService))
         {
             if (bm != null)
             {
                 NoxKeys.Sclear.BatLevel = bm.GetIntProperty(4);
                 using (IntentFilter ifilter = new IntentFilter(Intent.ActionBatteryChanged))
                 {
                     using (Intent batteryStatus = RegisterReceiver(null, ifilter))
                     {
                         int status = batteryStatus.GetIntExtra(BatteryManager.ExtraPlugged, -1);
                         if (status \>\ 0 || bm.IsCharging)
                         {
                             NoxKeys.Sclear.BatCharging = true;
                         }
                         else
                         {
                             NoxKeys.Sclear.BatCharging = false;
                         }
                     }
                 }
             }
示例#3
0
        private Func <Position> FuncNearestBattery()
        {
            return(() =>
            {
                GameObject nearestBattery = BatteryManager.Instance().Batteries[0];
                float nearestDistance = Vector3.Distance(nearestBattery.transform.position, robot.gameObject.transform.position);

                foreach (GameObject battery in BatteryManager.Instance().Batteries)
                {
                    float distance = Vector3.Distance(battery.transform.position, robot.gameObject.transform.position);
                    if (Vector3.Distance(battery.transform.position, robot.gameObject.transform.position) < distance)
                    {
                        nearestBattery = battery;
                        nearestDistance = distance;
                    }
                }

                Vector3 d;
                if (nearestBattery != null)
                {
                    d = nearestBattery.transform.position - robot.transform.position;
                    d = robot.transform.worldToLocalMatrix.MultiplyVector(d);
                }
                else
                {
                    d = Vector3.forward;
                }
                return new Position
                {
                    X = d.x,
                    Z = d.z,
                };
            });
        }
示例#4
0
 private void WriteBatteryStatus(BatteryManager batteryManager)
 {
     display.Write(" Charge: " + SolarDisplay.FormatRatio(batteryManager.CurrentCharge, batteryManager.MaxCharge));
     display.DrawRatio(batteryManager.CurrentCharge, batteryManager.MaxCharge);
     display.Write(" Input: " + SolarDisplay.FormatRatio(batteryManager.CurentInput, batteryManager.MaxInput));
     display.DrawRatio(batteryManager.CurentInput, batteryManager.MaxInput);
     display.Write(" Output: " + SolarDisplay.FormatRatio(batteryManager.CurentOutput, batteryManager.MaxOutput));
     display.DrawRatio(batteryManager.CurentOutput, batteryManager.MaxOutput, true);
 }
示例#5
0
        private void RefreshBattery()
        {
            if (refreshCount % 3 != 0)
            {
                return;
            }
            var batteryManager = new BatteryManager(Device, executor);
            var info           = batteryManager.GetBatteryInfo();

            BatteryLevel       = info.Level ?? 0;
            BatteryVoltage     = (info.Voltage ?? 0) / 1000.0;
            Charging           = info.Status == 2 ? "√" : "X";
            BatteryTemperature = (info.Temperature ?? 0) / 10.0;
        }
示例#6
0
        private void Init()
        {
            // launch tests
            // TestSuite.AllTests.TestAll();
            // Initialization
            mainBatteriesManager      = new BatteryManager(battery => battery.CubeGrid == Me.CubeGrid);
            connectedBatteriesManager = new BatteryManager(battery => battery.CubeGrid != Me.CubeGrid);
            display      = new SolarDisplay("Main Base Solar LCD Panel", false);
            solarManager = new SolarManager("A");
            dayTracker   = new DayTracker();

            Deserializer deserializer = new Deserializer(Me.CustomData);

            solarManager.Deserialize(deserializer);
            dayTracker.Deserialize(deserializer);
            solarState = SolarState.Deserialize(deserializer.Get("solarState"));
        }
示例#7
0
    // Use this for initialization
    void Start()
    {
        GameObject go = GameObject.FindWithTag("BatteryManager");

        if (go != null)
        {
            batteryManagerScript = go.GetComponent <BatteryManager>();
            //Debug.Log("000");
        }
        int route_index = 0;

        foreach (GameObject obj in enemy_list)
        {
            obj.GetComponent <Enemy>().position        = new Vector3(0, 0, 0);
            obj.GetComponent <Enemy>().enemy_state     = Enemy.EnemyState.PATROL;
            obj.GetComponent <Enemy>().patrol_pattern_ = route_index++;
        }
    }
示例#8
0
        public void GetAndroidBatteryExtendedData(out int health, out float temperature, out string technology, out long chargetimeremaining)
        {
            Update();

            health              = (int)Health;
            temperature         = Temperature;
            technology          = Technology;
            chargetimeremaining = -1;

            if (Build.VERSION.SdkInt >= BuildVersionCodes.P)
            {
                Context context = global::Android.App.Application.Context;
                if (context != null)
                {
                    BatteryManager mBatteryManager = context.GetSystemService(Context.BatteryService) as BatteryManager;
                    chargetimeremaining = mBatteryManager.ComputeChargeTimeRemaining();
                }
            }
        }
示例#9
0
        static PowerManager()
        {
#if __IOS__
            _device = UIKit.UIDevice.CurrentDevice;
            if (_device.Model == "iPhone Simulator")
            {
                _isSimulator = true;
            }
            else
            {
                _device.BatteryMonitoringEnabled = true;
            }
#elif __ANDROID__
            _batteryManager = (BatteryManager)Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity.GetSystemService(Context.BatteryService);
#elif WINDOWS_APP
            //check for 10
           _type10 = Type.GetType("Windows.System.Power.PowerManager, Windows, ContentType=WindowsRuntime");
#endif
        }
示例#10
0
        public void Main(ILeafUI ui, ICommandExecutor executor, IDevice device)
        {
            using (ui)
            {
                ui.Title = "TEST";
                ui.Show();
                ui.Closing += (s, e) =>
                {
                    executor.Dispose();
                    return(true);
                };
                executor.OutputReceived += (s, e) =>
                {
                    ui.WriteLine(e.Text);
                };
                var getter = new BatteryManager(device, executor);
                ui.WriteLine(getter.GetBatteryInfo().MaxCharingVoltage);

                ui.Finish();
            }
        }
    public void Init(GameObject player)
    {
        this.score   = player.GetComponent <ScoreManager>();
        this.battery = player.GetComponent <BatteryManager>();
        Debug.Assert(score != null, "Couldn't find ScoreManager in the Player Object");
        Debug.Assert(battery != null, "Couldn't find BatteryManager in the Player Object");
        var messenger = player.GetComponent <RobotMessenger> ();

        Debug.Assert(messenger != null, "Couldn't find RobotMessenger int the Player Obejct");
        messenger.Subscribe(this);

        retryButton.onClick.AddListener(() => {
            if (isPaused)
            {
                Time.timeScale = 1;
            }
            SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
        });

        menuButton.onClick.AddListener(() => {
            if (isPaused)
            {
                Time.timeScale = 1;
            }
            SceneManager.LoadScene(0);
        });

        pauseButton.onClick.AddListener(() => {
            PauseGame();
        });

        unpauseButton.onClick.AddListener(() => {
            UnpauseGame();
        });

        buttonsGroup.gameObject.SetActive(false);
        retryScreen.gameObject.SetActive(false);
        pauseScreen.gameObject.SetActive(false);
    }
    public void OnEndDrag(PointerEventData eventData)
    {
        Debug.Log("DragEnd:" + eventData.position);

        Vector3 touchInWordPos;

        touchInWordPos   = Camera.main.ScreenToWorldPoint(eventData.position);
        touchInWordPos.z = -15.0f;
        Debug.Log("touchInWordPos:" + touchInWordPos);
        Ray ray = new Ray(touchInWordPos, new Vector3(0.0f, 0.0f, 1.0f));

        Debug.DrawRay(touchInWordPos, new Vector3(0.0f, 0.0f, 1.0f), Color.green, 10.0f);
        RaycastHit2D hit = Physics2D.Raycast(touchInWordPos, Vector2.zero, 1000f, 1 << LayerMask.NameToLayer("Maps"));

        Debug.Log("FLAG:" + hit);
        if (hit)
        {
            //在这里通过hit得到的transform及对应gameObject拥有的属性判断是否可以建设
            Debug.Log("raycastHitTransForm:" + hit.transform.gameObject);
            Debug.Log("currentBuilding:" + transform.gameObject.name);

            GameObject     mapsCreater    = GameObject.Find("mapCreater");
            GameObject     gameManager    = GameObject.Find("GameManager");
            BatteryManager batteryManager = gameManager.GetComponent <BatteryManager>();
            Debug.Log("BatteryManager:" + batteryManager);
            GameObject target = mapsCreater.GetComponent <mapCreater>().getPointingMap(touchInWordPos.x, touchInWordPos.y);
            Debug.Log("target:" + target);
            if (target != null)
            {
                MapsBattery battery = target.GetComponent <MapsBattery>();
                int         status  = target.GetComponent <Base_command>().status;
                if (battery.BatteryOnMaps == null && status == 1) //医院建立在绿色地皮上,其他炮台
                {
                    //map空即能进行建造
                    //判断资源知否足以创建炮台
                    //不同地形额外cost不一样需要加上
                    Debug.Log("cost:" + BatterySelectedData.cost);
                    Debug.Log("batteryManager.money:" + batteryManager.money);
                    int cost         = BatterySelectedData.cost + target.GetComponent <Base_command>().terrainData.extraCost;
                    int costWater    = BatterySelectedData.costWater + target.GetComponent <Base_command>().terrainData.extraWaterCost;
                    int costElectric = BatterySelectedData.costElectric + target.GetComponent <Base_command>().terrainData.extraElectricCost;
                    if (batteryManager.money >= cost && batteryManager.water >= costWater && batteryManager.electric >= costElectric)
                    {
                        batteryManager.ChangeMoney(-cost, -costWater, -costElectric);
                        battery.BuildBattery(BatterySelectedData.batteryPrefab, BatterySelectedData);
                        target.GetComponent <Base_command>().status  = 3;
                        target.GetComponent <blue_command>().enabled = true;
                        target.GetComponent <blue_command>().turnBlueEffects();
                    }
                    else
                    {
                        if (batteryManager.money < cost)
                        {
                            batteryManager.moneyAnimator.SetTrigger("NoMoney");
                        }
                        if (batteryManager.water < costWater)
                        {
                            batteryManager.waterAnimator.SetTrigger("NoMoney");
                        }
                        if (batteryManager.electric < costElectric)
                        {
                            batteryManager.electricAnimator.SetTrigger("NoMoney");
                        }
                    }
                }
            }
            if (hit.transform.name.Equals("Maps(Clone)"))
            {
                Debug.Log("DragEndRayCast:" + hit.transform.name);
                Debug.Log("被碰撞的物体是:" + hit.collider.gameObject.name);
            }
        }
        Debug.Log("originPos:" + originPos);
        transform.localPosition = originPos;
    }
示例#13
0
 static PowerManager()
 {
     _batteryManager = (Android.OS.BatteryManager)Android.App.Application.Context.GetSystemService(Context.BatteryService);
     _powerManager   = (Android.OS.PowerManager)Android.App.Application.Context.GetSystemService(Context.PowerService);
 }
示例#14
0
 private void Awake()
 {
     instance  = this;
     Batteries = new List <GameObject>();
 }
示例#15
0
 public void SystemBatteryStateTest()
 {
     Console.WriteLine($"RemainingCapacity: {BatteryManager.GetSystemBatteryState()}");
 }
示例#16
0
 private void Start()
 {
     Instance   = this;
     energyLeft = startingEnergy;
 }
示例#17
0
 void Awake()
 {
     batteryManager = GetComponent <BatteryManager> ();
     lives          = GetComponent <Lives> ();
 }
示例#18
0
 protected override void Initialize(RequestContext requestContext)
 {
     base.Initialize(requestContext);
     _batteryManager = new BatteryManager(User.Identity.Name);
 }
 /**
  * Starts the coroutine that continuously sends data to the server
  **/
 private void Start()
 {
     mTabletBattery = new BatteryManager();
     StartCoroutine(SendRequest());
 }
示例#20
0
        string getBatteryInfo(Context context)
        {
            StringBuilder sb = new StringBuilder();

            try {
                Intent batteryIntent = context.RegisterReceiver(null, new IntentFilter(Intent.ActionBatteryChanged));

                bool present = batteryIntent.GetBooleanExtra(BatteryManager.ExtraPresent, false);     // indicating whether a battery is present
                sb.AppendLine(getItemString("vorhanden", present.ToString(), NAME1POS, CONTENT1POS));
                if (present)
                {
                    Android.OS.BatteryPlugged plugged = (Android.OS.BatteryPlugged)batteryIntent.GetIntExtra(BatteryManager.ExtraPlugged, 0); // indicating whether the device is plugged in to a power source; 0 means it is on battery, other constants are different types of power sources
                    int    voltage     = batteryIntent.GetIntExtra(BatteryManager.ExtraVoltage, 0);                                           // current battery voltage level (off. mV)
                    int    temperature = batteryIntent.GetIntExtra(BatteryManager.ExtraTemperature, 0);                                       // current battery temperature      1/10°
                    string technology  = batteryIntent.GetStringExtra(BatteryManager.ExtraTechnology);                                        // String describing the technology of the current battery.
                    Android.OS.BatteryHealth health = (Android.OS.BatteryHealth)batteryIntent.GetIntExtra(BatteryManager.ExtraHealth, (int)Android.OS.BatteryHealth.Unknown);
                    //int status2 = batteryIntent.GetIntExtra(BatteryManager.ExtraStatus, 0);                   // current status constant                                  <-> status
                    //int scale = batteryIntent.GetIntExtra(BatteryManager.ExtraScale, 0);                      // maximum battery level
                    //int level = batteryIntent.GetIntExtra(BatteryManager.ExtraLevel, 0);                      // current battery level, from 0 to EXTRA_SCALE             <-> capacity

                    BatteryManager           bm             = context.GetSystemService(Android.Content.Context.BatteryService) as BatteryManager;
                    int                      currentNow     = bm.GetIntProperty((int)Android.OS.BatteryProperty.CurrentNow);                       // Instantaneous battery current in microamperes, as an integer.
                    int                      currentAverage = bm.GetIntProperty((int)Android.OS.BatteryProperty.CurrentAverage);                   // Average battery current in microamperes, as an integer.
                    int                      energyCounter  = bm.GetIntProperty((int)Android.OS.BatteryProperty.EnergyCounter);                    // Battery remaining energy in nanowatt-hours, as a long integer.
                    int                      chargeCounter  = bm.GetIntProperty((int)Android.OS.BatteryProperty.ChargeCounter);                    // Battery capacity in microampere-hours, as an integer.  mAh ?? (https://source.android.com/devices/tech/power/device: "Remaining battery capacity in microampere-hours")
                    Android.OS.BatteryStatus status         = (Android.OS.BatteryStatus)bm.GetIntProperty((int)Android.OS.BatteryProperty.Status); // Battery charge status
                    int                      capacity       = bm.GetIntProperty((int)Android.OS.BatteryProperty.Capacity);                         //

                    sb.AppendLine(getItemString("Technologie", technology, NAME1POS, CONTENT1POS));
                    if (chargeCounter != Int32.MinValue)
                    {
                        int maxCharge = Int32.MinValue;
                        if (capacity != Int32.MinValue)
                        {
                            maxCharge = 100 * (int)Math.Round(chargeCounter / (1000.0 * capacity)); // auf 100mAh gerundet
                        }
                        string txt = "noch " + (chargeCounter / 1000).ToString() + " mAh";
                        if (maxCharge != Int32.MinValue)
                        {
                            txt += " (gesamt etwa " + maxCharge.ToString() + " mAh)";
                        }
                        ;
                        sb.AppendLine(getItemString("Kapazität", txt, NAME1POS, CONTENT1POS));
                    }
                    if (capacity != Int32.MinValue)
                    {
                        sb.AppendLine(getItemString("Ladezustand", capacity.ToString() + " %", NAME1POS, CONTENT1POS));
                    }
                    if (voltage != Int32.MinValue)
                    {
                        sb.AppendLine(getItemString("Spannung", string.Format("{0:F3} V", voltage / 1000.0), NAME1POS, CONTENT1POS));
                    }
                    if (temperature != Int32.MinValue)
                    {
                        sb.AppendLine(getItemString("Temperatur", string.Format("{0:F1} °C", temperature / 10.0), NAME1POS, CONTENT1POS));
                    }
                    sb.AppendLine(getItemString("an Stromquelle", (plugged > 0).ToString(), NAME1POS, CONTENT1POS));
                    sb.AppendLine(getItemString("Status", status.ToString(), NAME1POS, CONTENT1POS));
                    sb.AppendLine(getItemString("Zustand", health.ToString(), NAME1POS, CONTENT1POS));
                    if (currentNow != Int32.MinValue)
                    {
                        sb.AppendLine(getItemString("akt. Stromstärke", string.Format("{0:F0} mA", currentNow / 1000.0), NAME1POS, CONTENT1POS));
                    }
                    if (currentAverage != Int32.MinValue)
                    {
                        sb.AppendLine(getItemString("⌀ Stromstärke", string.Format("{0:F0} mA", currentAverage / 1000.0), NAME1POS, CONTENT1POS));
                    }
                    if (energyCounter != Int32.MinValue)
                    {
                        sb.AppendLine(getItemString("verbleibende Kapazität", string.Format("{0:F0} mWh", energyCounter / 1000000.0), NAME1POS, CONTENT1POS));
                    }
                }
            } catch (Exception ex) {
                sb.AppendLine("Exception: " + ex.Message);
            }
            return(sb.ToString());
        }