Esempio n. 1
0
    public void Kick(long timestamp)
    {
        if (timestamp == lastKickTimestamp)
        {
            return;
        }

        if (currentState != KickStates.Kicking)
        {
            currentState      = KickStates.Kicking;
            target            = kickLimits.y;
            lastKickTimestamp = timestamp;
        }
    }
Esempio n. 2
0
    private void UpdateState()
    {
        if (Mathf.Approximately(GetCurrentAngle(), target))
        {
            switch (currentState)
            {
            case KickStates.Kicking:
                target       = kickLimits.x;
                currentState = KickStates.Retracting;
                break;

            case KickStates.Retracting:
                currentState = KickStates.Idle;
                break;

            default:
                break;
            }
        }
    }