Ejemplo n.º 1
0
		public override bool FinishedLaunching (UIApplication app, NSDictionary options) {
			_window = new UIWindow (UIScreen.MainScreen.Bounds);
			_controller = new UIViewController ();
			_view = new iOSGameView (UIScreen.MainScreen.ApplicationFrame);
			_game = new Game (_view);
			_window.RootViewController = _controller;
			_controller.View = _view;

			_window.MakeKeyAndVisible ();

			return true;
		}
Ejemplo n.º 2
0
        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            _window     = new UIWindow(UIScreen.MainScreen.Bounds);
            _controller = new UIViewController();
            _view       = new iOSGameView(UIScreen.MainScreen.ApplicationFrame);
            _game       = new Game(_view);
            _window.RootViewController = _controller;
            _controller.View           = _view;

            _window.MakeKeyAndVisible();

            return(true);
        }
Ejemplo n.º 3
0
        internal void TouchesEnded(MonoTouch.Foundation.NSSet touches, MonoTouch.UIKit.UIEvent e, iOSGameView view)
        {
            UITouch [] touchesArray = touches.ToArray <UITouch>();
            foreach (UITouch touch in touchesArray)
            {
                var     point    = touch.LocationInView(touch.View);
                Vector2 location = new Vector2(point.X, point.Y);
                location = view.GetOffsetPosition(location, true);

                // Check where is the touch
                if (Visible)
                {
                    var oldItem = GetTouchesObject(touch);
                    if (oldItem == null)
                    {
                        continue;
                    }
                    if (oldItem is ButtonDefinition)
                    {
                        ButtonDefinition button = (ButtonDefinition)oldItem;
                        if (CheckButtonHit(button, location))
                        {
                            _buttons &= ~(int)button.Type;
                        }
                    }
                    else if (oldItem == _leftThumbDefinition)
                    {
                        LeftThumbStickDefinition.Offset = Vector2.Zero;
                        _leftStick = Vector2.Zero;
                    }
                    else if (oldItem == _rightThumbDefinition)
                    {
                        _rightThumbDefinition.Offset = Vector2.Zero;
                        _rightStick = Vector2.Zero;
                    }
                    RemoveTouch(touch);
                }
            }
            Reset();
        }
Ejemplo n.º 4
0
        internal void TouchesMoved(MonoTouch.Foundation.NSSet touches, MonoTouch.UIKit.UIEvent e, iOSGameView view)
        {
            UITouch [] touchesArray = touches.ToArray <UITouch>();
            foreach (UITouch touch in touchesArray)
            {
                var     point    = touch.LocationInView(touch.View);
                Vector2 location = new Vector2(point.X, point.Y);
                location = view.GetOffsetPosition(location, true);

                var oldItem = GetTouchesObject(touch);
                // Check if touch any button
                bool hitInButton = false;
                if (Visible)
                {
                    if (oldItem != null && oldItem is ButtonDefinition)
                    {
                        hitInButton |= UpdateButton((ButtonDefinition)oldItem, location);
                    }
                    if (!hitInButton)
                    {
                        foreach (ButtonDefinition button in _buttonsDefinitions)
                        {
                            hitInButton |= UpdateButton(button, location);
                            if (hitInButton)
                            {
                                UpdateTouch(touch, button);
                                continue;
                            }
                        }
                    }
                }

                if (!hitInButton)
                {
                    if (oldItem != null && oldItem == _leftThumbDefinition)
                    {
                        Vector2 movement = location - LeftThumbStickDefinition.InitialHit;
                        if (movement.X > 20)
                        {
                            movement.X = 20;
                        }
                        else if (movement.X < -20)
                        {
                            movement.X = -20;
                        }

                        if (movement.Y > 20)
                        {
                            movement.Y = 20;
                        }
                        else if (movement.Y < -20)
                        {
                            movement.Y = -20;
                        }
                        _leftThumbDefinition.Offset = movement;
                        _leftStick = new Vector2(movement.X / 20, movement.Y / -20);
                    }
                    else if (Visible && (_leftThumbDefinition != null) && (CheckThumbStickHit(_leftThumbDefinition, location)))
                    {
                        Vector2 movement = location - LeftThumbStickDefinition.InitialHit;

                        UpdateTouch(touch, _leftThumbDefinition);
                        LeftThumbStickDefinition.InitialHit = location;

                        // Keep the stick in the "hole"
                        float radius = (movement.X * movement.X) + (movement.Y * movement.Y);

                        if (radius <= _thumbStickRadius)
                        {
                            _leftThumbDefinition.Offset = movement;
                            _leftStick = new Vector2(movement.X / 20, movement.Y / -20);
                        }
                    }
                    else
                    {
                        // reset left thumbstick
                        if (_leftThumbDefinition != null)
                        {
                            _leftThumbDefinition.Offset = Vector2.Zero;
                            _leftStick = Vector2.Zero;
                        }


                        if (oldItem != null && oldItem == _rightThumbDefinition)
                        {
                            Vector2 movement = location - _rightThumbDefinition.InitialHit;
                            _rightThumbDefinition.Offset = movement;
                            _rightStick = new Vector2(movement.X / 20, movement.Y / -20);
                        }
                        else if (Visible && (_rightThumbDefinition != null) && (CheckThumbStickHit(_rightThumbDefinition, location)))
                        {
                            Vector2 movement = location - _rightThumbDefinition.InitialHit;

                            // Keep the stick in the "hole"
                            float radius = (movement.X * movement.X) + (movement.Y * movement.Y);
                            if (radius <= _thumbStickRadius)
                            {
                                _rightThumbDefinition.Offset = movement;
                                _rightStick = new Vector2(movement.X / 20, movement.Y / -20);
                            }
                        }
                        else
                        {
                            // reset right thumbstick
                            if (_rightThumbDefinition != null)
                            {
                                _rightThumbDefinition.Offset = Vector2.Zero;
                                _rightStick = Vector2.Zero;
                            }

                            // Handle the mouse
                            Mouse.State.X = (int)location.X;
                            Mouse.State.Y = (int)location.Y;
                        }
                    }
                }
            }
        }
Ejemplo n.º 5
0
        internal void TouchesBegan(MonoTouch.Foundation.NSSet touches, MonoTouch.UIKit.UIEvent e, iOSGameView view)
        {
            // Reset State
            //Reset();

            // Check where is the touch
            UITouch [] touchesArray = touches.ToArray <UITouch>();
            foreach (UITouch touch in touchesArray)
            {
                var     point    = touch.LocationInView(touch.View);
                Vector2 location = new Vector2(point.X, point.Y);
                location = view.GetOffsetPosition(location, true);

                // Check where is the touch
                bool hitInButton = false;

                if (Visible)
                {
                    foreach (ButtonDefinition button in _buttonsDefinitions)
                    {
                        hitInButton |= UpdateButton(button, location);
                        UpdateTouch(touch, button);
                    }
                }
                if (!hitInButton)
                {
                    // check the left thumbstick
                    if (Visible && (_leftThumbDefinition != null) && (CheckThumbStickHit(_leftThumbDefinition, location)))
                    {
                        _leftThumbDefinition.InitialHit = location;
                        UpdateTouch(touch, _leftThumbDefinition);
                    }
                    else
                    {
                        // check the right thumbstick
                        if (Visible && (_rightThumbDefinition != null) && (CheckThumbStickHit(_rightThumbDefinition, location)))
                        {
                            _rightThumbDefinition.InitialHit = location;
                            UpdateTouch(touch, _rightThumbDefinition);
                        }
                        else                                 // Handle mouse
                        {
                            Mouse.State.X = (int)location.X;
                            Mouse.State.Y = (int)location.Y;
                        }
                    }
                }
            }
        }