コード例 #1
0
        /// <summary>
        /// Convert Unity EventModifiers to SFKeyModifiers bitfield
        /// </summary>
        /// <param name="unityModifiers">The EventModifiers from Unity for which to find the equivalent SFKeyModifiers for.</param>
        public static SFKeyModifiers.Modifiers GetSFModifiers(UnityEngine.EventModifiers unityModifiers)
        {
            SFKeyModifiers.Modifiers modifiers = SFKeyModifiers.Modifiers.Key_None;
            if ((unityModifiers & UnityEngine.EventModifiers.Shift) == UnityEngine.EventModifiers.Shift)
            {
                modifiers |= SFKeyModifiers.Modifiers.Key_ShiftPressed;
            }

            if ((unityModifiers & UnityEngine.EventModifiers.Control) == UnityEngine.EventModifiers.Control)
            {
                modifiers |= SFKeyModifiers.Modifiers.Key_CtrlPressed;
            }

            if ((unityModifiers & UnityEngine.EventModifiers.Alt) == UnityEngine.EventModifiers.Alt)
            {
                modifiers |= SFKeyModifiers.Modifiers.Key_AltPressed;
            }

            if ((unityModifiers & UnityEngine.EventModifiers.CapsLock) == UnityEngine.EventModifiers.CapsLock)
            {
                modifiers |= SFKeyModifiers.Modifiers.Key_CapsToggled;
            }

            if ((unityModifiers & UnityEngine.EventModifiers.Numeric) == UnityEngine.EventModifiers.Numeric)
            {
                modifiers |= SFKeyModifiers.Modifiers.Key_NumToggled;
            }

            return(modifiers);
        }
コード例 #2
0
 public bool HandleKeyEvent(SFKey.Code cd, SFKeyModifiers.Modifiers mod, UInt32 down, int keyboardIndex = 0)
 {
     if (MovieID == -1)
     {
         return(false);
     }
     if (AcceptKeyEvents())
     {
         return(SF_HandleKeyEvent(MovieID, cd, mod, down, keyboardIndex));
     }
     return(false);
 }
コード例 #3
0
        // Overload for handling keydown event from GamePad
        public bool HandleKeyDownEvent(SFKey.Code code, SFKeyModifiers.Modifiers mod = 0, int keyboardIndex = 0)
        {
            if (!IsSFInitialized())
            {
                return(false);
            }

            bool handled = false;

            for (int i = 0; i < SFMovieList.Count; i++) // Loop through List with for
            {
                if (SFMovieList[i].HandleKeyEvent(code, mod, 1, keyboardIndex))
                {
                    handled = true;
                }
            }
            return(handled);
        }
コード例 #4
0
        public bool HandleKeyUpEvent(UnityEngine.Event ev)
        {
            if (!IsSFInitialized())
            {
                return(false);
            }

            bool handled = false;

            SFKey.Code cd = SFKey.GetSFKeyCode(ev.keyCode);
            SFKeyModifiers.Modifiers modifiers = SFKey.GetSFModifiers(ev.modifiers);
            for (int i = 0; i < SFMovieList.Count; i++) // Loop through List with for
            {
                if (SFMovieList[i].HandleKeyEvent(cd, modifiers, 0))
                {
                    handled = true;
                }
            }
            return(handled);
        }
コード例 #5
0
 private static extern bool SF_HandleKeyEvent(long movieID, SFKey.Code cd, SFKeyModifiers.Modifiers mod, UInt32 down, int keyboardIndex);