public DefaultActuator(Dictionary<string, Dictionary<string, CharacterActionInterface>> actions, CharacterAbstract character, string initialActionSet) { if (ActionSetValidator.validate(actions)) { actions_ = actions; } else { throw new InvalidActionSetException("This action set is invalid for the DefaultActuator"); } character_ = character; currentActionSet_ = initialActionSet; currentAction_ = actions_[currentActionSet_]["rest"]; currentAction_.update(); }
public void update() { Vector2 oldPos = character_.getPosition(); if (!currentAction_.isFinished()) { currentAction_.update(); } else { currentAction_ = actions_[currentActionSet_]["rest"]; currentAction_.update(); } character_.setVelocity(character_.getPosition() - oldPos); }