void RaiseDoorChangedEvent(MazeDoor Door) { RoutedEventArgs newEventArgs = new RoutedEventArgs(Maze3DControl.DoorChangedEvent); newEventArgs.Source = Door; RaiseEvent(newEventArgs); }
public void ShowDoorCommand(Maze3D.MazeDoor Door) { string Action = "open"; if (Door.IsClosed) { Action = "close"; } lblMazeCommand.Text = $@"<command door=""{Door.Name}"" action=""{Action}"" />"; }
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); }
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); } }
private void Door_DoorChanged(object sender, RoutedEventArgs e) { MazeDoor Door = (MazeDoor)sender; RaiseDoorChangedEvent(Door); }