public void Remove()
        {
            CelestialBody celestialBody = Tools.GetCelestialBody(body);

            CityLightsManager.Log("Removing City Lights obj");
            Transform transform = Tools.GetScaledTransform(body);

            if (transform != null)
            {
                CityLightsManager.Log("Removing scaled obj");
                OverlayRenderer.Remove(transform.gameObject, scaledMat);

                GameObject.DestroyImmediate(transform.gameObject.GetComponents <ScaledCityComponent>().First(sc => sc.GUID == materialName));

                LocalCityComponent lc = FlightCamera.fetch.mainCamera.gameObject.GetComponents <LocalCityComponent>().FirstOrDefault(sc => sc.GUID == materialName);
                if (lc != null)
                {
                    GameObject.DestroyImmediate(lc);
                }
            }
            if (mainMenuBody != null)
            {
                GameObject.DestroyImmediate(mainMenuBody.GetComponents <ScaledCityComponent>().First(sc => sc.GUID == materialName));
            }
            materialPQS.Remove();

            GameEvents.onGameSceneLoadRequested.Remove(SceneLoaded);
            GameObject.DestroyImmediate(materialPQS);
        }
예제 #2
0
파일: CBase.cs 프로젝트: Rapt0rs/NotepadPP
        private void getGame()
        {
            bool doDelay = false;

            while (doLoop)
            {
                Process[] procs = Process.GetProcessesByName("csgo");
                if (procs.Length > 0)
                {
                    game = procs[0];
                    break;
                }
                else
                {
                    doDelay = true;
                }
                Thread.Sleep(100);
            }
            if (doDelay)
            {
                Thread.Sleep(10000);
                getGame();
                return;
            }
            if (render == null)
            {
                render = new OverlayRenderer(game, this);
            }
            render.Start();
        }
예제 #3
0
        public void LoadContent(ContentManager content)
        {
            _contentManager = content;
            _furnitypes     = new Dictionary <int, Furnitype>();
            loadFurniXml();

            splashScreenManager = new SplashScreenManager(content, new Vector2i(0, 5));
            splashScreenManager.Start();

            overlayRenderer = new OverlayRenderer(content);
            overlayRenderer.Hide();
            hotelOverview = new HotelOverviewContent(content, Vector2.Zero);

            navigatorManager = new NavigatorManager(content);
            roomManager      = new RoomManager(content);
            furniManager     = new FurniManager(content);
            catalogusManager = new CatalogusManager(content);
            inventoryManager = new InventoryManager(content);

            splashScreenManager.setPercentage(38);

            catalogusnotFoundIcon = new Image(content, "catalogue/icons/icon_1", Vector2.Zero);

            Thread thr = new Thread(() => SplashProgressThread());

            thr.Start();
        }
예제 #4
0
        protected override void CreateTempComponent(EditableObject target)
        {
            if (target == null)
            {
                return;
            }

            RefreshVertexSculptSupport(target);
            if (!m_LikelyToSupportVertexSculpt)
            {
                return;
            }

            OverlayRenderer ren = target.gameObjectAttached.AddComponent <OverlayRenderer>();

            ren.SetMesh(target.editMesh);

            ren.fullColor           = s_FullStrengthColor;
            ren.gradient            = s_BrushGradientColor;
            ren.vertexBillboardSize = s_VertexBillboardSize;

            EditableObjectData data;

            if (!m_EditableObjectsData.TryGetValue(target, out data))
            {
                data = new EditableObjectData();
                m_EditableObjectsData.Add(target, data);
            }
            data.TempComponent = ren;
        }
예제 #5
0
        private void OnEnable()
        {
            // Enable overlay renderer
            OverlayRenderer overlayRenderer = Camera.main.transform.parent.GetComponentInChildren <OverlayRenderer>(true);

            overlayRenderer.gameObject.SetActive(true);
        }
예제 #6
0
        private void OnDisable()
        {
            if (Camera.main == null)
            {
                return;
            }

            // Disable overlay renderer
            OverlayRenderer overlayRenderer = Camera.main.transform.parent.GetComponentInChildren <OverlayRenderer>(true);

            overlayRenderer.gameObject.SetActive(false);
        }
예제 #7
0
        public void Apply()
        {
            CelestialBody celestialBody = Tools.GetCelestialBody(body);

            if (celestialBody != null)
            {
                GameObject go = new GameObject();
                materialPQS          = go.AddComponent <MaterialPQS>();
                macroMat             = materialPQS.Apply(celestialBody, cityLightsMaterial, ShaderLoaderClass.FindShader("EVE/TerrainCityLight"), true, false);
                macroMat.name        = materialName;
                macroMat.renderQueue = (int)Tools.Queue.Geometry + 1;
            }
            Transform transform = Tools.GetScaledTransform(body);

            if (transform != null)
            {
                Renderer r = transform.GetComponent <Renderer>();
                if (r != null)
                {
                    scaledMat = new Material(ShaderLoaderClass.FindShader("EVE/PlanetCityLight"));

                    cityLightsMaterial.ApplyMaterialProperties(scaledMat);
                    scaledMat.SetTexture("_MainTex", r.material.GetTexture("_MainTex"));
                    scaledMat.name        = materialName;
                    scaledMat.renderQueue = (int)Tools.Queue.Geometry + 1;
                    OverlayRenderer.Add(r.gameObject, scaledMat);

                    ScaledCityComponent sc    = transform.gameObject.AddComponent <ScaledCityComponent>();
                    FieldInfo           field = typeof(Sun).GetFields(BindingFlags.Instance | BindingFlags.NonPublic).First(
                        f => f.Name == "scaledSunLight");
                    Light slight = (Light)field.GetValue(Sun.Instance);

                    sc.Apply(scaledMat, slight);
                }
            }


            LocalCityComponent lsc = FlightCamera.fetch.mainCamera.gameObject.AddComponent <LocalCityComponent>();
            Light light            = Sun.Instance.GetComponent <Light>();

            lsc.Apply(macroMat, light);

            ApplyToMainMenu();

            GameEvents.onGameSceneLoadRequested.Add(SceneLoaded);
            if (HighLogic.LoadedScene == GameScenes.MAINMENU)
            {
                ApplyToMainMenu();
            }
        }
예제 #8
0
        protected override void CreateTempComponent(EditableObject target)
        {
            RefreshVertexSculptSupport(target);
            if (!likelyToSupportVertexSculpt)
            {
                return;
            }

            OverlayRenderer ren = target.gameObjectAttached.AddComponent <OverlayRenderer>();

            ren.SetMesh(target.editMesh);

            ren.fullColor           = s_FullStrengthColor;
            ren.gradient            = s_BrushGradientColor;
            ren.vertexBillboardSize = s_VertexBillboardSize;

            tempComponent = ren;
        }
예제 #9
0
        protected virtual void Awake()
        {
            // Find the primary tile map
            List <Tilemap> maps = new List <Tilemap>();

            Camera.main.transform.parent.GetComponentsInChildren(maps);
            m_Tilemap     = maps.Find(map => map.name == "Tilemap");
            m_MapRenderer = m_Tilemap.GetComponent <MapRenderer>();

            // Find unit renderer
            List <UnitRenderer> unitRenderers = new List <UnitRenderer>();

            Camera.main.transform.parent.GetComponentsInChildren(unitRenderers);
            m_UnitRenderer = unitRenderers.Find(rend => rend.name == "Units");

            // Find overlay renderer
            m_OverlayRenderer = Camera.main.transform.parent.GetComponentInChildren <OverlayRenderer>(true);
        }
예제 #10
0
        /// <summary>
        /// Public constructor
        /// </summary>
        /// <param name="cartographer">Instance of the cartographer</param>
        /// <param name="eyetribeConnected">Whether an EyeTribe is connected</param>
        /// <param name="controllerConnected">Whether an Xbox 360 controller is connected</param>
        public MainWindow(Pose pose, ObstacleMap obstacleMap, ICartographer cartographer = null, INavigator nav = null, IDoorDetector doorDetector = null, OverlayRenderer overlayRenderer = null, bool eyetribeConnected = false, bool controllerConnected = false, SensorArray senorArray = null)
        {
            //Only done here because it is passed to this function
            Data.EyeTribeConnected = eyetribeConnected;
            Data.XboxConnected     = controllerConnected;
            Data.Cartographer      = cartographer;
            Data.Navigator         = nav;

            InitializeComponent();

            this.doorsControl.DoorDetector = doorDetector;

            this.CurrentPose             = pose;
            this.doorsControl.SensorInfo = senorArray;
            this.overlayRenderer         = overlayRenderer;
            this.NavigationTab.SetPose(this.CurrentPose);

            ConfigureOverlays();

            Input.Input.DeviceChanged += Input_DeviceChanged;
        }
예제 #11
0
        public static async Task ClientMessage(string aKey, string aValue)
        {
            switch (aKey)
            {
            case "RequestDocumentation":
                try
                {
                    string html = DocumentationRenderer.Render();
                    await SendMessage("UpdateDocumentation", html);
                }
                catch (Exception exception)
                {
                    string html = ExceptionRenderer.Render(exception);
                    await SendMessage("UpdateException", "Documentation:" + html);
                }
                break;

            case "RequestOverlay":
                try
                {
                    string html = OverlayRenderer.Render(aValue);
                    await SendMessage("UpdateOverlay", html);
                }
                catch (Exception exception)
                {
                    string html = ExceptionRenderer.Render(exception);
                    await SendMessage("UpdateException", "Overlay:" + html);
                }
                break;

            case "RequestBeatmapset":
                try
                {
                    LoadBeatmapSet(aValue);

                    Func <string, Task>[] actions = new Func <string, Task>[]
                    {
                        RequestSnapshots,
                        RequestChecks,
                        RequestOverview
                    };

                    if (State.LoadedBeatmapSetPath != aValue)
                    {
                        return;
                    }

                    Parallel.ForEach(actions, anAction =>
                    {
                        anAction(aValue);
                    });
                }
                catch (Exception exception)
                {
                    string html = ExceptionRenderer.Render(exception);
                    await SendMessage("UpdateException", "Checks:" + html);
                    await SendMessage("UpdateException", "Snapshots:" + html);
                    await SendMessage("UpdateException", "Overview:" + html);
                }

                break;

            default:
                break;
            }
        }
예제 #12
0
        static void Main()
        {
            //change the test file xml here and make sure it is in bin.
            string startingXMLFile = "ETRL_03_07.xml";
            //string startingXMLFile = "FloorPlanTest.xml";
            //string startingOpenFile = "Sloan46_FINAL.xml";
            double compassToMapOffset = 72.0;

            // List of all the objects we'll be initializing.
            // Default to null, as some of them will only
            // be initialized conditionally e.g.
            // vehicle is only initialized if
            // there is a vehicle connected.
            SerialPort        sp               = null;
            IVehicle          vehicle          = null;
            IImageStream      depthStream      = null;
            IImageStream      videoStream      = null;
            IObstacleDetector obstacleDetector = null;
            ICartographer     cartographer     = null;
            IOdometer         odometer         = null;
            IInputDevice      input            = KeyboardInput.Instance;
            ObstacleMap       obstacleMap      = null;
            INavigator        navigator        = null;
            MainWindow        mainWindow       = null;

            Driver.Driver            driver           = null;
            VisualInputGridPresenter uiInputPresenter = null;
            ObstacleGridPresenter    uiGridPresenter  = null;
            PositioningSystem        ips             = null;
            OverlayRenderer          overlayRenderer = null;
            SensorArray       sensorArray            = null;
            Pose              pose              = null;
            IDoorDetector     doorDetector      = null;
            ObstacleLocalizer obstacleLocalizer = null;
            SonarDetector     sonarDetector     = null;

            Config.Initialize();

            Devices.Initialize();
            //string wheelchair_com_port = Devices.IsWheelchairConnected();
            string wheelchair_com_port = "COM3";//Devices.FindComPort("Arduino Uno");
            bool   WheelChairConnected = false;

            if (wheelchair_com_port != "")
            {
                WheelChairConnected = true;
            }
            //bool WheelChairConnected = true;
            bool EyeTribeConnected   = true; // Devices.IsEyeTribeConnected();
            bool ControllerConnected = true; //Devices.IsControllerConnected();
            bool KinectConnected     = true; //Devices.IsKinectConnected();

            //Console.WriteLine("Kinect Connected: {0}", KinectConnected.ToString());
            //Console.WriteLine("Eyetribe Connected: {0}", EyeTribeConnected.ToString());
            //Console.WriteLine("Wheelchair Connected: {0}", WheelChairConnected.ToString());
            //Console.WriteLine("Controller Connected: {0}", ControllerConnected.ToString());

            // Initialize vehicle and serial connection if
            // there is a vehicle connected.

            if (WheelChairConnected)
            {
                //sp = new SerialPort(wheelchair_com_port, 9600);
                vehicle = Wheelchair.Instance(wheelchair_com_port);
                vehicle.initializeOffset(Properties.Settings.Default.CalibrationOffset);
            }
            else
            {
                vehicle = new MockVehicle();

                MockVehicleWindow mockDisplay = new MockVehicleWindow((MockVehicle)vehicle);
                mockDisplay.Show();
            }

            //initalize IPS here

            IByteReader sensorReader = null;

            try
            {
                //sensorReader = new SerialByteReader("Arduino Mega");
                sensorReader = new SerialByteReader("COM4");
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }

            if (sensorReader != null)
            {
                ILogger logger = new NullLogger();
                sensorArray   = new SensorArray(sensorReader, logger);
                sonarDetector = new SonarDetector();
            }
            else
            {
                sensorReader = new NullByteReader();

                ILogger logger = new NullLogger();
                sensorArray = new SensorArray(sensorReader, logger);
            }

            IByteReader byteReader = null;

            try
            {
                //byteReader = new SerialByteReader(Devices.FindComPort("STMicroelectronics"));
                byteReader = new SerialByteReader("COM3");
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }

            if (byteReader != null)
            {
                ILogger logger = new NullLogger();
                ips = new MarvelMind(byteReader, logger);
            }
            else
            {
                //Setup Mock IPS

                //IByteReader mockByteReader = new FileByteReader(@"C:\Users\Dana\Documents\Visual Studio 2013\Projects\UITests\UITests\Mock_IPS_Data.txt");
                //IByteReader mockByteReader = new XLineFixedYByteReader(800, 100, 200);
                IByteReader mockByteReader = new RandomByteReader(300, 299);
                ILogger     mockLogger     = new NullLogger();
                ips = new MarvelMind(mockByteReader, mockLogger);
            }

            //wait for an iteration of the IPS system that way
            //we can get the starting location
            while (false == ips.XUpdated && false == ips.YUpdated)
            {
                continue;
            }

            //Tuple<double, double> t = new Tuple<double, double>((double)ips.X, (double)ips.Y);
            Tuple <double, double> t    = new Tuple <double, double>((double)ips.Y, (double)ips.X);
            mPoint startingLocationInXY = new mPoint(t);

            // UI, input, object detection, navigation, and driver are initialized always,
            // as they are not directly dependent on external hardware.
            obstacleMap = new ObstacleMap();
            //cartographer = new Cartographer(Directory.GetCurrentDirectory() + @"\FloorPlanTest.xml", ips);

            // might need to be changed later. If the location is not in the starting room. add staring room.
            //cartographer = new Cartographer(Directory.GetCurrentDirectory() + @"\FloorPlanTest.xml", startingLocationInXY);

            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter = "XML | *.xml";
            ofd.Title  = "Open Map";
            if (ofd.ShowDialog() == true)
            {
                startingXMLFile = ofd.FileName;
                Console.WriteLine(startingXMLFile);
            }

            cartographer = new Cartographer(startingXMLFile, startingLocationInXY);
            pose         = new Pose(ips, cartographer.GetStartingRoom(), sensorArray.CompassDevice, compassToMapOffset);

            overlayRenderer = new OverlayRenderer();

            if (KinectConnected)
            {
                depthStream = DepthStream.Instance;
                videoStream = VideoStream.Instance;

                // Initialize depthstream if kinect is connected.
                obstacleDetector = new ObstacleDetector(depthStream, false);
                obstacleDetector.Start();

                obstacleLocalizer = new ObstacleLocalizer(pose);

                ObstaclesOverlay obstaclesOverlay = new ObstaclesOverlay(obstacleDetector);
                overlayRenderer.Overlays.Add(obstaclesOverlay);

                doorDetector = new DepthBasedDoorDetector();
                doorDetector.RunAsync(depthStream);

                try
                {
                    sonarDetector.RunAsync(sensorArray);
                }
                catch (Exception e)
                {
                }
            }

            // Obstacle detector and driver are only run
            // if both the vehicle and kinect are connected.
            if (vehicle != null && KinectConnected)
            {
                Vector startPoint    = new Vector(7 / 0.75f, 43 / 0.75f);
                Vector startRotation = new Vector(-7, -43);
                startRotation.Normalize();
                odometer = new Odometer();

                navigator = new Navigator(obstacleMap, obstacleDetector, obstacleLocalizer, cartographer, doorDetector, pose, sonarDetector, sensorArray);
                driver    = new Driver.Driver(input, vehicle, navigator);
                driver.Start();
            }

            mainWindow       = new MainWindow(pose, obstacleMap, cartographer, navigator, doorDetector, overlayRenderer, EyeTribeConnected, ControllerConnected, sensorArray);
            uiInputPresenter = new VisualInputGridPresenter(mainWindow.visualInputGrid);

            //This starts the program.
            Application app = new Application();

            app.ShutdownMode = ShutdownMode.OnMainWindowClose;
            app.MainWindow   = mainWindow;
            app.MainWindow.Show();
            app.Run();
        }