コード例 #1
0
        /// <summary>
        /// Creates a simple DefaultCommands.xml file in memory and passes it to Command.Register.
        /// Trigger types cannot be created directly here because we have no dependency to Input here.
        /// For better performance with MockResolver the same code is duplicated there, just faster.
        /// </summary>
        protected override void CreateDefault()
        {
            var exit = new XmlData("Command");

            exit.AddChild("KeyTrigger", "Escape");
            Command.Register(Command.Exit, ParseTriggers(exit));
            var click = new XmlData("Command");

            click.AddChild("KeyTrigger", "Space");
            click.AddChild("MouseButtonTrigger", "Left");
            click.AddChild("TouchPressTrigger", "");
            click.AddChild("GamePadButtonTrigger", "A");
            Command.Register(Command.Click, ParseTriggers(click));
            var middleClick = new XmlData("Command");

            middleClick.AddChild("MouseButtonTrigger", "Middle");
            Command.Register(Command.MiddleClick, ParseTriggers(middleClick));
            var rightClick = new XmlData("Command");

            rightClick.AddChild("MouseButtonTrigger", "Right");
            Command.Register(Command.RightClick, ParseTriggers(rightClick));
            var moveLeft = new XmlData("Command");

            moveLeft.AddChild("KeyTrigger", "CursorLeft Pressed");
            Command.Register(Command.MoveLeft, ParseTriggers(moveLeft));
            var moveRight = new XmlData("Command");

            moveRight.AddChild("KeyTrigger", "CursorRight Pressed");
            Command.Register(Command.MoveRight, ParseTriggers(moveRight));
            var moveUp = new XmlData("Command");

            moveUp.AddChild("KeyTrigger", "CursorUp Pressed");
            Command.Register(Command.MoveUp, ParseTriggers(moveUp));
            var moveDown = new XmlData("Command");

            moveDown.AddChild("KeyTrigger", "CursorDown Pressed");
            Command.Register(Command.MoveDown, ParseTriggers(moveDown));
            var moveDirectly = new XmlData("Command");

            moveDirectly.AddChild("KeyTrigger", "CursorLeft Pressed");
            moveDirectly.AddChild("KeyTrigger", "CursorRight Pressed");
            moveDirectly.AddChild("KeyTrigger", "CursorUp Pressed");
            moveDirectly.AddChild("KeyTrigger", "CursorDown Pressed");
            Command.Register(Command.MoveDirectly, ParseTriggers(moveDirectly));
            var rotateDirectly = new XmlData("Command");

            rotateDirectly.AddChild("MouseMovementTrigger", "");
            Command.Register(Command.RotateDirectly, ParseTriggers(rotateDirectly));
            var back = new XmlData("Command");

            back.AddChild("KeyTrigger", "Backspace Pressed");
            Command.Register(Command.Back, ParseTriggers(back));
            var drag = new XmlData("Command");

            drag.AddChild("MouseDragTrigger", "Left");
            Command.Register(Command.Drag, ParseTriggers(drag));
            var flick = new XmlData("Command");

            flick.AddChild("TouchFlickTrigger", "");
            Command.Register(Command.Flick, ParseTriggers(flick));
            var pinch = new XmlData("Command");

            pinch.AddChild("TouchPinchTrigger", "");
            Command.Register(Command.Pinch, ParseTriggers(pinch));
            var hold = new XmlData("Command");

            hold.AddChild("TouchHoldTrigger", "");
            Command.Register(Command.Hold, ParseTriggers(hold));
            var doubleClick = new XmlData("Command");

            doubleClick.AddChild("MouseDoubleClickTrigger", "Left");
            Command.Register(Command.DoubleClick, ParseTriggers(doubleClick));
            var rotate = new XmlData("Command");

            rotate.AddChild("TouchRotateTrigger", "");
            Command.Register(Command.Rotate, ParseTriggers(rotate));
            var zoom = new XmlData("Command");

            zoom.AddChild("MouseZoomTrigger", "");
            Command.Register(Command.Zoom, ParseTriggers(zoom));
        }
コード例 #2
0
 public bool RemoveChild(XmlData child)
 {
     return(Children.Remove(child));
 }
コード例 #3
0
 public XmlFile(string filePath)
 {
     using (var s = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
         Root = new XmlData(XDocument.Load(s).Root);
 }
コード例 #4
0
 public XmlFile(Stream fileStream)
 {
     Root = new XmlData(XDocument.Load(fileStream).Root);
 }
コード例 #5
0
 public XmlFile(XmlData xmlData)
 {
     Root = xmlData;
 }