public RoundStateFactory(IDeckShuffleService deckShuffleService, IRoundFactory roundFactory, ITurnStateFactory turnStateFactory, IDeckRemovalService deckRemovalService, ICardStateFactory cardStateFactory) { _deckShuffleService = deckShuffleService; _roundFactory = roundFactory; _turnStateFactory = turnStateFactory; _deckRemovalService = deckRemovalService; _cardStateFactory = cardStateFactory; }
private Dictionary <TurnStateEnum, ITurnState> InitStateMachine(ITurnStateFactory factory) { return(new Dictionary <TurnStateEnum, ITurnState>() { { TurnStateEnum.Start, factory.Get(TurnStateEnum.Start) }, { TurnStateEnum.FirstTurnSpellBuff, factory.Get(TurnStateEnum.FirstTurnSpellBuff) }, { TurnStateEnum.Action, factory.Get(TurnStateEnum.Action) }, { TurnStateEnum.ActionSurge, factory.Get(TurnStateEnum.ActionSurge) }, { TurnStateEnum.OffHandAttack, factory.Get(TurnStateEnum.OffHandAttack) }, { TurnStateEnum.End, factory.Get(TurnStateEnum.End) }, //TODO: error? }); }
public TurnStateMachine(ITurnStateFactory factory) { Assert.IsNotNull(factory); stateMachine = InitStateMachine(factory); currentState = stateMachine[TurnStateEnum.Start]; }