Пример #1
0
        void RaiseDoorChangedEvent(MazeDoor Door)
        {
            RoutedEventArgs newEventArgs = new RoutedEventArgs(Maze3DControl.DoorChangedEvent);

            newEventArgs.Source = Door;
            RaiseEvent(newEventArgs);
        }
Пример #2
0
        public void ShowDoorCommand(Maze3D.MazeDoor Door)
        {
            string Action = "open";

            if (Door.IsClosed)
            {
                Action = "close";
            }
            lblMazeCommand.Text = $@"<command door=""{Door.Name}"" action=""{Action}"" />";
        }
Пример #3
0
 private void Door_DoorChanged(object sender, RoutedEventArgs e)
 {
     Maze3D.MazeDoor Door = (Maze3D.MazeDoor)e.OriginalSource;
     if (Door.IsClosed)
     {
         Maze.CloseDoor(Door.Name);
     }
     else
     {
         Maze.OpenDoor(Door.Name);
     }
     ScriptEditor.ShowDoorCommand(Door);
 }
Пример #4
0
        public Maze3DControl()
        {
            InitializeComponent();
            //ModelVisual3D device3D = new ModelVisual3D();
            //device3D.Content = Display3d(MODEL_PATH);

            //device3D.SetName("maze");

            //viewPort3d.Children.Add(device3D);
            MazeDoor Door2 = new MazeDoor("DP1", -20, -37, 12);
            MazeDoor Door1 = new MazeDoor("DP2", 20, -37, 12);
            MazeDoor Door3 = new MazeDoor("DS1", -20, 39, 12);
            MazeDoor Door4 = new MazeDoor("DS2", 20, 39, 12);
            MazeDoor Door5 = new MazeDoor("DS0", 0, -15, 12, true);
            MazeDoor Door6 = new MazeDoor("DA1", -88, 20, 12, true);
            MazeDoor Door7 = new MazeDoor("DA2", 88, 20, 12, true);

            MazeSensor Sensor6 = new MazePathSensor("MA1", -88, 5, 5, true);
            MazeSensor Sensor7 = new MazePathSensor("MA2", 88, 5, 5, true);

            MazeSensor Sensor3 = new MazePathSensor("MS1", -40, 39, 5);
            MazeSensor Sensor4 = new MazePathSensor("MS2", 40, 39, 5);
            MazeSensor Sensor5 = new MazePathSensor("MS0", 0, 5, 5, true);

            MazeSensor Sensor2 = new MazePathSensor("MP1", -15, -37, 5);
            MazeSensor Sensor1 = new MazePathSensor("MP2", 15, -37, 5);

            MazeSensor Sensor8 = new MazeLickSensor("MF1", -98, 39, 5, true);
            MazeSensor Sensor9 = new MazeLickSensor("MF2", 98, 39, 5, true);

            MazePumpDial Dial1 = new MazePumpDial("FT1", -108, 36, 0);
            MazePumpDial Dial2 = new MazePumpDial("FT2", 108, 36, 0);

            viewPort3d.Children.Add(Door1);
            viewPort3d.Children.Add(Door2);
            viewPort3d.Children.Add(Door3);
            viewPort3d.Children.Add(Door4);
            viewPort3d.Children.Add(Door5);
            viewPort3d.Children.Add(Door6);
            viewPort3d.Children.Add(Door7);

            viewPort3d.Children.Add(Sensor1);
            viewPort3d.Children.Add(Sensor2);
            viewPort3d.Children.Add(Sensor3);
            viewPort3d.Children.Add(Sensor4);
            viewPort3d.Children.Add(Sensor5);
            viewPort3d.Children.Add(Sensor6);
            viewPort3d.Children.Add(Sensor7);
            viewPort3d.Children.Add(Sensor8);
            viewPort3d.Children.Add(Sensor9);

            viewPort3d.Children.Add(Dial1);
            viewPort3d.Children.Add(Dial2);

            //var Pinky = new MazeMouse(0, -45, 5, 180);
            //viewPort3d.Children.Add(Pinky);

            //Door.IsClosed = false;

            foreach (MazeDoor Door in MazeDoor.Doors.Values)
            {
                Door.DoorChanged += new RoutedEventHandler(Door_DoorChanged);
            }

            foreach (MazeSensor Sensor in MazeSensor.Sensors.Values)
            {
                Sensor.SensorChanged += new RoutedEventHandler(Sensor_SensorChanged);
            }

            foreach (MazePumpDial Dial in MazePumpDial.Dials.Values)
            {
                Dial.DialChanged += new RoutedEventHandler(Dial_DialChanged);
            }
        }
Пример #5
0
        private void Door_DoorChanged(object sender, RoutedEventArgs e)
        {
            MazeDoor Door = (MazeDoor)sender;

            RaiseDoorChangedEvent(Door);
        }