Exemplo n.º 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            loadingScreen = new HouseBuilderLoading("Grundriss wird gespeichert");
            loadingScreen.ShowDialog(this);

            this.Visible       = false;
            this.Owner.Visible = true;
        }
Exemplo n.º 2
0
        private void button1_Click(object sender, EventArgs e)
        {
            //TODO: Implement Blueprint Loading and switch to Control Mode
            //MessageBox.Show("Es muss ein Grundriss erstellt werden, um die Wohnung zu steuern!");
            m_HouseControllLayer = new HouseControllLayer();

            HouseBuilderLoading loadingScreen = new HouseBuilderLoading("Grundriss wird geladen");

            loadingScreen.ShowDialog();

            this.Visible = false;
            m_HouseControllLayer.ShowDialog(this);
            //m_HouseControllLayer.Show(this);
        }
Exemplo n.º 3
0
        public bool RoomDeletion(Graphics _g, Point _p)
        {
            Room selectedRoom = null;

            foreach (Room roomInList in roomList)
            {
                if (roomInList.IsWall(_p))
                {
                    selectedRoom = roomInList;
                    break;
                }
                else
                {
                    Interior selectedItem = null;
                    foreach (Interior item in roomInList.Interior)
                    {
                        if (item.BoundingBox.Contains(_p))
                        {
                            selectedItem = item;
                        }
                    }
                    if (selectedItem != null)
                    {
                        if (!selectedItem.IsDoor)
                        {
                            loadingScreen = new HouseBuilderLoading("Verbindungen werden getrennt", 100000);
                            loadingScreen.ShowDialog();
                        }

                        roomInList.Interior.Remove(selectedItem);
                        return(true);
                    }
                }
            }

            if (selectedRoom != null)
            {
                if (selectedRoom.Interior.Count > 0)
                {
                    loadingScreen = new HouseBuilderLoading("Verbindungen werden getrennt", 100000);
                    loadingScreen.ShowDialog();
                }

                roomList.Remove(selectedRoom);
                RemoveRoom(selectedRoom, _g);
                return(true);
            }

            return(false);
        }
Exemplo n.º 4
0
        public string ConnectDevice(Graphics _g, Point _p)
        {
            foreach (Room roomInList in roomList)
            {
                foreach (Interior item in roomInList.Interior)
                {
                    if (item.BoundingBox.Contains(_p) && !item.IsConnected)
                    {
                        loadingScreen = new HouseBuilderLoading("Gerät wird verbunden");
                        loadingScreen.ShowDialog();

                        item.SwitchImage();
                        return("");
                    }
                }
            }

            return("Fehler: Es wurde kein defektes Gerät ausgewählt!");
        }
Exemplo n.º 5
0
        private string PlaceInterior(Graphics _g, Interior _i, Point _p, bool _connectionError)
        {
            foreach (Room roomInList in roomList)
            {
                if (roomInList.BoundingBox.Contains(_i.Position))
                {
                    if (CheckInteriorWallCollision(roomInList, _i))
                    {
                        return("Fehler: Objekte dürfen die Wände nicht schneiden!");
                    }

                    foreach (Interior item in roomInList.Interior)
                    {
                        if (CheckInteriorCollision(roomInList, item, _i, _p))
                        {
                            return("Fehler: Objekte dürfen sich nicht überschneiden!");
                        }
                    }

                    loadingScreen = new HouseBuilderLoading("Es wird nach Geräten gesucht", 125000);
                    loadingScreen.ShowDialog();

                    loadingScreen = new HouseBuilderLoading("Gerät wird verbunden");
                    loadingScreen.ShowDialog();

                    _g.DrawImage(_i.Image, _p);
#if DEBUG
                    _g.DrawRectangle(new Pen(Color.Red), _i.BoundingBox);
#endif
                    roomInList.AddInterior(_i);
                    if (_connectionError)
                    {
                        return("Fehler: Verbindung des Gerätes ist fehlgeschlagen! Benutzen sie das Stromkabel um das Gerät zu verbinden!");
                    }
                    else
                    {
                        return("");
                    }
                }
            }
            return("Fehler: Geräte müssen innerhalb von Räumen platziert werden");
        }