/// <summary>
    /// Converts to KeyFunction
    /// All UserInputs are KeyFunctions so we don't need to worry about conversion
    /// </summary>
    /// <param name="value">UserInput to convert</param>
    /// <returns>Returns the corresponding KeyFunction</returns>
    public static KeyboardToEventHelper.KeyFunction InputToFunction(this Player.UserInput value)
    {
        switch (value)
        {
        case Player.UserInput.ATTACK:
            return(KeyboardToEventHelper.KeyFunction.ATTACK);

        case Player.UserInput.DASH:
            return(KeyboardToEventHelper.KeyFunction.DASH);

        case Player.UserInput.INTERACT:
            return(KeyboardToEventHelper.KeyFunction.INTERACT);

        case Player.UserInput.JUMP:
            return(KeyboardToEventHelper.KeyFunction.JUMP);

        case Player.UserInput.MOVEDOWN:
            return(KeyboardToEventHelper.KeyFunction.MOVEDOWN);

        case Player.UserInput.MOVELEFT:
            return(KeyboardToEventHelper.KeyFunction.MOVELEFT);

        case Player.UserInput.MOVERIGHT:
            return(KeyboardToEventHelper.KeyFunction.MOVERIGHT);

        case Player.UserInput.MOVEUP:
            return(KeyboardToEventHelper.KeyFunction.MOVEUP);

        default:
            return(KeyboardToEventHelper.KeyFunction.NONE);
        }
    }
Exemple #2
0
    /// <summary>
    /// Receiving a movement send it through a switch statement to figure out the dash dir
    /// </summary>
    private void MoveDir(Player.UserInput dir)
    {
        switch (dir)
        {
        case Player.UserInput.MOVEUP:
            dashDir += Vector2.up;
            //Incase swimming is also attached
            foreach (Movement m in GetComponents <Movement>())
            {
                m.StopMovement(false, true);
            }
            break;

        case Player.UserInput.MOVERIGHT:
            dashDir += Vector2.right;
            foreach (Movement m in GetComponents <Movement>())
            {
                m.StopMovement(true, false);
            }
            break;

        case Player.UserInput.MOVEDOWN:
            dashDir += Vector2.down;
            foreach (Movement m in GetComponents <Movement>())
            {
                m.StopMovement(false, true);
            }
            break;

        case Player.UserInput.MOVELEFT:
            dashDir += Vector2.left;
            foreach (Movement m in GetComponents <Movement>())
            {
                m.StopMovement(true, false);
            }
            break;

        default:
            return;
        }

        Debug.Log("Dash Direction set");
        if (dirDecisionFramesCount < dirDecisionFrames - 3)
        {
            dirDecisionFramesCount = dirDecisionFrames - 3;
        }
        else
        {
            dirSet = true;
            dirDecisionFramesCount = 0;
            if (GetComponent <CombatSystem>() != null)
            {
                GetComponent <CombatSystem>().SetInvinicbility(invincibilityFrames);
            }
        }
    }
Exemple #3
0
 /// <summary>
 /// Connects a KeyCode to a UserInput value and returns if it had to overwrite something
 /// </summary>
 /// <param name="KeyCode">The KeyCode to look for</param>
 /// <param name="UserInput">The type of user input to execute</param>
 /// <returns>Was a pre-existing value overwritten</returns>
 public bool StorePlayerData(KeyCode kc, Player.UserInput ui)
 {
     if (PlayControl.ContainsKey(kc))
     {
         PlayControl[kc] = ui;
         return(true);
     }
     else
     {
         PlayControl.Add(kc, ui);
         return(false);
     }
 }