void Start()
 {
     pTrackedPlanes = new GameObject[30];
     planeGenerator = GameObject.Find("Plane Generator");
     portalMat      = Resources.Load <Material>("PlaneGrid1") as Material;
     camScript      = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <CameraMonitor>();
 }
Example #2
0
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            mp_aureus = AureusEdge.CreateAndInitializeAureus(msg);
            checkLicense();

            settingsContent = readFromFile(Settings);

            //Declare all of the new global variables from above
            CAMS       = new CameraCollection();
            defaultAOI = new AOISettings();
            email      = new EmailSettings();

            //Call the function to load everything
            loadAll();

            TempCAMs = CAMS.clone(true);

            getLicenseNumber();

            CM = new CameraMonitor();
            camMonitorThread = new System.Threading.Thread(new System.Threading.ThreadStart(CM.monitor));
            camMonitorThread.Start();

            CF = new CameraForm();
            Application.Run(CF);
        }
 public PhotoCameraController(IPhotoCameraView photoCameraView)
 {
     this.photoCameraView = photoCameraView;
     CameraMonitor        = new CameraMonitor
     {
         capturedImage = photoCameraView.CapturedImage
     };
 }
Example #4
0
    // Start is called before the first frame update
    void Start()
    {
        state = GetComponent <StateManager>();
        state.Init();

        cameraMonitor = CameraMonitor.singleton;
        cameraMonitor.Init(this.transform);
    }
Example #5
0
        /// <summary>
        /// The character has been attached to the camera. Update the UI reference and initialze the character-related values.
        /// </summary>
        /// <param name="character">The character that the UI is monitoring.</param>
        private void AttachCharacter(GameObject character)
        {
            if (m_Character != character && m_Character != null)
            {
                EventHandler.UnregisterEvent <Item>(m_Character, "OnInventoryPrimaryItemChange", PrimaryItemChange);
                EventHandler.UnregisterEvent <bool>(m_Character, "OnAllowGameplayInput", AllowGameplayInput);
                EventHandler.UnregisterEvent <float>(m_Character, "OnCameraUpdateRecoil", UpdateRecoil);
                EventHandler.UnregisterEvent <bool>(m_Character, "OnLaserSightUseableLaserSightActive", DisableCrosshairs);
                EventHandler.UnregisterEvent <bool>(m_Character, "OnItemShowScope", DisableCrosshairs);
                EventHandler.UnregisterEvent(m_Character, "OnDeath", OnDeath);
                if (m_OnlyVisibleOnAim)
                {
                    EventHandler.UnregisterEvent <bool>(m_Character, "OnControllerAim", OnAim);
                }
            }

            if (m_Character == character)
            {
                return;
            }

            m_Character = character;
            if (m_Character == null || !m_GameObject.activeInHierarchy)
            {
                // The object may be destroyed when Unity is ending.
                if (this != null)
                {
                    EnableCrosshairsImage(false);
                }
                return;
            }

            SharedManager.InitializeSharedFields(m_Character, this);
            m_Controller = m_Character.GetComponent <RigidbodyCharacterController>();
            if (m_Camera == null)
            {
                m_Camera                   = Utility.FindCamera(m_Character);
                m_CameraMonitor            = m_Camera.GetComponent <CameraMonitor>();
                m_CameraMonitor.Crosshairs = transform;
                SharedManager.InitializeSharedFields(m_Camera.gameObject, this);
            }

            PrimaryItemChange(m_CurrentPrimaryItem.Get());

            // Register for the events. Do not register within OnEnable because the character may not be known at that time.
            EventHandler.RegisterEvent <Item>(m_Character, "OnInventoryPrimaryItemChange", PrimaryItemChange);
            EventHandler.RegisterEvent <bool>(m_Character, "OnAllowGameplayInput", AllowGameplayInput);
            EventHandler.RegisterEvent <float>(m_Character, "OnCameraUpdateRecoil", UpdateRecoil);
            EventHandler.RegisterEvent <bool>(m_Character, "OnLaserSightUseableLaserSightActive", DisableCrosshairs);
            EventHandler.RegisterEvent <bool>(m_Character, "OnItemShowScope", DisableCrosshairs);
            EventHandler.RegisterEvent(m_Character, "OnDeath", OnDeath);
            if (m_OnlyVisibleOnAim)
            {
                EventHandler.RegisterEvent <bool>(m_Character, "OnControllerAim", OnAim);
            }

            EnableCrosshairsImage(!m_OnlyVisibleOnAim || m_Controller.Aiming);
        }
Example #6
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            // Health checker
            SmartCardPrinterMonitor.Start();
            CameraMonitor.Start();
            SmartCardReaderMonitor.Start();
            FingerprintReaderMonitor.Start();
            BarcodeScannerMonitor.Start();

            Application.Run(new Main());
        }
Example #7
0
        protected override void Start()
        {
            base.Start();

#if !ENABLE_MULTIPLAYER
            // Store a reference to the camera so the ability can change views if the view is RPG.
            if (!m_IndependentLook.Invoke())
            {
                var camera = Utility.FindCamera(m_GameObject);
                if (camera != null)
                {
                    m_CameraMonitor = camera.GetComponent <CameraMonitor>();
                }
            }
#endif
        }
Example #8
0
 public void Start()
 {
     try
     {
         foreach (var camera in _settings.Cameras)
         {
             var monitor = new CameraMonitor(camera, _settings, _logger, _alarmHandlers);
             monitor.Start(_cancellationTokenSource.Token);
             _monitoredCameras.Add(monitor);
         }
     }
     catch (Exception e)
     {
         _logger.Write(LogEventLevel.Error, e, "CameraService error");
         throw;
     }
 }
        public async UniTask TakePhotoAsync(CameraMonitor capturedImage, CancellationToken ct)
        {
            var image = capturedImage.capturedImage;

            var(f, w, h) = (image.graphicsFormat, image.width, image.height);
            await UniTask.WaitForEndOfFrame(ct);

            var req = await AsyncGPUReadback.Request(image, 0).WithCancellation(ct);

            var rawByteArray = req.GetData <byte>();
            await UniTask.SwitchToThreadPool();

            using var jpg = ImageConversion.EncodeNativeArrayToJPG(rawByteArray, f, (uint)w, (uint)h);
            await UniTask.SwitchToMainThread(ct);

            var bytes = jpg.ToArray();

            photographyDataStore.Save("jpg", bytes);
        }
Example #10
0
 private void Awake()
 {
     singleton = this;
 }
        public async void StartMonitor()
        {
            if (_monitorObserver != null)
            {
                return;
            }

            await Task.Run(() =>
            {
                var vd = _connectionService
                         .CurrentSession?
                         .GetService(CameraMonitor.ALVideoDeviceServiceName);
                if (vd == null)
                {
                    return;
                }

                //設定をそのまま入れて購読開始
                var subscribeName = new QiString(vd.Call(
                                                     CameraMonitor.SubcsribeMethodName,
                                                     new QiString(CameraMonitor.SubscriberDefaultName),
                                                     new QiInt32((int)SelectedCamera),
                                                     new QiInt32((int)SelectedResolution),
                                                     new QiInt32((int)SelectedColorSpace),
                                                     new QiInt32(SelectedFps)
                                                     ).GetString());

                //上の設定は途中でGUIから変更食らうのでコッチは固定するのがポイント
                var camType = SelectedCamera;
                var camRes  = SelectedResolution;
                var camCs   = SelectedColorSpace;

                double intervalSec = 1.0 / SelectedFps;

                int maxParallel   = MaxParallelDownload;
                int parallelCount = 0;

                _monitorObserver = Observable.Timer(TimeSpan.FromSeconds(intervalSec), TimeSpan.FromSeconds(intervalSec))
                                   .Subscribe(_ =>
                {
                    if (parallelCount >= maxParallel)
                    {
                        return;
                    }

                    var res = vd.Call(CameraMonitor.DownloadMethodName, subscribeName);
                    //通信途絶すると恐らくエラーを食らうハズ
                    if (res.ValueKind == QiValueKind.QiUnknown)
                    {
                        return;
                    }

                    //※本来は初期設定時の値を使えるハズだが、変なタイミングで設定を変える可能性もゼロではないので
                    //いちおうColorSpaceとかバイト配列のサイズに関連する情報を確保する
                    int width   = res[0].GetInt32();
                    int height  = res[1].GetInt32();
                    int channel = res[2].GetInt32();
                    var cs      = (CameraColorSpace)res[3].GetInt32();

                    byte[] data = res[6].GetRaw();

                    if (width *height *channel != data.Length)
                    {
                        return;
                    }

                    CameraImage = CameraMonitor.GetFreezedImageFromBytes(data, camType, cs, camRes);
                });
            });
        }
Example #12
0
 public CameraManager()
 {
     this.cameraMap = new ConcurrentDictionary<string, Camera>();
     this.monitor = new CameraMonitor(this.cameraMap);
 }
Example #13
0
 public CameraManager()
 {
     this.cameraMap = new ConcurrentDictionary <string, Camera>();
     this.monitor   = new CameraMonitor(this.cameraMap);
 }