public void TradeShipTicket(Investigator previousOwner) { Investigator i1 = App.Model.tradeModel.investigator1; Investigator i2 = App.Model.tradeModel.investigator2; if (previousOwner.investigatorName == i1.investigatorName) { // investigator2 gains ticket i2.TradeShipTicket(true); // If now investigator2 has too many tickets, they give 1 back if (i2.shipTickets + i2.trainTickets > 2) { if (i2.shipTickets > 2) // Now have 3 Ship tickets, give 1 back { i2.TradeShipTicket(false); i1.TradeShipTicket(true); } else // Give back a Train Ticket { i2.TradeTrainTicket(false); i1.TradeTrainTicket(true); } } } else { // investigator1 gains ticket i1.TradeShipTicket(true); // If now investigator1 has too many tickets, they give 1 back if (i1.shipTickets + i1.trainTickets > 2) { if (i1.shipTickets > 2) // Now have 3 Ship tickets, give 1 back { i1.TradeShipTicket(false); i2.TradeShipTicket(true); } else // Give back a Train Ticket { i1.TradeTrainTicket(false); i2.TradeTrainTicket(true); } } } previousOwner.TradeShipTicket(false); App.View.tradeView.TradeMade(); }