Exemple #1
0
    public StateSprites GetSprites(EntityState state)
    {
        StateSprites idle = null;

        foreach (var s in States)
        {
            if (s.State == state)
            {
                return(s);
            }

            if (s.State == EntityState.Idle)
            {
                idle = s;
            }
        }

        return(idle);
    }
Exemple #2
0
    private void ChangeState(EntityState state)
    {
        if (state == _state)
        {
            return;
        }
        OnStateChanged?.Invoke(state);
        var s = GetSprites(state);

        if (s == null)
        {
            _state        = state;
            _currentState = null;
            return;
        }

        _currentState  = s;
        _state         = state;
        _spriteTime    = s.FlipTime;
        _currentSprite = -1;
    }