コード例 #1
0
ファイル: PlayerControl.cs プロジェクト: BoldBigflank/ld32
    void Start()
    {
        actions = new CursorActions();
        actions.Activate.AddDefaultBinding(keyActivate);
        actions.Left.AddDefaultBinding(keyLeft);
        actions.Right.AddDefaultBinding(keyRight);
        actions.Up.AddDefaultBinding(keyUp);
        actions.Down.AddDefaultBinding(keyDown);
        actions.Slow.AddDefaultBinding(keySlow);

        if (InputManager.Devices.Count > state.PlayerNumber)
        {
            actions.Device = InputManager.Devices[state.PlayerNumber - 1];
            actions.Activate.AddDefaultBinding(InputControlType.Action1);
            actions.Left.AddDefaultBinding(InputControlType.LeftStickLeft);
            actions.Left.AddDefaultBinding(InputControlType.DPadLeft);
            actions.Right.AddDefaultBinding(InputControlType.LeftStickRight);
            actions.Right.AddDefaultBinding(InputControlType.DPadRight);
            actions.Up.AddDefaultBinding(InputControlType.LeftStickUp);
            actions.Up.AddDefaultBinding(InputControlType.DPadUp);
            actions.Down.AddDefaultBinding(InputControlType.LeftStickDown);
            actions.Down.AddDefaultBinding(InputControlType.DPadDown);
            actions.Slow.AddDefaultBinding(InputControlType.Action2);
        }
        else
        {
            actions.Device = InputManager.ActiveDevice;
        }
    }
コード例 #2
0
    /// <summary>
    /// Main method 1; sets the cursor action
    /// </summary>
    /// <param name="action">Action.</param>
    public void PresentCursor(CursorActions action, GameObject target = null)
    {
        GridCursorControl.GridCursorIsActive = true;
        Vector3 clickPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        if (clickPosition.x > 0)
        {
            clickPosition.x += .5f;
        }
        if (clickPosition.y > 0)
        {
            clickPosition.y += .5f;
        }
        if (clickPosition.x < 0)
        {
            clickPosition.x -= .5f;
        }
        if (clickPosition.y < 0)
        {
            clickPosition.y -= .5f;
        }
        if (cursorActionSet == false |
            action != currentCursorAction |
            (int)(clickPosition.x) != currentCursorXPosition |
            (int)(clickPosition.y) != currentCursorYPosition)
        {
            currentCursorXPosition = (int)clickPosition.x;
            currentCursorYPosition = (int)clickPosition.y;
            if (Mathf.Abs(currentCursorXPosition) > 4 || Mathf.Abs(currentCursorYPosition) > 4)
            {
                return; // Beyond the grid boundaries
            }
            currentCursorTarget = target;
            S.ClickControlInst.lastCursorSetTime = Time.time;
            cursorActionSet     = true;
            currentCursorAction = action;
            S.GridCursorControlGUIInst.PresentCursor(action, currentCursorXPosition, currentCursorYPosition);
        }
    }
コード例 #3
0
 /// <summary>
 /// Main method 1; sets the cursor action
 /// </summary>
 /// <param name="action">Action.</param>
 public void PresentCursor(CursorActions action, GameObject target = null)
 {
     GridCursorControl.GridCursorIsActive = true;
     Vector3 clickPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
     if(clickPosition.x > 0) clickPosition.x += .5f;
     if(clickPosition.y > 0) clickPosition.y += .5f;
     if(clickPosition.x < 0) clickPosition.x -= .5f;
     if(clickPosition.y < 0) clickPosition.y -= .5f;
     if (cursorActionSet == false |
         action != currentCursorAction |
         (int)(clickPosition.x) != currentCursorXPosition |
         (int)(clickPosition.y) != currentCursorYPosition) {
         currentCursorXPosition = (int)clickPosition.x;
         currentCursorYPosition = (int)clickPosition.y;
         if (Mathf.Abs(currentCursorXPosition) > 4 || Mathf.Abs(currentCursorYPosition) > 4) {
             return; // Beyond the grid boundaries
         }
         currentCursorTarget = target;
         S.ClickControlInst.lastCursorSetTime = Time.time;
         cursorActionSet = true;
         currentCursorAction = action;
         S.GridCursorControlGUIInst.PresentCursor (action, currentCursorXPosition, currentCursorYPosition);
     }
 }