private static SimPlayerTurnContext GetCurrentContext(PlayerTurnContext context) { SimPlayerTurnContext currentContext = null; var stateManager = new SimStateManager(); if (context.State.GetType().Name == "StartRoundState") { var state = new SimStartRoundState(stateManager); currentContext = new SimPlayerTurnContext(state, context.TrumpCard, context.CardsLeftInDeck, context.FirstPlayerRoundPoints, context.SecondPlayerRoundPoints); } else if (context.State.GetType().Name == "TwoCardsLeftRoundState") { var state = new SimTwoCardsLeftRoundState(stateManager); currentContext = new SimPlayerTurnContext(state, context.TrumpCard, context.CardsLeftInDeck, context.FirstPlayerRoundPoints, context.SecondPlayerRoundPoints); } else if (context.State.GetType().Name == "MoreThanTwoCardsLeftRoundState") { var state = new SimMoreThanTwoCardsLeftRoundState(stateManager); currentContext = new SimPlayerTurnContext(state, context.TrumpCard, context.CardsLeftInDeck, context.FirstPlayerRoundPoints, context.SecondPlayerRoundPoints); } else if (context.State.GetType().Name == "FinalRoundState") { var state = new SimFinalRoundState(stateManager); currentContext = new SimPlayerTurnContext(state, context.TrumpCard, context.CardsLeftInDeck, context.FirstPlayerRoundPoints, context.SecondPlayerRoundPoints); } currentContext.FirstPlayedCard = context.FirstPlayedCard; currentContext.SecondPlayedCard = context.SecondPlayedCard; currentContext.FirstPlayerAnnounce = context.FirstPlayerAnnounce; return(currentContext); }
private static SimPlayerTurnContext GetCurrentContext(PlayerTurnContext context) { SimPlayerTurnContext currentContext = null; var stateManager = new SimStateManager(); if (context.State.GetType().Name == "StartRoundState") { var state = new SimStartRoundState(stateManager); currentContext = new SimPlayerTurnContext(state, context.TrumpCard, context.CardsLeftInDeck, context.FirstPlayerRoundPoints, context.SecondPlayerRoundPoints); } else if (context.State.GetType().Name == "TwoCardsLeftRoundState") { var state = new SimTwoCardsLeftRoundState(stateManager); currentContext = new SimPlayerTurnContext(state, context.TrumpCard, context.CardsLeftInDeck, context.FirstPlayerRoundPoints, context.SecondPlayerRoundPoints); } else if (context.State.GetType().Name == "MoreThanTwoCardsLeftRoundState") { var state = new SimMoreThanTwoCardsLeftRoundState(stateManager); currentContext = new SimPlayerTurnContext(state, context.TrumpCard, context.CardsLeftInDeck, context.FirstPlayerRoundPoints, context.SecondPlayerRoundPoints); } else if (context.State.GetType().Name == "FinalRoundState") { var state = new SimFinalRoundState(stateManager); currentContext = new SimPlayerTurnContext(state, context.TrumpCard, context.CardsLeftInDeck, context.FirstPlayerRoundPoints, context.SecondPlayerRoundPoints); } currentContext.FirstPlayedCard = context.FirstPlayedCard; currentContext.SecondPlayedCard = context.SecondPlayedCard; currentContext.FirstPlayerAnnounce = context.FirstPlayerAnnounce; return currentContext; }