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); }
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; }