// Intro private static ActionSequence InspectorAskToDrink(Entity inspector) { var incorrectDrinkConversation = new NoResponseConversation("Well.. this isn't right. I hope you do better when you serve him drinks.", DialogueOutcome.Default); var correctDrinkConversation = new NoResponseConversation("Mm, great drink. Make them like this and he'll be sure to slip up.", DialogueOutcome.Default); var sequence = new ActionSequence("InspectorAskToDrink"); sequence.Add(new ConversationAction(new InspectorAskToGetDrugPusherDrunk())); sequence.Add(DrinkOrders.GetRandomAlcoholicDrinkOrder(inspector, correctDrinkConversation: correctDrinkConversation, incorrectDrinkConversation: incorrectDrinkConversation)); sequence.Add(CommonActions.GoToSeat()); sequence.Add(CommonActions.SitDownLoop()); return(sequence); }
private static ActionSequence DrinkTest(int currentSuccesses, int maxSuccesses, Entity drinker, List <Conversation> failureConversations, List <Conversation> successConversations, List <GameAction> betweenDrinks, GameAction afterSuccess) { var sequence = new ActionSequence("DrinkTest: " + drinker); var drinkOrder = DrinkOrders.GetRandomAlcoholicDrinkOrderWithoutFailure(drinker); sequence.Add(new OnActionStatusDecorator( drinkOrder, () => { var successSequence = new ActionSequence("DrinkTestSuccess1: " + drinker); if (currentSuccesses + 1 == maxSuccesses) { successSequence.Add(new ClearConversationAction()); successSequence.Add(new EndDrinkOrderAction()); successSequence.Add(new ConversationAction(successConversations[currentSuccesses])); successSequence.Add(new ReleaseWaypointAction()); successSequence.Add(afterSuccess); } else { var nextDrinkTest = DrinkTest(currentSuccesses + 1, maxSuccesses, drinker, failureConversations, successConversations, betweenDrinks, afterSuccess); successSequence.Add(new ClearConversationAction()); successSequence.Add(new EndDrinkOrderAction()); successSequence.Add(new ConversationAction(successConversations[currentSuccesses])); successSequence.Add(new ReleaseWaypointAction()); successSequence.Add(betweenDrinks[currentSuccesses]); successSequence.Add(new DestoryEntityInInventoryAction()); successSequence.Add(new QueueForBarWithPriority(nextDrinkTest)); } ActionManagerSystem.Instance.AddActionToFrontOfQueueForEntity(drinker, successSequence); }, () => { var failureSequence = new ActionSequence("DrinkTestFail: " + currentSuccesses + " " + drinker); failureSequence.Add(new ClearConversationAction()); failureSequence.Add(new EndDrinkOrderAction()); failureSequence.Add(new ConversationAction(failureConversations[currentSuccesses])); failureSequence.Add(new DestoryEntityInInventoryAction()); failureSequence.Add(new ReleaseWaypointAction()); failureSequence.Add(new LeaveBarAction()); ActionManagerSystem.Instance.AddActionToFrontOfQueueForEntity(drinker, failureSequence); StaticStates.Get <PlayerDecisionsState>().NumberOfDrinksServedInDrugStory = currentSuccesses; } )); return(sequence); }
public List <DrinkOrders> GetDrinkOrders() { try { List <DrinkOrders> drinkorders = drinkorders_db.Db_Get_All_DrinkOrders(); return(drinkorders); } catch (Exception) { // something went wrong connecting to the database, so we will add a fake student to the list to make sure the rest of the application continues working! List <DrinkOrders> drinkorders = new List <DrinkOrders>(); DrinkOrders a = new DrinkOrders(); return(drinkorders); } }
public void AddDrinkOrder() { if (!CanAddDrinkOrder) { return; // for safety } if (DrinkOrders.Count == 10) { DrinkOrders.Clear(); // Reset at 10 drinks of any kind } var drink = new DrinkOrder(SelectedBeverage); DrinkOrders.Add(drink); SelectedDrinkOrder = drink; SetInebriationState(); ReadyForNewDrink(); }
private List <DrinkOrders> ReadTables(DataTable dataTable) { List <DrinkOrders> drinkorders = new List <DrinkOrders>(); foreach (DataRow dr in dataTable.Rows) { DrinkOrders order = new DrinkOrders() { DrinkName = (String)dr["DrinkName"], StudentId = (int)dr["StudentId"], Amount = (int)dr["Amount"], dateTime = (DateTime)dr["DateTime"] }; drinkorders.Add(order); } return(drinkorders); }
private void SetInebriationState() { var state = InebriationStates.Sober; var alkyDrinkCount = DrinkOrders.Count(d => d.Beverage.HasAlcohol); if (alkyDrinkCount > 5) { state = InebriationStates.Drunk; } else if (alkyDrinkCount > 3) { state = InebriationStates.Woozy; } else if (alkyDrinkCount > 1) { state = InebriationStates.Tipsy; } InebriationState = state; }
public static ActionSequence EllieAskForDrink(Entity ellie) { var incorrectDrinkConversation = new NoResponseConversation("This doesn't seem quite right. I'm sure you'll do better next time.", DialogueOutcome.Default); var correctDrinkConversation = new NoResponseConversation("Mm, delicious!.", DialogueOutcome.Default); var favoriteDrinkActions = new ActionSequence("Favorite drink received."); favoriteDrinkActions.Add(new ConversationAction(new FavoriteDrinkConversation())); favoriteDrinkActions.Add(new UpdateMoodAction(Mood.Happy)); var otherDrinkActions = new Dictionary <String, GameAction>() { { elliesFavoriteDrink, favoriteDrinkActions } }; var sequence = new ActionSequence("Ellie ask for drink."); sequence.Add(DrinkOrders.GetRandomAlcoholicDrinkOrder(ellie, correctDrinkConversation: correctDrinkConversation, incorrectDrinkConversation: incorrectDrinkConversation, otherDrinkActions: otherDrinkActions)); sequence.Add(CommonActions.GoToSeat()); sequence.Add(CommonActions.SitDownLoop()); return(sequence); }
/// <summary> /// Adds a new drink to rail if there's room, returns true if successful /// </summary> /// <param name="newOrder"></param> /// <returns></returns> public bool NewDrinkOrder(GameObject newOrder) { // if the list is not full if (isRailFull == false) { theRail.Add(newOrder); // add the order to the rail DrinkOrders ticket = newOrder.GetComponent <DrinkOrders>(); // add the DrinkOrder Component ticket.onRail = true; // set the ticket to onRail ticket.railPosition = theRail.IndexOf(newOrder); // Save the tickets rail position // Subscribe to rail change callback event if (railChangedCallback != null) { railChangedCallback.Invoke(); } return(true); } else { Debug.Log("Rail Full"); return(false); } }
public decimal GetBill() { return(FoodOrders.Sum(x => x.Price) + DrinkOrders.Sum(x => x.Price) + Price); }
public void OrderDrink(IDrink drink) { DrinkOrders.Add(drink); }
public void Omzet(DrinkOrders drink) { // omzet += afzet * drink.Price; /// ?? Price toevoegen aan database }
public void Afzet(DrinkOrders drink) { afzet += drink.Amount; }