private async Task ShowCardAsync(EnumWhatStatus oldStatus) { switch (oldStatus) { case EnumWhatStatus.NeedChooseFirstCareer: case EnumWhatStatus.NeedNewCareer: await CloseCareerAsync(); await LoadShowCardAsync(); break; case EnumWhatStatus.NeedChooseHouse: case EnumWhatStatus.NeedSellHouse: case EnumWhatStatus.NeedSellBuyHouse: await CloseHouseAsync(); await LoadShowCardAsync(); break; case EnumWhatStatus.NeedReturnStock: await CloseReturnStockAsync(); await LoadShowCardAsync(); break; case EnumWhatStatus.NeedChooseStock: await CloseChooseStockAsync(); await LoadShowCardAsync(); break; case EnumWhatStatus.NeedChooseSalary: await CloseChooseSalaryAsync(); await LoadShowCardAsync(); break; //sometimes it shows up for a second. other times, only for a while. default: await LoadShowCardAsync(); //in this case, just show the card. break; } }
public ShowCardEventModel(EnumWhatStatus gameStatus) { GameStatus = gameStatus; }
private async void ChangeScreensAsync(EnumWhatStatus oldStatus) { //try to not worry about old status. //most likely, for some things, you have to manually close out. //best way to do so manually is via delegates. if (oldStatus == EnumWhatStatus.NeedTradeSalary) { await CloseTradeSalaryAsync(); } if (oldStatus == EnumWhatStatus.NeedStealTile) { await CloseStealTilesAsync(); } if (oldStatus == EnumWhatStatus.NeedChooseHouse || oldStatus == EnumWhatStatus.NeedSellBuyHouse || oldStatus == EnumWhatStatus.NeedSellHouse) { await CloseHouseAsync(); } switch (GameStatus) { case EnumWhatStatus.NeedChooseFirstOption: case EnumWhatStatus.NeedNight: //hopefully this is fine (?) case EnumWhatStatus.NeedToChooseSpace: case EnumWhatStatus.NeedChooseRetirement: case EnumWhatStatus.NeedToEndTurn: await CloseSpinnerAsync(); //hopefully this simple. break; case EnumWhatStatus.NeedChooseSalary: case EnumWhatStatus.NeedChooseStock: case EnumWhatStatus.NeedChooseFirstCareer: case EnumWhatStatus.NeedNewCareer: await CloseBoardAsync(); await CloseSpinnerAsync(); await CloseScoreAsync(); break; case EnumWhatStatus.NeedSellBuyHouse: //hint. no gameboard this time. await CloseScoreAsync(); break; case EnumWhatStatus.NeedSellHouse: case EnumWhatStatus.NeedFindSellPrice: //both require same parts. await CloseHouseAsync(); await CloseScoreAsync(); break; //hopefully can keep scoreboard even for tablets now. //if we find anything else, will put in there as well (?) case EnumWhatStatus.NeedTradeSalary: case EnumWhatStatus.NeedStealTile: await CloseSpinnerAsync(); break; default: break; } await LoadProperScreensAsync(); }