Esempio n. 1
0
        bool joystick_ButtonReleased(JoyStickEvent arg, int button)
        {
            if (button.Equals(KeyMap.Instance.JoystickEscape))
            {
                CloseControlChangeWindow();
                return(false);
            }

            String langKey = GetLanguageKeyById(currentKeyId);

            // check for conflicts
            bool   noconflict = true;
            string property   = null;

            // keys
            if (langKey.Equals(LanguageKey.Engine))
            {
                property = "JoystickEngine";
            }
            if (langKey.Equals(LanguageKey.Gear))
            {
                property = "JoystickGear";
            }
            if (langKey.Equals(LanguageKey.Gun))
            {
                property = "JoystickGun";
            }
            if (langKey.Equals(LanguageKey.Bombs))
            {
                property = "JoystickRocket";
            }
            if (langKey.Equals(LanguageKey.Spin))
            {
                property = "JoystickSpin";
            }
            if (langKey.Equals(LanguageKey.Camera))
            {
                property = "JoystickCamera";
            }
            if (langKey.Equals(LanguageKey.BulletTimeEffect))
            {
                property = "JoystickBulletiTimeEffect";
            }
            if (langKey.Equals(LanguageKey.Back))
            {
                property = "JoystickEscape";
            }
            if (langKey.Equals(LanguageKey.OK))
            {
                property = "JoystickEnter";
            }

            if (property == null)
            {
                return(false);
            }

            String[] exceptions;


            if (!langKey.Equals(LanguageKey.OK) && !langKey.Equals(LanguageKey.Back))
            {
                exceptions = new String[] { "JoystickEscape", "JoystickEnter" };
            }
            else
            {
                exceptions = new String[] { "JoystickEscape", "JoystickEnter" };
            }


            if (!langKey.Equals(LanguageKey.Pitch) && !langKey.Equals(LanguageKey.AccelerateBreakTurn))
            {
                KeyMap.ClearOtherControlsWithSameKey(property, button, TypeOfControl.Joystick, exceptions);
                KeyMap.UpdateProperty(property, button, TypeOfControl.Joystick);
            }



            CloseControlChangeWindow();

            // notify parent to refresh
            if (onControlsChanged != null)
            {
                onControlsChanged();
            }
            return(true);
        }